log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
[gnulib.git] / ChangeLog
1 2012-03-10  Bruno Haible  <bruno@clisp.org>
2
3         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
4         * m4/log1p-ieee.m4: New file.
5         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
6         whether log1p works with a minus zero argument. Replace it if not.
7         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
8         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
9         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
10         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
11         (Depends-on): Update conditions.
12         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
13         m4/signbit.m4.
14         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
15         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
16
17         Tests for module 'log1pl-ieee'.
18         * modules/log1pl-ieee-tests: New file.
19         * tests/test-log1pl-ieee.c: New file.
20
21         New module 'log1pl-ieee'.
22         * modules/log1pl-ieee: New file.
23
24         Tests for module 'log1p-ieee'.
25         * modules/log1p-ieee-tests: New file.
26         * tests/test-log1p-ieee.c: New file.
27
28         New module 'log1p-ieee'.
29         * modules/log1p-ieee: New file.
30
31         Tests for module 'log1pf-ieee'.
32         * modules/log1pf-ieee-tests: New file.
33         * tests/test-log1pf-ieee.c: New file.
34         * tests/test-log1p-ieee.h: New file.
35
36         New module 'log1pf-ieee'.
37         * modules/log1pf-ieee: New file.
38
39 2012-03-10  Bruno Haible  <bruno@clisp.org>
40
41         Tests for module 'log1pl'.
42         * modules/log1pl-tests: New file.
43         * tests/test-log1pl.c: New file.
44
45         New module 'log1pl'.
46         * lib/math.in.h (log1pl): New declaration.
47         * lib/log1pl.c: New file.
48         * m4/log1pl.m4: New file.
49         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
50         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
51         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
52         * modules/log1pl: New file.
53         * tests/test-math-c++.cc: Check the declaration of log1pl.
54         * doc/posix-functions/log1pl.texi: Mention the new module.
55
56 2012-03-10  Bruno Haible  <bruno@clisp.org>
57
58         Tests for module 'log1pf'.
59         * modules/log1pf-tests: New file.
60         * tests/test-log1pf.c: New file.
61
62         New module 'log1pf'.
63         * lib/math.in.h (log1pf): New declaration.
64         * lib/log1pf.c: New file.
65         * m4/log1pf.m4: New file.
66         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
67         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
68         REPLACE_LOG1PF.
69         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
70         REPLACE_LOG1PF.
71         * modules/log1pf: New file.
72         * tests/test-math-c++.cc: Check the declaration of log1pf.
73         * doc/posix-functions/log1pf.texi: Mention the new module.
74
75 2012-03-10  Bruno Haible  <bruno@clisp.org>
76
77         log1p tests: More tests.
78         * tests/test-log1p.h: New file.
79         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
80         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
81         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
82         (main): Invoke test_function.
83
84         log1p: Provide replacement for Minix and MSVC.
85         * lib/math.in.h (log1p): New declaration.
86         * lib/log1p.c: New file.
87         * m4/log1p.m4: New file.
88         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
89         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
90         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
91         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
92         (Depends-on): Add math, isnand, log, round.
93         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
94         HAVE_LOG1P is 0.
95         * tests/test-math-c++.cc: Check the declaration of log1p.
96         * doc/posix-functions/log1p.texi: Mention the replacement.
97
98 2012-03-10  Bruno Haible  <bruno@clisp.org>
99
100         math tests: Small simplification.
101         * tests/test-exp.h (test_function): Use the same err_bound for
102         'double' on platforms with sizeof (long double) == sizeof (double)
103         than on platforms with sizeof (long double) > sizeof (double).
104         * tests/test-exp2.h (test_function): Likewise.
105         * tests/test-expm1.h (test_function): Likewise.
106         * tests/test-log.h (test_function): Likewise.
107
108 2012-03-10  Bruno Haible  <bruno@clisp.org>
109
110         Fix some comments.
111         * lib/expl.c: Fix an ambiguous comment.
112         * lib/expm1.c: Likewise.
113         * lib/expm1l.c: Likewise.
114         * lib/exp2.c: Likewise.
115         * lib/exp2l.c: Likewise.
116
117 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
118
119         regex: allow inclusion of <regex.h> before <limits.h>
120         Without this patch, portable programs had to include <limits.h> before
121         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
122         I ran into this problem with a test version of GNU grep on Solaris 8.
123         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
124         This is done conditionally so that this change can be merged
125         back to glibc.
126         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
127         using the included regex.
128
129         fts: depend on fdopendir
130         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
131         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
132         problem was introduced when fdopendir was split out.
133
134 2012-03-10  Bruno Haible  <bruno@clisp.org>
135
136         Remove unused variables.
137         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
138         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
139
140 2012-03-10  Bruno Haible  <bruno@clisp.org>
141
142         isnanf-nolibm: Fix last commit.
143         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
144
145         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
146         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
147
148 2012-03-10  Bruno Haible  <bruno@clisp.org>
149
150         logf-ieee: Work around test failure on NetBSD 5.1.
151         * m4/logf-ieee.m4: New file.
152         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
153         whether logf works with a negative argument. Replace it if not.
154         * lib/logf.c (logf): For negative arguments, return NaN.
155         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
156         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
157         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
158
159         logf-ieee: Work around test failure on Solaris 9.
160         * modules/logf-ieee (Depends-on): Add log-ieee.
161         (configure.ac): Require gl_FUNC_LOGF.
162
163         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
164         * m4/log-ieee.m4: New file.
165         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
166         log works with a negative argument. Replace it if not.
167         * lib/log.c (log): For negative arguments, return NaN.
168         * modules/log-ieee (Files): Add m4/log-ieee.m4.
169         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
170         * doc/posix-functions/log.texi: Mention the log-ieee module.
171
172         Tests for module 'logl-ieee'.
173         * modules/logl-ieee-tests: New file.
174         * tests/test-logl-ieee.c: New file.
175
176         New module 'logl-ieee'.
177         * modules/logl-ieee: New file.
178
179         Tests for module 'log-ieee'.
180         * modules/log-ieee-tests: New file.
181         * tests/test-log-ieee.c: New file.
182
183         New module 'log-ieee'.
184         * modules/log-ieee: New file.
185
186         Tests for module 'logf-ieee'.
187         * modules/logf-ieee-tests: New file.
188         * tests/test-logf-ieee.c: New file.
189         * tests/test-log-ieee.h: New file.
190
191         New module 'logf-ieee'.
192         * modules/logf-ieee: New file.
193
194 2012-03-10  Bruno Haible  <bruno@clisp.org>
195
196         log: Fix bug introduced on 2012-03-09.
197         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
198
199 2012-03-10  Pádraig Brady  <P@draigBrady.com>
200
201         timer-time: link explicitly with pthreads on glibc
202         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
203         to support static linking, when newer glibc is
204         detected, as that contains pthread emulation of
205         POSIX timer functions where required.
206         * modules/timer-time: Depend on threadlib to
207         pull in the appropriate library to link.
208
209 2012-03-10  Bruno Haible  <bruno@clisp.org>
210
211         log* tests: More tests.
212         * tests/test-log.h: New file.
213         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
214         (main): Invoke test_function.
215         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
216         (main): Invoke test_function.
217         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
218         (main): Invoke test_function.
219         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
220         tests/randomd.c.
221         (Makefile.am): Add randomd.c to test_log_SOURCES.
222         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
223         tests/randomf.c.
224         (Makefile.am): Add randomf.c to test_logf_SOURCES.
225         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
226         tests/randoml.c.
227         (Depends-on): Add 'float'.
228         (Makefile.am): Add randoml.c to test_logl_SOURCES.
229
230 2012-03-09  Bruno Haible  <bruno@clisp.org>
231
232         logl: Work around OSF/1 5.1 bug.
233         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
234         * lib/logl.c (logl): If logf exists, use it and provide just the
235         workaround.
236         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
237         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
238         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
239         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
240         * modules/logl (configure.ac): Consider REPLACE_LOGL.
241         (Depends-on): Update conditions.
242         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
243
244 2012-03-09  Bruno Haible  <bruno@clisp.org>
245
246         logf: Work around OSF/1 5.1 bug.
247         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
248         * lib/logf.c (logf): If logf exists, use it and provide just the
249         workaround.
250         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
251         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
253         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
254         * modules/logf (configure.ac): Consider REPLACE_LOGF.
255         (Depends-on): Update conditions.
256         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
257
258 2012-03-09  Bruno Haible  <bruno@clisp.org>
259
260         log: Work around OSF/1 5.1 bug.
261         * lib/math.in.h (log): New declaration.
262         * lib/log.c: New file.
263         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
264         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
265         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
266         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
267         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
268         * modules/log (Files): Add lib/log.c.
269         (Depends-on): Add math.
270         (configure.ac): If REPLACE_LOG is 1, compile an override.
271         * tests/test-math-c++.cc: Check the declaration of log.
272         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
273
274 2012-03-09  Jim Meyering  <meyering@redhat.com>
275
276         readtokens.c: adjust wording in a comment
277         * lib/readtokens.c: Insert omitted "that" in a comment.
278
279 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
280
281         modechange: add notations +40, 00440, etc.
282         * lib/modechange.c (mode_compile): Support new notations
283         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
284
285 2012-03-08  Bruno Haible  <bruno@clisp.org>
286
287         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
288         * m4/exp2l-ieee.m4: New file.
289         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
290         test whether exp2l works with a NaN argument and with a negative
291         infinity argument. Replace it if not.
292         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
294         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
295         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
296         (Depends-on): Update conditions.
297         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
298         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
299         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
300
301         Tests for module 'exp2l-ieee'.
302         * modules/exp2l-ieee-tests: New file.
303         * tests/test-exp2l-ieee.c: New file.
304
305         New module 'exp2l-ieee'.
306         * modules/exp2l-ieee: New file.
307
308         Tests for module 'exp2-ieee'.
309         * modules/exp2-ieee-tests: New file.
310         * tests/test-exp2-ieee.c: New file.
311
312         New module 'exp2-ieee'.
313         * modules/exp2-ieee: New file.
314
315         Tests for module 'exp2f-ieee'.
316         * modules/exp2f-ieee-tests: New file.
317         * tests/test-exp2f-ieee.c: New file.
318         * tests/test-exp2-ieee.h: New file.
319
320         New module 'exp2f-ieee'.
321         * modules/exp2f-ieee: New file.
322
323 2012-03-08  Bruno Haible  <bruno@clisp.org>
324
325         Tests for module 'exp2l'.
326         * modules/exp2l-tests: New file.
327         * tests/test-exp2l.c: New file.
328
329         New module 'exp2l'.
330         * lib/math.in.h (exp2l): New declaration.
331         * lib/exp2l.c: New file.
332         * lib/expl-table.c: New file, extracted from lib/expl.c.
333         * lib/expl.c (gl_expl_table): New declaration.
334         (expl): Remove expl_table. Update reference.
335         * m4/exp2l.m4: New file.
336         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
337         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
338         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
339         * modules/exp2l: New file.
340         * modules/expl (Files): Add lib/expl-table.c.
341         (configure.ac): Compile also expl-table.c.
342         * tests/test-math-c++.cc: Check the declaration of exp2l.
343         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
344         problem.
345
346 2012-03-08  Bruno Haible  <bruno@clisp.org>
347
348         Tests for module 'exp2f'.
349         * modules/exp2f-tests: New file.
350         * tests/test-exp2f.c: New file.
351
352         New module 'exp2f'.
353         * lib/math.in.h (exp2f): New declaration.
354         * lib/exp2f.c: New file.
355         * m4/exp2f.m4: New file.
356         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
357         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
358         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
359         * modules/exp2f: New file.
360         * tests/test-math-c++.cc: Check the declaration of exp2f.
361         * doc/posix-functions/exp2f.texi: Mention the new module and the
362         IRIX problem.
363
364 2012-03-08  Bruno Haible  <bruno@clisp.org>
365
366         Tests for module 'exp2'.
367         * modules/exp2-tests: New file.
368         * tests/test-exp2.c: New file.
369         * tests/test-exp2.h: New file.
370
371         New module 'exp2'.
372         * lib/math.in.h (exp2): New declaration.
373         * lib/exp2.c: New file.
374         * m4/exp2.m4: New file.
375         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
377         REPLACE_EXP2.
378         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
379         REPLACE_EXP2.
380         * modules/exp2: New file.
381         * tests/test-math-c++.cc: Check the declaration of exp2.
382         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
383         and OpenBSD problems.
384
385 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
386
387         savedir: fix comment typo
388         * lib/savedir.c (savedirstream): Fix typo in comment.
389
390 2012-03-08  Bruno Haible  <bruno@clisp.org>
391
392         test-readtokens.c: use const; remove unwarranted cast
393         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
394
395 2012-03-08  Bruno Haible  <bruno@clisp.org>
396
397         fmal: Avoid compilation error on AIX.
398         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
399         AIX 5.2..7.1.
400
401 2012-03-08  Bruno Haible  <bruno@clisp.org>
402
403         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
404         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
405         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
406         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
407         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
408         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
409         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
410
411 2012-03-08  Bruno Haible  <bruno@clisp.org>
412
413         remainderf: Override buggy system function on IRIX 6.5.
414         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
415         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
416         when it exists.
417         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
418
419 2012-03-08  Jim Meyering  <meyering@redhat.com>
420
421         test-readtokens.c: avoid const-related compilation warnings
422         * tests/test-readtokens.c: Avoid const-related compilation warnings.
423
424 2012-03-07  Jim Meyering  <meyering@redhat.com>
425             Bruno Haible  <bruno@clisp.org>
426
427         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
428         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
429         tests/randomd.c.
430         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
431         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
432         tests/randoml.c.
433         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
434
435 2012-03-07  Bruno Haible  <bruno@clisp.org>
436
437         expm1l: Avoid compilation error on AIX.
438         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
439         AIX 5.2..7.1.
440
441 2012-03-07  Bruno Haible  <bruno@clisp.org>
442
443         expm1l: Don't override undeclared system function on IRIX 6.5.
444         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
445         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
446         it exists. Set HAVE_DECL_EXPM1L.
447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
448         HAVE_EXPM1L.
449         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
450         HAVE_EXPM1L.
451         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
452
453 2012-03-07  Bruno Haible  <bruno@clisp.org>
454
455         remainderl: Don't override undeclared system function on IRIX 6.5.
456         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
457         HAVE_REMAINDERL.
458         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
459         declared when it exists. Set HAVE_DECL_REMAINDERL.
460         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
461         not HAVE_REMAINDERL.
462         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
463         HAVE_REMAINDERL.
464         * doc/posix-functions/remainderl.texi: Mention missing declaration
465         problem.
466
467 2012-03-07  Bruno Haible  <bruno@clisp.org>
468
469         rintf: Don't override undeclared system function on IRIX 6.5.
470         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
471         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
472         exists. Set HAVE_DECL_RINTF.
473         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
474         HAVE_RINTF.
475         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
476         HAVE_RINTF.
477         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
478
479 2012-03-07  Bruno Haible  <bruno@clisp.org>
480
481         roundl: Avoid compilation error on AIX.
482         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
483         AIX 5.2..7.1.
484
485 2012-03-07  Bruno Haible  <bruno@clisp.org>
486
487         roundl: Don't override undeclared system function on IRIX 6.5.
488         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
489         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
490         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
491         * modules/roundl (configure.ac): For replacement code, test
492         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
493         (Depends-on): Update conditions.
494         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
495
496 2012-03-07  Bruno Haible  <bruno@clisp.org>
497
498         roundf: Don't override undeclared system function on IRIX 6.5.
499         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
500         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
501         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
502         * modules/roundf (configure.ac): For replacement code, test
503         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
504         (Depends-on): Update conditions.
505         * modules/roundf-ieee (Depends-on): Update conditions.
506         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
507
508 2012-03-07  Bruno Haible  <bruno@clisp.org>
509
510         round: Don't override undeclared system function on IRIX 6.5.
511         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
512         argument.
513         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
514         also when it is not declared. Set HAVE_ROUND. For replacement code,
515         test HAVE_ROUND, not HAVE_DECL_ROUND.
516         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
517         not HAVE_DECL_ROUND.
518         (Depends-on): Update conditions.
519         * modules/round-ieee (Depends-on): Update conditions.
520         * doc/posix-functions/round.texi: Mention the IRIX problem.
521
522 2012-03-07  Bruno Haible  <bruno@clisp.org>
523
524         copysignf: Don't override undeclared system function on IRIX 6.5.
525         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
526         HAVE_COPYSIGNF.
527         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
528         declared when it exists. Set HAVE_DECL_COPYSIGNF.
529         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
530         not HAVE_COPYSIGNF.
531         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
532         HAVE_COPYSIGNF.
533         * doc/posix-functions/copysignf.texi: Mention missing declaration
534         problem.
535
536 2012-03-07  Jim Meyering  <meyering@redhat.com>
537
538         readtokens: add tests
539         * modules/readtokens-tests: New file.
540         * tests/test-readtokens.c: New file.
541
542 2012-03-07  Jim Meyering  <meyering@redhat.com>
543
544         quotearg: the module must now include quote.h
545         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
546         So must the module.
547         * modules/quotearg (Files): Add quote.h.
548
549 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
550
551         readtokens: avoid core dumps with unusual calling patterns
552         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
553         * lib/readtokens.c: Include limits.h.
554         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
555         (readtoken): Don't cache the delimiters; the cache code was buggy
556         if !delim && saved_delim, or if the new n_delim differs from the old.
557         Also, it wasn't thread-safe.
558
559 2012-03-07  Bruno Haible  <bruno@clisp.org>
560
561         quote: Adhere to common module description layout.
562         * modules/quote (Makefile.am): Add back empty section.
563
564 2012-03-06  Akim Demaille  <demaille@gostai.com>
565
566         quote: fuse into quotearg
567         This patch is made for the benefit of Bison.
568         quote does not leave the choice of the quoting style to the user.
569         quoting_style provides poor customizability, yet quoting_options,
570         which is very rich, is hidden inside quotearg.c.  So in order to
571         allow quote customization, move its implementation to quotearg.c.
572         * lib/quote.c: Remove.
573         * modules/quote: Adjust.
574         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
575         warning: provide all the members of literal structs.
576         (quote_quoting_options): New.
577         (quote, quote_n): Import implementation from quote.c.
578         * lib/quote.h: Import the comments from quote.c.
579         (quote_quoting_options): New.
580
581 2012-03-06  Bruno Haible  <bruno@clisp.org>
582
583         Tests for module 'expm1l-ieee'.
584         * modules/expm1l-ieee-tests: New file.
585         * tests/test-expm1l-ieee.c: New file.
586
587         New module 'expm1l-ieee'.
588         * modules/expm1l-ieee: New file.
589
590         Tests for module 'expm1f-ieee'.
591         * modules/expm1f-ieee-tests: New file.
592         * tests/test-expm1f-ieee.c: New file.
593
594         New module 'expm1f-ieee'.
595         * modules/expm1f-ieee: New file.
596
597         Tests for module 'expm1-ieee'.
598         * modules/expm1-ieee-tests: New file.
599         * tests/test-expm1-ieee.c: New file.
600         * tests/test-expm1-ieee.h: New file.
601
602         New module 'expm1-ieee'.
603         * modules/expm1-ieee: New file.
604         * m4/expm1-ieee.m4: New file.
605         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
606         whether expm1 works with a minus zero argument. Replace it if not.
607         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
608         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
609         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
610         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
611         (Depends-on): Update conditions.
612         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
613         AIX problem.
614
615 2012-03-06  Bruno Haible  <bruno@clisp.org>
616
617         Work around expm1f bug on IRIX 6.5.
618         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
619         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
620         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
621         not work.
622         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
623         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
624         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
625         (Depends-on): Update conditions.
626         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
627
628 2012-03-06  Bruno Haible  <bruno@clisp.org>
629
630         Tests for module 'expm1l'.
631         * modules/expm1l-tests: New file.
632         * tests/test-expm1l.c: New file.
633
634         New module 'expm1l'.
635         * lib/math.in.h (expm1l): New declaration.
636         * lib/expm1l.c: New file.
637         * m4/expm1l.m4: New file.
638         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
639         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
640         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
641         * modules/expm1l: New file.
642         * tests/test-math-c++.cc: Check the declaration of expm1l.
643         * doc/posix-functions/expm1l.texi: Mention the new module.
644
645 2012-03-06  Bruno Haible  <bruno@clisp.org>
646
647         Tests for module 'expm1f'.
648         * modules/expm1f-tests: New file.
649         * tests/test-expm1f.c: New file.
650
651         New module 'expm1f'.
652         * lib/math.in.h (expm1f): New declaration.
653         * lib/expm1f.c: New file.
654         * m4/expm1f.m4: New file.
655         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
656         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
657         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
658         * modules/expm1f: New file.
659         * tests/test-math-c++.cc: Check the declaration of expm1f.
660         * doc/posix-functions/expm1f.texi: Mention the new module.
661
662 2012-03-06  Bruno Haible  <bruno@clisp.org>
663
664         Tests for module 'expm1'.
665         * modules/expm1-tests: New file.
666         * tests/test-expm1.c: New file.
667         * tests/test-expm1.h: New file.
668
669         New module 'expm1'.
670         * lib/math.in.h (expm1): New declaration.
671         * lib/expm1.c: New file.
672         * m4/expm1.m4: New file.
673         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
674         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
675         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
676         * modules/expm1: New file.
677         * tests/test-math-c++.cc: Check the declaration of expm1.
678         * doc/posix-functions/expm1.texi: Mention the new module.
679
680 2012-03-06  Bruno Haible  <bruno@clisp.org>
681
682         math: Ensure declarations of math functions.
683         * modules/acosf (Depends-on): Add 'extensions'.
684         * modules/asinf (Depends-on): Likewise.
685         * modules/atan2f (Depends-on): Likewise.
686         * modules/atanf (Depends-on): Likewise.
687         * modules/cbrt (Depends-on): Likewise.
688         * modules/cbrtf (Depends-on): Likewise.
689         * modules/cbrtl (Depends-on): Likewise.
690         * modules/copysignf (Depends-on): Likewise.
691         * modules/copysignl (Depends-on): Likewise.
692         * modules/cosf (Depends-on): Likewise.
693         * modules/coshf (Depends-on): Likewise.
694         * modules/expf (Depends-on): Likewise.
695         * modules/fabsf (Depends-on): Likewise.
696         * modules/fabsl (Depends-on): Likewise.
697         * modules/fmaf (Depends-on): Likewise.
698         * modules/fmal (Depends-on): Likewise.
699         * modules/fmodf (Depends-on): Likewise.
700         * modules/fmodl (Depends-on): Likewise.
701         * modules/frexpf (Depends-on): Likewise.
702         * modules/frexpl (Depends-on): Likewise.
703         * modules/hypot (Depends-on): Likewise.
704         * modules/hypotf (Depends-on): Likewise.
705         * modules/hypotl (Depends-on): Likewise.
706         * modules/ldexpf (Depends-on): Likewise.
707         * modules/ldexpl (Depends-on): Likewise.
708         * modules/log10f (Depends-on): Likewise.
709         * modules/log10l (Depends-on): Likewise.
710         * modules/log1p (Depends-on): Likewise.
711         * modules/logb (Depends-on): Likewise.
712         * modules/logf (Depends-on): Likewise.
713         * modules/modff (Depends-on): Likewise.
714         * modules/modfl (Depends-on): Likewise.
715         * modules/powf (Depends-on): Likewise.
716         * modules/remainderf (Depends-on): Likewise.
717         * modules/remainderl (Depends-on): Likewise.
718         * modules/rintf (Depends-on): Likewise.
719         * modules/rintl (Depends-on): Likewise.
720         * modules/sinf (Depends-on): Likewise.
721         * modules/sinhf (Depends-on): Likewise.
722         * modules/sqrtf (Depends-on): Likewise.
723         * modules/tanf (Depends-on): Likewise.
724         * modules/tanhf (Depends-on): Likewise.
725         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
726         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
727         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
728         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
729         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
730         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
731         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
732         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
733         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
734         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
735         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
736         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
737         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
738         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
739         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
740         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
741         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
742         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
743         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
744         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
745         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
746         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
747         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
748         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
749         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
750         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
751         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
752         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
753         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
754         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
755         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
756         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
757         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
758         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
759         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
760         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
761         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
762         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
763         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
764         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
765         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
766
767 2012-03-06  Bruno Haible  <bruno@clisp.org>
768
769         math: Update module names in warnings.
770         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
771         tanl): Use specific module name in warn-on-use warning.
772
773 2012-03-06  Bruno Haible  <bruno@clisp.org>
774
775         expl: Simplify computation.
776         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
777
778 2012-03-05  Bruno Haible  <bruno@clisp.org>
779
780         exp* tests: More tests.
781         * tests/test-exp.h: New file.
782         * tests/test-exp.c: Include <float.h> and test-exp.h.
783         (main): Invoke test_function.
784         * tests/test-expf.c: Include <float.h> and test-exp.h.
785         (main): Invoke test_function.
786         * tests/test-expl.c: Include <float.h> and test-exp.h.
787         (main): Invoke test_function.
788         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
789         (Makefile.am): Add randomd.c to test_exp_SOURCES.
790         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
791         (Makefile.am): Add randomf.c to test_expf_SOURCES.
792         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
793         (Depends-on): Add 'float'.
794         (Makefile.am): Add randoml.c to test_expl_SOURCES.
795
796         expl: Fix precision of computed result.
797         * lib/expl.c: Completely rewritten.
798         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
799         (Maintainer): Add me.
800         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
801
802 2012-03-05  Bruno Haible  <bruno@clisp.org>
803
804         cbrt* tests: More tests.
805         * tests/test-cbrt.h: New file.
806         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
807         (main): Invoke test_function.
808         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
809         (main): Invoke test_function.
810         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
811         (main): Invoke test_function.
812         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
813         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
814         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
815         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
816         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
817         (Depends-on): Add 'float'.
818         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
819
820 2012-03-05  Bruno Haible  <bruno@clisp.org>
821
822         hypot* tests: More tests.
823         * tests/test-hypot.h: New file, partially extracted from
824         tests/test-hypotl.c.
825         * tests/test-hypot.c: Include test-hypot.h.
826         (main): Invoke test_function.
827         * tests/test-hypotf.c: Include test-hypot.h.
828         (main): Invoke test_function.
829         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
830         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
831         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
832         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
833         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
834         tests/randomf.c.
835         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
836         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
837         tests/randoml.c.
838         (Depends-on): Add 'fpucw', 'float'.
839         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
840
841 2012-03-05  Bruno Haible  <bruno@clisp.org>
842
843         fpucw: Doc about FreeBSD.
844         * lib/fpucw.h: Mention FreeBSD in comments.
845
846 2012-03-04  Bruno Haible  <bruno@clisp.org>
847
848         sqrt* tests: More tests.
849         * tests/test-sqrt.h: New file.
850         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
851         (main): Invoke test_function.
852         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
853         (main): Invoke test_function.
854         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
855         (main): Invoke test_function.
856         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
857         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
858         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
859         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
860         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
861         (Depends-on): Add 'float'.
862         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
863
864 2012-03-04  Bruno Haible  <bruno@clisp.org>
865
866         remainder* tests: More tests.
867         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
868         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
869         (main): Invoke test_function.
870         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
871         (main): Invoke test_function.
872         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
873         (main): Invoke test_function.
874         * modules/remainder-tests (Files): Add tests/test-remainder.h,
875         tests/randomd.c.
876         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
877         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
878         tests/randomf.c.
879         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
880         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
881         tests/randoml.c.
882         (Depends-on): Add 'float'.
883         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
884
885 2012-03-04  Bruno Haible  <bruno@clisp.org>
886
887         remainder, remainderf, remainderl: Fix computation for large quotients.
888         * lib/remainder.c: Completely rewritten.
889         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
890         USE_FLOAT.
891         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
892         USE_LONG_DOUBLE.
893         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
894         isnand, isinf. Remove round, fma.
895         * modules/remainderf (Files): Add lib/remainder.c.
896         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
897         Remove roundf, fmaf.
898         * modules/remainderl (Files): Add lib/remainder.c.
899         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
900         isinf. Remove roundl, fmal.
901         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
902         REMAINDER_LIBM.
903         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
904         REMAINDERF_LIBM.
905         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
906         REMAINDERL_LIBM.
907
908 2012-03-04  Bruno Haible  <bruno@clisp.org>
909
910         fmod* tests: More tests.
911         * tests/test-fmod.h (my_ldexp): New function.
912         (test_function): Reduce amount of random numbers to test. Add tests
913         of very large quotients x / y.
914         * tests/test-fmod.c (MAX_EXP): New macro.
915         * tests/test-fmodf.c (MAX_EXP): Likewise.
916         * tests/test-fmodl.c (MAX_EXP): Likewise.
917
918 2012-03-04  Bruno Haible  <bruno@clisp.org>
919
920         fmod, fmodl: Fix computation for large quotients x / y.
921         * lib/fmod.c: Completely rewritten.
922         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
923         USE_LONG_DOUBLE.
924         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
925         isnand. Remove fma.
926         * modules/fmodl (Files): Add lib/fmod.c.
927         (Depends-on): Add float, isfinite, signbit, fabsl,
928         frexpl, ldexpl, isnanl. Remove fma.
929         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
930         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
931
932 2012-03-03  Bruno Haible  <bruno@clisp.org>
933
934         fmod* tests: More tests.
935         * tests/test-fmod.h: New file.
936         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
937         (main): Invoke test_function.
938         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
939         (main): Invoke test_function.
940         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
941         (main): Invoke test_function.
942         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
943         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
944         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
945         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
946         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
947         (Depends-on): Add 'float'.
948         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
949
950 2012-03-03  Bruno Haible  <bruno@clisp.org>
951
952         rint* tests: More tests.
953         * tests/test-rint.h: New file, partially extracted from
954         tests/test-rintl.c.
955         * tests/test-rint.c: Include test-rint.h.
956         (main): Invoke test_function.
957         * tests/test-rintf.c: Include test-rint.h.
958         (main): Invoke test_function.
959         * tests/test-rintl.c: Include test-rint.h.
960         (main): Invoke test_function.
961         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
962         (Makefile.am): Add randomd.c to test_rint_SOURCES.
963         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
964         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
965         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
966         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
967
968 2012-03-03  Bruno Haible  <bruno@clisp.org>
969
970         modf* tests: More tests.
971         * tests/test-modf.h: New file.
972         * tests/test-modf.c: Include <float.h> and test-modf.h.
973         (main): Invoke test_function.
974         * tests/test-modff.c: Include <float.h> and test-modf.h.
975         (main): Invoke test_function.
976         * tests/test-modfl.c: Include <float.h> and test-modf.h.
977         (main): Invoke test_function.
978         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
979         (Makefile.am): Add randomd.c to test_modf_SOURCES.
980         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
981         (Makefile.am): Add randomf.c to test_modff_SOURCES.
982         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
983         (Depends-on): Add 'float'.
984         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
985
986 2012-03-03  Bruno Haible  <bruno@clisp.org>
987
988         fabs* tests: More tests.
989         * tests/test-fabs.h: New file, partially extracted from
990         tests/test-fabsl.c.
991         * tests/test-fabs.c (RANDOM): New macro.
992         * tests/test-fabsf.c (RANDOM): New macro.
993         * tests/test-fabsl.c (RANDOM): New macro.
994         * modules/fabs-tests (Files): Add tests/randomd.c.
995         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
996         * modules/fabsf-tests (Files): Add tests/randomf.c.
997         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
998         * modules/fabsl-tests (Files): Add tests/randoml.c.
999         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
1000
1001 2012-03-03  Bruno Haible  <bruno@clisp.org>
1002
1003         ldexp* tests: More tests.
1004         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
1005         * tests/test-ldexp.c (RANDOM): New macro.
1006         * tests/test-ldexpf.c (RANDOM): New macro.
1007         * tests/test-ldexpl.c (RANDOM): New macro.
1008         * modules/ldexp-tests (Files): Add tests/randomd.c.
1009         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
1010         * modules/ldexpf-tests (Files): Add tests/randomf.c.
1011         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
1012         * modules/ldexpl-tests (Files): Add tests/randoml.c.
1013         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
1014
1015 2012-03-03  Bruno Haible  <bruno@clisp.org>
1016
1017         frexp* tests: More tests.
1018         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
1019         * tests/test-frexp.c (RANDOM): New macro.
1020         * tests/test-frexpf.c (RANDOM): New macro.
1021         * tests/test-frexpl.c (RANDOM): New macro.
1022         * modules/frexp-tests (Files): Add tests/randomd.c.
1023         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
1024         * modules/frexpf-tests (Files): Add tests/randomf.c.
1025         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
1026         * modules/frexpl-tests (Files): Add tests/randoml.c.
1027         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
1028
1029 2012-03-03  Bruno Haible  <bruno@clisp.org>
1030
1031         Support for pseudo-random numbers in tests.
1032         * tests/randomf.c: New file.
1033         * tests/randomd.c: New file.
1034         * tests/randoml.c: New file.
1035         * tests/macros.h (randomf, randomd, randoml): New declarations.
1036
1037 2012-03-03  Bruno Haible  <bruno@clisp.org>
1038
1039         frexp* tests: Refactor.
1040         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
1041         * tests/test-frexp.c: Include and use it.
1042         * tests/test-frexpf.c: Likewise.
1043         * tests/test-frexpl.c: Likewise.
1044         * modules/frexp-tests (Files): Add tests/test-frexp.h.
1045         * modules/frexpf-tests (Files): Likewise.
1046         * modules/frexpl-tests (Files): Likewise.
1047
1048 2012-03-02  Jim Meyering  <meyering@redhat.com>
1049
1050         maint: don't specify XZ_OPT=-9ev in dist-related rule
1051         Using xz's -9 option is warranted only if you have a very large
1052         tarball (see xz's documentation for the sizes vs. presets), and
1053         requires 64MiB of memory at decompression time.
1054         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
1055         Automake's default of just "-e" is fine.  Override on a
1056         per-package basis by setting XZ_OPT e.g., in cfg.mk.
1057
1058 2012-03-01  Eric Blake  <eblake@redhat.com>
1059
1060         maint.mk: allow announcement for non-gnulib project
1061         * maint.mk (announcement): Skip gnulib version if not used.
1062
1063 2012-03-01  Jim Meyering  <meyering@redhat.com>
1064
1065         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
1066         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
1067         envvar settings cannot interfere.  Otherwise, setting envvars like
1068         prohibit=foo require=bar, etc. would cause spurious test failures.
1069
1070 2012-03-01  Eric Blake  <eblake@redhat.com>
1071
1072         maint.mk: add per-line exclusions to prohibitions
1073         * maint.mk (_sc_search_regexp): Add $exclude parameter.
1074         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1075         (sc_const_long_option): Use it.
1076
1077 2012-03-01  Bruno Haible  <bruno@clisp.org>
1078
1079         Tests for module 'expl-ieee'.
1080         * modules/expl-ieee-tests: New file.
1081         * tests/test-expl-ieee.c: New file.
1082
1083         New module 'expl-ieee'.
1084         * modules/expl-ieee: New file.
1085
1086         Tests for module 'exp-ieee'.
1087         * modules/exp-ieee-tests: New file.
1088         * tests/test-exp-ieee.c: New file.
1089
1090         New module 'exp-ieee'.
1091         * modules/exp-ieee: New file.
1092
1093         Tests for module 'expf-ieee'.
1094         * modules/expf-ieee-tests: New file.
1095         * tests/test-expf-ieee.c: New file.
1096         * tests/test-exp-ieee.h: New file.
1097
1098         New module 'expf-ieee'.
1099         * modules/expf-ieee: New file.
1100
1101 2012-02-29  Bruno Haible  <bruno@clisp.org>
1102
1103         cbrtl-ieee: Work around test failure on IRIX 6.5.
1104         * m4/cbrtl-ieee.m4: New file.
1105         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
1106         test whether cbrtl works with a minus zero argument. Replace it if not.
1107         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
1108         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
1109         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
1110         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
1111         (Depends-on): Update conditions.
1112         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
1113         m4/signbit.m4.
1114         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
1115         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
1116         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
1117
1118         Tests for module 'cbrtl-ieee'.
1119         * modules/cbrtl-ieee-tests: New file.
1120         * tests/test-cbrtl-ieee.c: New file.
1121
1122         New module 'cbrtl-ieee'.
1123         * modules/cbrtl-ieee: New file.
1124
1125         Tests for module 'cbrt-ieee'.
1126         * modules/cbrt-ieee-tests: New file.
1127         * tests/test-cbrt-ieee.c: New file.
1128
1129         New module 'cbrt-ieee'.
1130         * modules/cbrt-ieee: New file.
1131
1132         Tests for module 'cbrtf-ieee'.
1133         * modules/cbrtf-ieee-tests: New file.
1134         * tests/test-cbrtf-ieee.c: New file.
1135         * tests/test-cbrt-ieee.h: New file.
1136
1137         New module 'cbrtf-ieee'.
1138         * modules/cbrtf-ieee: New file.
1139
1140 2012-02-29  Bruno Haible  <bruno@clisp.org>
1141
1142         cbrtf: Work around bug in IRIX 6.5 system function.
1143         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
1144         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
1145         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
1146         work.
1147         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
1148         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
1149         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
1150         (Depends-on): Update conditions.
1151         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
1152
1153 2012-02-29  Bruno Haible  <bruno@clisp.org>
1154
1155         Tests for module 'cbrtl'.
1156         * modules/cbrtl-tests: New file.
1157         * tests/test-cbrtl.c: New file.
1158
1159         New module 'cbrtl'.
1160         * lib/math.in.h (cbrtl): New declaration.
1161         * lib/cbrtl.c: New file.
1162         * m4/cbrtl.m4: New file.
1163         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
1164         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
1165         HAVE_DECL_CBRTL.
1166         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
1167         HAVE_DECL_CBRTL.
1168         * modules/cbrtl: New file.
1169         * tests/test-math-c++.cc: Check the declaration of cbrtl.
1170         * doc/posix-functions/cbrtl.texi: Mention the new module.
1171
1172 2012-02-29  Bruno Haible  <bruno@clisp.org>
1173
1174         Tests for module 'cbrtf'.
1175         * modules/cbrtf-tests: New file.
1176         * tests/test-cbrtf.c: New file.
1177
1178         New module 'cbrtf'.
1179         * lib/math.in.h (cbrtf): New declaration.
1180         * lib/cbrtf.c: New file.
1181         * m4/cbrtf.m4: New file.
1182         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
1183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
1184         HAVE_DECL_CBRTF.
1185         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
1186         HAVE_DECL_CBRTF.
1187         * modules/cbrtf: New file.
1188         * tests/test-math-c++.cc: Check the declaration of cbrtf.
1189         * doc/posix-functions/cbrtf.texi: Mention the new module.
1190
1191 2012-02-29  Bruno Haible  <bruno@clisp.org>
1192
1193         cbrt: Provide replacement on MSVC and Minix.
1194         * lib/math.in.h (cbrt): New declaration.
1195         * lib/cbrt.c: New file.
1196         * m4/cbrt.m4: New file.
1197         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
1198         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
1199         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
1200         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
1201         (Depends-on): Add dependencies.
1202         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
1203         * tests/test-math-c++.cc: Check the declaration of cbrt.
1204         * doc/posix-functions/cbrt.texi: Mention that the module provides a
1205         replacement.
1206
1207 2012-02-29  Bruno Haible  <bruno@clisp.org>
1208
1209         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
1210         * m4/hypotl-ieee.m4: New file.
1211         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
1212         test whether hypotl works with mixed NaN and Infinity arguments.
1213         Replace it if not.
1214         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
1215         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
1216         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
1217         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
1218         (Depends-on): Update conditions.
1219         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
1220         (Depends-on): Add hypot-ieee.
1221         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
1222         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
1223
1224         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
1225         * m4/hypotf-ieee.m4: New file.
1226         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
1227         test whether hypotf works with mixed NaN and Infinity arguments.
1228         Replace it if not.
1229         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
1230         (Depends-on): Add hypot-ieee.
1231         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
1232         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
1233
1234         hypot-ieee: Work around test failure on OSF/1 and native Windows.
1235         * lib/math.in.h (hypot): New declaration.
1236         * lib/hypot.c: New file.
1237         * m4/hypot-ieee.m4: New file.
1238         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
1239         whether hypot works with mixed NaN and Infinity arguments. Replace it
1240         if not.
1241         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
1242         REPLACE_HYPOT.
1243         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
1244         * modules/hypot (Files): Add lib/hypot.c.
1245         (Depends-on): Add dependencies.
1246         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
1247         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
1248         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
1249         * tests/test-math-c++.cc: Check the declaration of hypot.
1250         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
1251
1252         Tests for module 'hypotl-ieee'.
1253         * modules/hypotl-ieee-tests: New file.
1254         * tests/test-hypotl-ieee.c: New file.
1255
1256         New module 'hypotl-ieee'.
1257         * modules/hypotl-ieee: New file.
1258
1259         Tests for module 'hypot-ieee'.
1260         * modules/hypot-ieee-tests: New file.
1261         * tests/test-hypot-ieee.c: New file.
1262
1263         New module 'hypot-ieee'.
1264         * modules/hypot-ieee: New file.
1265
1266         Tests for module 'hypotf-ieee'.
1267         * modules/hypotf-ieee-tests: New file.
1268         * tests/test-hypotf-ieee.c: New file.
1269         * tests/test-hypot-ieee.h: New file.
1270
1271         New module 'hypotf-ieee'.
1272         * modules/hypotf-ieee: New file.
1273
1274 2012-02-29  Bruno Haible  <bruno@clisp.org>
1275
1276         Remove unused variables.
1277         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
1278         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1279         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
1280         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1281
1282 2012-02-29  Eric Blake  <eblake@redhat.com>
1283
1284         termios: fix pid_t always, not just for tcgetsid
1285         * doc/posix-headers/termios.texi (termios.h): Mention problem.
1286         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
1287         just when building tcgetsid.
1288
1289 2012-02-29  Bruno Haible  <bruno@clisp.org>
1290
1291         Tests for module 'hypotl'.
1292         * modules/hypotl-tests: New file.
1293         * tests/test-hypotl.c: New file.
1294
1295         New module 'hypotl'.
1296         * lib/math.in.h (hypotl): New declaration.
1297         * lib/hypotl.c: New file.
1298         * m4/hypotl.m4: New file.
1299         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1300         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
1301         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
1302         * modules/hypotl: New file.
1303         * tests/test-math-c++.cc: Check the hypotl declaration.
1304         * doc/posix-functions/hypotl.texi: Mention the new module.
1305
1306 2012-02-29  Eric Blake  <eblake@redhat.com>
1307
1308         tcgetsid: fix cygwin header bug
1309         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
1310
1311         docs: update cygwin progress
1312         * doc/posix-functions/llround.texi (llround): Added in cygwin
1313         1.7.8.
1314         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
1315         * doc/glibc-functions/program_invocation_name.texi
1316         (program_invocation_name): Likewise.
1317         * doc/glibc-functions/program_invocation_short_name.texi
1318         (program_invocation_short_name): Likewise.
1319         * doc/glibc-functions/madvise.texi (madvise): Likewise.
1320         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
1321         Likewise.
1322         * doc/posix-functions/pthread_spin_destroy.texi
1323         (pthread_spin_destroy): Added in cygwin 1.7.10.
1324         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
1325         Likewise.
1326         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
1327         Likewise.
1328         * doc/posix-functions/pthread_spin_trylock.texi
1329         (pthread_spin_trylock): Likewise.
1330         * doc/posix-functions/pthread_spin_unlock.texi
1331         (pthread_spin_unlock): Likewise.
1332         * doc/posix-functions/pthread_setschedprio.texi
1333         (pthread_setschedprio): Likewise.
1334         * doc/posix-functions/pthread_attr_getstack.texi
1335         (pthread_attr_getstack): Likewise.
1336         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
1337         (pthread_attr_getstackaddr): Likewise.
1338         * doc/glibc-functions/pthread_getattr_np.texi
1339         (pthread_getattr_np): Likewise.
1340         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
1341         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
1342         * doc/posix-functions/clock_settime.texi (clock_settime):
1343         Likewise.
1344         * doc/posix-functions/pthread_attr_getguardsize.texi
1345         (pthread_attr_getguardsize): Likewise.
1346         * doc/posix-functions/pthread_attr_setguardsize.texi
1347         (pthread_attr_setguardsize): Likewise.
1348         * doc/posix-functions/pthread_attr_setstack.texi
1349         (pthread_attr_setstack): Likewise.
1350         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
1351         (pthread_attr_setstackaddr): Likewise.
1352         * doc/posix-functions/clock_getcpuclockid.texi
1353         (clock_getcpuclockid): Likewise.
1354         * doc/posix-functions/pthread_getcpuclockid.texi
1355         (pthread_getcpuclockid): Likewise.
1356         * doc/glibc-functions/error.texi (error): Likewise.
1357         * doc/glibc-functions/error_at_line.texi (error_at_line):
1358         Likewise.
1359         * doc/glibc-functions/error_message_count.texi
1360         (error_message_count): Likewise.
1361         * doc/glibc-functions/error_one_per_line.texi
1362         (error_one_per_line): Likewise.
1363         * doc/glibc-functions/error_print_progname.texi
1364         (error_print_progname): Likewise.
1365         * doc/posix-functions/pthread_condattr_getclock.texi
1366         (pthread_condattr_getclock): Likewise.
1367         * doc/posix-functions/pthread_condattr_setclock.texi
1368         (pthread_condattr_setclock): Likewise.
1369         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
1370         Likewise.
1371         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
1372         * doc/glibc-functions/getpt.texi (getpt): Likewise.
1373         * doc/glibc-functions/get_current_dir_name.texi
1374         (get_current_dir_name): Likewise.
1375         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
1376         Likewise.
1377         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
1378         wrong return type.
1379         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
1380         1.7.11.
1381
1382 2012-02-29  Bruno Haible  <bruno@clisp.org>
1383
1384         Tests for module 'hypotf'.
1385         * modules/hypotf-tests: New file.
1386         * tests/test-hypotf.c: New file.
1387
1388         New module 'hypotf'.
1389         * lib/math.in.h (hypotf): New declaration.
1390         * lib/hypotf.c: New file.
1391         * m4/hypotf.m4: New file.
1392         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1393         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
1394         REPLACE_HYPOTF.
1395         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
1396         REPLACE_HYPOTF.
1397         * modules/hypotf: New file.
1398         * tests/test-math-c++.cc: Check the hypotf declaration.
1399         * doc/posix-functions/hypotf.texi: Mention the new module.
1400
1401         hypot: Prepare for hypotf module.
1402         * m4/hypot.m4: New file.
1403         * modules/hypot (Files): Add m4/hypot.m4.
1404         (configure.ac): Invoke gl_FUNC_HYPOT.
1405
1406 2012-02-29  Bruno Haible  <bruno@clisp.org>
1407
1408         hypot tests: More tests.
1409         * tests/test-hypot.c: Include <float.h>.
1410         (main): Add tests about overflow and underflow.
1411
1412 2012-02-29  Bruno Haible  <bruno@clisp.org>
1413
1414         math code: Add comments.
1415         * lib/acosl.c: Add comment about related glibc source files.
1416         * lib/asinl.c: Likewise.
1417         * lib/atanl.c: Likewise.
1418         * lib/expl.c: Likewise.
1419         * lib/logl.c: Likewise.
1420         * lib/sincosl.c: Likewise.
1421         * lib/sinl.c: Likewise.
1422         * lib/tanl.c: Likewise.
1423         * lib/trigl.c: Likewise.
1424         * lib/cosl.c: Likewise. Fix comments.
1425
1426 2012-02-28  Bruno Haible  <bruno@clisp.org>
1427
1428         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
1429         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
1430         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
1431         HUGE_VALL are defined.
1432         (numeric_equald): Renamed from numeric_equal.
1433         (numeric_equalf, numeric_equall): New functions.
1434         (main): Check also HUGE_VALF, HUGE_VALL.
1435         * modules/math-tests (Files): Add tests/macros.h.
1436         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
1437         HUGE_VALL.
1438
1439 2012-02-28  Bruno Haible  <bruno@clisp.org>
1440
1441         doc: Move ISO C11 feature notes into POSIX chapters.
1442         * doc/posix-functions/aligned_alloc.texi: Renamed from
1443         doc/glibc-functions/aligned_alloc.texi.
1444         * doc/posix-functions/quick_exit.texi: Renamed from
1445         doc/glibc-functions/quick_exit.texi.
1446         * doc/posix-headers/uchar.texi: Renamed from
1447         doc/glibc-headers/uchar.texi.
1448         * doc/posix-functions/c16rtomb.texi: Renamed from
1449         doc/glibc-functions/c16rtomb.texi.
1450         * doc/posix-functions/c32rtomb.texi: Renamed from
1451         doc/glibc-functions/c32rtomb.texi.
1452         * doc/posix-functions/mbrtoc16.texi: Renamed from
1453         doc/glibc-functions/mbrtoc16.texi.
1454         * doc/posix-functions/mbrtoc32.texi: Renamed from
1455         doc/glibc-functions/mbrtoc32.texi.
1456         * doc/gnulib.texi: Update.
1457         (Glibc uchar.h): Remove section.
1458         Suggested by Eric Blake.
1459
1460 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
1461
1462         stdnoreturn: port to MSVC better
1463         MSVC standard headers use __declspec(noreturn), so #define noreturn
1464         to empty on that platform.  Reported by Bruno Haible in
1465         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
1466         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
1467         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
1468
1469 2012-02-28  Bruno Haible  <bruno@clisp.org>
1470
1471         doc: Mention new glibc headers and functions.
1472         * doc/glibc-headers/uchar.texi: New file.
1473         * doc/glibc-functions/aligned_alloc.texi: New file.
1474         * doc/glibc-functions/c16rtomb.texi: New file.
1475         * doc/glibc-functions/c32rtomb.texi: New file.
1476         * doc/glibc-functions/clock_adjtime.texi: New file.
1477         * doc/glibc-functions/fanotify_init.texi: New file.
1478         * doc/glibc-functions/fanotify_mark.texi: New file.
1479         * doc/glibc-functions/inet6_opt_append.texi: New file.
1480         * doc/glibc-functions/inet6_opt_find.texi: New file.
1481         * doc/glibc-functions/inet6_opt_finish.texi: New file.
1482         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
1483         * doc/glibc-functions/inet6_opt_init.texi: New file.
1484         * doc/glibc-functions/inet6_opt_next.texi: New file.
1485         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
1486         * doc/glibc-functions/inet6_rth_add.texi: New file.
1487         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
1488         * doc/glibc-functions/inet6_rth_init.texi: New file.
1489         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
1490         * doc/glibc-functions/inet6_rth_segments.texi: New file.
1491         * doc/glibc-functions/inet6_rth_space.texi: New file.
1492         * doc/glibc-functions/login.texi: New file.
1493         * doc/glibc-functions/mbrtoc16.texi: New file.
1494         * doc/glibc-functions/mbrtoc32.texi: New file.
1495         * doc/glibc-functions/name_to_handle_at.texi: New file.
1496         * doc/glibc-functions/ntp_gettimex.texi: New file.
1497         * doc/glibc-functions/open_by_handle_at.texi: New file.
1498         * doc/glibc-functions/prlimit.texi: New file.
1499         * doc/glibc-functions/process_vm_readv.texi: New file.
1500         * doc/glibc-functions/process_vm_writev.texi: New file.
1501         * doc/glibc-functions/recvmmsg.texi: New file.
1502         * doc/glibc-functions/scandirat.texi: New file.
1503         * doc/glibc-functions/sendmmsg.texi: New file.
1504         * doc/glibc-functions/setns.texi: New file.
1505         * doc/glibc-functions/timespec_get.texi: New file.
1506         * doc/gnulib.texi: Include them.
1507         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
1508         sections.
1509         Reported by Eric Blake.
1510
1511 2012-02-28  Bruno Haible  <bruno@clisp.org>
1512
1513         Avoid compilation errors with MSVC option -fp:strict.
1514         * lib/floor.c: Use MSVC specific pragma fenv_access.
1515         * lib/ceil.c: Likewise.
1516         * lib/trunc.c: Likewise.
1517         * lib/round.c: Likewise.
1518         * lib/rint.c: Likewise.
1519         * lib/fma.c: Likewise.
1520         * lib/integer_length.c: Likewise.
1521         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1522         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1523         * tests/test-floor2.c: Likewise.
1524         * tests/test-floorf2.c: Likewise.
1525         * tests/test-ceil2.c: Likewise.
1526         * tests/test-ceilf2.c: Likewise.
1527         * tests/test-trunc2.c: Likewise.
1528         * tests/test-truncf2.c: Likewise.
1529         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1530
1531 2012-02-27  Bruno Haible  <bruno@clisp.org>
1532
1533         Tests for module 'sqrtl-ieee'.
1534         * modules/sqrtl-ieee-tests: New file.
1535         * tests/test-sqrtl-ieee.c: New file.
1536
1537         New module 'sqrtl-ieee'.
1538         * modules/sqrtl-ieee: New file.
1539
1540         Tests for module 'sqrt-ieee'.
1541         * modules/sqrt-ieee-tests: New file.
1542         * tests/test-sqrt-ieee.c: New file.
1543
1544         New module 'sqrt-ieee'.
1545         * modules/sqrt-ieee: New file.
1546
1547         Tests for module 'sqrtf-ieee'.
1548         * modules/sqrtf-ieee-tests: New file.
1549         * tests/test-sqrtf-ieee.c: New file.
1550         * tests/test-sqrt-ieee.h: New file.
1551
1552         New module 'sqrtf-ieee'.
1553         * modules/sqrtf-ieee: New file.
1554
1555 2012-02-27  Bruno Haible  <bruno@clisp.org>
1556
1557         remainderl-ieee: Work around test failure on OSF/1.
1558         * m4/remainderl-ieee.m4: New file.
1559         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
1560         present, test whether remainderl works with a zero second argument.
1561         Replace it if not.
1562         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
1563         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
1564         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
1565         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
1566         (Depends-on): Update conditions.
1567         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
1568         (Depends-on): Add remainder-ieee.
1569         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
1570         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
1571         module.
1572
1573         remainderf-ieee: Work around test failure on OSF/1.
1574         * m4/remainderf-ieee.m4: New file.
1575         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
1576         present, test whether remainderf works with a zero second argument.
1577         Replace it if not.
1578         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
1579         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
1580         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
1581         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
1582         (Depends-on): Update conditions.
1583         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
1584         (Depends-on): Add remainder-ieee.
1585         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
1586         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
1587         module.
1588
1589         remainder-ieee: Work around test failure on OSF/1.
1590         * m4/remainder-ieee.m4: New file.
1591         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
1592         present, test whether remainder works with a zero second argument.
1593         Replace it if not.
1594         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
1595         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
1596         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
1597         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
1598         (Depends-on): Update dependencies.
1599         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
1600         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
1601         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
1602
1603         Tests for module 'remainderl-ieee'.
1604         * modules/remainderl-ieee-tests: New file.
1605         * tests/test-remainderl-ieee.c: New file.
1606
1607         New module 'remainderl-ieee'.
1608         * modules/remainderl-ieee: New file.
1609
1610         Tests for module 'remainder-ieee'.
1611         * modules/remainder-ieee-tests: New file.
1612         * tests/test-remainder-ieee.c: New file.
1613
1614         New module 'remainder-ieee'.
1615         * modules/remainder-ieee: New file.
1616
1617         Tests for module 'remainderf-ieee'.
1618         * modules/remainderf-ieee-tests: New file.
1619         * tests/test-remainderf-ieee.c: New file.
1620         * tests/test-remainder-ieee.h: New file.
1621
1622         New module 'remainderf-ieee'.
1623         * modules/remainderf-ieee: New file.
1624
1625 2012-02-27  Bruno Haible  <bruno@clisp.org>
1626
1627         modff, modfl: Fix configure syntax error.
1628         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
1629         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1630
1631 2012-02-27  Bruno Haible  <bruno@clisp.org>
1632
1633         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
1634         * m4/fmodl-ieee.m4: New file.
1635         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
1636         whether fmodl works with zero arguments. Replace it if not.
1637         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
1638         (Depends-on): Add fmod-ieee.
1639         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
1640         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
1641
1642         fmodf-ieee: Work around test failure on OSF/1.
1643         * m4/fmodf-ieee.m4: New file.
1644         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
1645         whether fmodf works with zero arguments. Replace it if not.
1646         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
1647         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
1648         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
1649         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
1650         (Depends-on): Update dependencies.
1651         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
1652         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
1653         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
1654
1655         fmodf-ieee: Work around test failure on MSVC 9.
1656         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
1657         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
1658
1659         fmod-ieee: Work around test failures on OSF/1, mingw.
1660         * m4/fmod-ieee.m4: New file.
1661         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
1662         whether fmod works with zero arguments. Replace it if not.
1663         * lib/math.in.h (fmod): New declaration.
1664         * lib/fmod.c: New file.
1665         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
1666         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
1667         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
1668         * modules/fmod (Files): Add lib/fmod.c.
1669         (Depends-on): Add math, isinf, trunc, fma.
1670         (configure.ac): Arrange to compile lib/fmod.c if needed.
1671         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
1672         m4/signbit.m4.
1673         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
1674         * tests/test-math-c++.cc: Check the declaration of fmod.
1675         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
1676
1677         fmodl-ieee: Fix test failures.
1678         * lib/fmodl.c (fmodl): Treat Inf specially.
1679         * modules/fmodl (Depends-on): Add isinf.
1680
1681         Tests for module 'fmodl-ieee'.
1682         * modules/fmodl-ieee-tests: New file.
1683         * tests/test-fmodl-ieee.c: New file.
1684
1685         New module 'fmodl-ieee'.
1686         * modules/fmodl-ieee: New file.
1687
1688         Tests for module 'fmod-ieee'.
1689         * modules/fmod-ieee-tests: New file.
1690         * tests/test-fmod-ieee.c: New file.
1691
1692         New module 'fmod-ieee'.
1693         * modules/fmod-ieee: New file.
1694
1695         Tests for module 'fmodf-ieee'.
1696         * modules/fmodf-ieee-tests: New file.
1697         * tests/test-fmodf-ieee.c: New file.
1698         * tests/test-fmod-ieee.h: New file.
1699
1700         New module 'fmodf-ieee'.
1701         * modules/fmodf-ieee: New file.
1702
1703 2012-02-27  Bruno Haible  <bruno@clisp.org>
1704
1705         Tests for module 'rintl-ieee'.
1706         * modules/rintl-ieee-tests: New file.
1707         * tests/test-rintl-ieee.c: New file.
1708
1709         New module 'rintl-ieee'.
1710         * modules/rintl-ieee: New file.
1711
1712         Tests for module 'rint-ieee'.
1713         * modules/rint-ieee-tests: New file.
1714         * tests/test-rint-ieee.c: New file.
1715
1716         New module 'rint-ieee'.
1717         * modules/rint-ieee: New file.
1718
1719         Tests for module 'rintf-ieee'.
1720         * modules/rintf-ieee-tests: New file.
1721         * tests/test-rintf-ieee.c: New file.
1722         * tests/test-rint-ieee.h: New file.
1723
1724         New module 'rintf-ieee'.
1725         * modules/rintf-ieee: New file.
1726
1727 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1728
1729         regex: re_search etc. should return -2 when memory exhausted
1730         This bug was uncovered when testing 'grep'.  Without the fix,
1731         re_search and friends return -1 when memory is exhausted, but -1
1732         means no match, and this causes grep to falsely report no-match
1733         instead of memory-exhaustion.  See
1734         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1735         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1736         trouble; this can occur if re_search_internal ran out of memory.
1737
1738 2012-02-26  Bruno Haible  <bruno@clisp.org>
1739
1740         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1741         * m4/modfl-ieee.m4: New file.
1742         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1743         whether modfl works with Inf. Replace it if not.
1744         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1745         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1746         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1747         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1748         (Depends-on): Update dependencies.
1749         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1750         m4/signbit.m4.
1751         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1752         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1753
1754         modfl-ieee: Fix dependencies.
1755         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1756
1757         modfl-ieee: Fix test failures.
1758         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1759         * modules/modfl (Depends-on): Add isfinite, isinf.
1760
1761         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1762         * m4/modff-ieee.m4: New file.
1763         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1764         whether modff works with NaN and Inf. Replace it if not.
1765         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1766         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1767         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1768         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1769         (Depends-on): Update dependencies.
1770         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1771         m4/signbit.m4.
1772         (Depends-on): Add modf-ieee.
1773         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1774         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1775
1776         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1777         * m4/modf-ieee.m4: New file.
1778         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1779         whether modf works with NaN and Inf. Replace it if not.
1780         * lib/math.in.h (modf): New declaration.
1781         * lib/modf.c: New file.
1782         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1783         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1784         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1785         * modules/modf (Files): Add lib/modf.c.
1786         (Depends-on): Add math, isfinite, trunc, isinf.
1787         (configure.ac): Addrange to compile lib/modf.c if needed.
1788         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1789         m4/signbit.m4.
1790         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1791         * tests/test-math-c++.cc: Check the declaration of modf.
1792         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1793
1794         Tests for module 'modfl-ieee'.
1795         * modules/modfl-ieee-tests: New file.
1796         * tests/test-modfl-ieee.c: New file.
1797
1798         New module 'modfl-ieee'.
1799         * modules/modfl-ieee: New file.
1800
1801         Tests for module 'modf-ieee'.
1802         * modules/modf-ieee-tests: New file.
1803         * tests/test-modf-ieee.c: New file.
1804
1805         New module 'modf-ieee'.
1806         * modules/modf-ieee: New file.
1807
1808         Tests for module 'modff-ieee'.
1809         * modules/modff-ieee-tests: New file.
1810         * tests/test-modff-ieee.c: New file.
1811         * tests/test-modf-ieee.h: New file.
1812
1813         New module 'modff-ieee'.
1814         * modules/modff-ieee: New file.
1815
1816 2012-02-26  Bruno Haible  <bruno@clisp.org>
1817
1818         Tests for module 'fabsl-ieee'.
1819         * modules/fabsl-ieee-tests: New file.
1820         * tests/test-fabsl-ieee.c: New file.
1821
1822         New module 'fabsl-ieee'.
1823         * modules/fabsl-ieee: New file.
1824
1825         Tests for module 'fabs-ieee'.
1826         * modules/fabs-ieee-tests: New file.
1827         * tests/test-fabs-ieee.c: New file.
1828
1829         New module 'fabs-ieee'.
1830         * modules/fabs-ieee: New file.
1831
1832         Tests for module 'fabsf-ieee'.
1833         * modules/fabsf-ieee-tests: New file.
1834         * tests/test-fabsf-ieee.c: New file.
1835         * tests/test-fabs-ieee.h: New file.
1836
1837         New module 'fabsf-ieee'.
1838         * modules/fabsf-ieee: New file.
1839
1840 2012-02-26  Bruno Haible  <bruno@clisp.org>
1841
1842         Tests for module 'fmal-ieee'.
1843         * modules/fmal-ieee-tests: New file.
1844         * tests/test-fmal-ieee.c: New file.
1845
1846         New module 'fmal-ieee'.
1847         * modules/fmal-ieee: New file.
1848
1849         Tests for module 'fma-ieee'.
1850         * modules/fma-ieee-tests: New file.
1851         * tests/test-fma-ieee.c: New file.
1852
1853         New module 'fma-ieee'.
1854         * modules/fma-ieee: New file.
1855
1856         Tests for module 'fmaf-ieee'.
1857         * modules/fmaf-ieee-tests: New file.
1858         * tests/test-fmaf-ieee.c: New file.
1859         * tests/test-fma-ieee.h: New file.
1860
1861         New module 'fmaf-ieee'.
1862         * modules/fmaf-ieee: New file.
1863
1864 2012-02-26  Bruno Haible  <bruno@clisp.org>
1865
1866         Tests for module 'ldexpl-ieee'.
1867         * modules/ldexpl-ieee-tests: New file.
1868         * tests/test-ldexpl-ieee.c: New file.
1869
1870         New module 'ldexpl-ieee'.
1871         * modules/ldexpl-ieee: New file.
1872
1873         Tests for module 'ldexp-ieee'.
1874         * modules/ldexp-ieee-tests: New file.
1875         * tests/test-ldexp-ieee.c: New file.
1876
1877         New module 'ldexp-ieee'.
1878         * modules/ldexp-ieee: New file.
1879
1880         Tests for module 'ldexpf-ieee'.
1881         * modules/ldexpf-ieee-tests: New file.
1882         * tests/test-ldexpf-ieee.c: New file.
1883         * tests/test-ldexp-ieee.h: New file.
1884
1885         New module 'ldexpf-ieee'.
1886         * modules/ldexpf-ieee: New file.
1887
1888 2012-02-26  Bruno Haible  <bruno@clisp.org>
1889
1890         Refactor frexp*-ieee tests.
1891         * tests/test-frexp-ieee.h: New file.
1892         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1893         (main): Just call test_function.
1894         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1895         (main): Just call test_function.
1896         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1897         (main): Just call test_function.
1898         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1899         * modules/frexp-ieee-tests (Files): Likewise.
1900         * modules/frexpl-ieee-tests (Files): Likewise.
1901
1902         Tests for module 'frexpl-ieee'.
1903         * modules/frexpl-ieee-tests: New file.
1904         * tests/test-frexpl-ieee.c: New file.
1905
1906         New module 'frexpl-ieee'.
1907         * modules/frexpl-ieee: New file.
1908
1909         Tests for module 'frexp-ieee'.
1910         * modules/frexp-ieee-tests: New file.
1911         * tests/test-frexp-ieee.c: New file.
1912
1913         New module 'frexp-ieee'.
1914         * modules/frexp-ieee: New file.
1915
1916         Tests for module 'frexpf-ieee'.
1917         * modules/frexpf-ieee-tests: New file.
1918         * tests/test-frexpf-ieee.c: New file.
1919
1920         New module 'frexpf-ieee'.
1921         * modules/frexpf-ieee: New file.
1922
1923 2012-02-26  Bruno Haible  <bruno@clisp.org>
1924
1925         roundl-ieee tests: More tests.
1926         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1927         (main): Add tests for [MX] shaded specification in POSIX.
1928         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1929         (Depends-on): Add isnanl-nolibm.
1930
1931         round-ieee tests: More tests.
1932         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1933         (main): Add tests for [MX] shaded specification in POSIX.
1934         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1935         (Depends-on): Add isnand-nolibm.
1936
1937         roundf-ieee tests: More tests.
1938         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1939         (main): Add tests for [MX] shaded specification in POSIX.
1940         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1941         (Depends-on): Add isnanf-nolibm.
1942
1943         truncl-ieee tests: More tests.
1944         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1945         (main): Add tests for [MX] shaded specification in POSIX.
1946         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1947         (Depends-on): Add isnanl-nolibm.
1948
1949         trunc-ieee tests: More tests.
1950         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1951         (main): Add tests for [MX] shaded specification in POSIX.
1952         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1953         (Depends-on): Add isnand-nolibm.
1954
1955         truncf-ieee tests: More tests.
1956         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1957         (main): Add tests for [MX] shaded specification in POSIX.
1958         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1959         (Depends-on): Add isnanf-nolibm.
1960
1961         ceill-ieee tests: More tests.
1962         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1963         (main): Add tests for [MX] shaded specification in POSIX.
1964         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1965         (Depends-on): Add isnanl-nolibm.
1966
1967         ceil-ieee tests: More tests.
1968         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1969         (main): Add tests for [MX] shaded specification in POSIX.
1970         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1971         (Depends-on): Add isnand-nolibm.
1972
1973         ceilf-ieee tests: More tests.
1974         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1975         (main): Add tests for [MX] shaded specification in POSIX.
1976         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1977         (Depends-on): Add isnanf-nolibm.
1978
1979         floorl-ieee tests: More tests.
1980         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1981         (main): Add tests for [MX] shaded specification in POSIX.
1982         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1983         (Depends-on): Add isnanl-nolibm.
1984
1985         floor-ieee tests: More tests.
1986         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1987         (main): Add tests for [MX] shaded specification in POSIX.
1988         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1989         (Depends-on): Add isnand-nolibm.
1990
1991         floorf-ieee tests: More tests.
1992         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1993         (main): Add tests for [MX] shaded specification in POSIX.
1994         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1995         (Depends-on): Add isnanf-nolibm.
1996
1997 2012-02-26  Bruno Haible  <bruno@clisp.org>
1998
1999         fpieee: More comments.
2000         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
2001
2002 2012-02-25  Bruno Haible  <bruno@clisp.org>
2003
2004         Tests for module 'log10l'.
2005         * modules/log10l-tests: New file.
2006         * tests/test-log10l.c: New file.
2007         * tests/test-math-c++.cc: Check the declaration of log10l.
2008
2009         New module 'log10l'.
2010         * lib/math.in.h (log10l): New declaration.
2011         * lib/log10l.c: New file.
2012         * m4/log10l.m4: New file.
2013         * modules/log10l: New file.
2014         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
2015         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
2016         HAVE_DECL_LOG10L.
2017         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
2018         HAVE_DECL_LOG10L.
2019         * doc/posix-functions/log10l.texi: Mention the new module.
2020
2021 2012-02-25  Bruno Haible  <bruno@clisp.org>
2022
2023         fmodl, remainder*: Avoid wrong results due to rounding errors.
2024         * lib/fmodl.c (fmodl): Correct the result if it is not within the
2025         expected bounds.
2026         * lib/remainderf.c (remainderf): Likewise.
2027         * lib/remainder.c (remainder): Likewise.
2028         * lib/remainderl.c (remainderl): Likewise.
2029
2030 2012-02-25  Bruno Haible  <bruno@clisp.org>
2031
2032         Tests for module 'remainderl'.
2033         * modules/remainderl-tests: New file.
2034         * tests/test-remainderl.c: New file.
2035         * tests/test-math-c++.cc: Check the declaration of remainderl.
2036
2037         New module 'remainderl'.
2038         * lib/math.in.h (remainderl): New declaration.
2039         * lib/remainderl.c: New file.
2040         * m4/remainderl.m4: New file.
2041         * modules/remainderl: New file.
2042         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
2043         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
2044         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
2045         HAVE_REMAINDERL.
2046         * doc/posix-functions/remainderl.texi: Mention the new module.
2047
2048 2012-02-25  Bruno Haible  <bruno@clisp.org>
2049
2050         Tests for module 'remainderf'.
2051         * modules/remainderf-tests: New file.
2052         * tests/test-remainderf.c: New file.
2053         * tests/test-math-c++.cc: Check the declaration of remainderf.
2054
2055         New module 'remainderf'.
2056         * lib/math.in.h (remainderf): New declaration.
2057         * lib/remainderf.c: New file.
2058         * m4/remainderf.m4: New file.
2059         * modules/remainderf: New file.
2060         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
2061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
2062         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
2063         HAVE_REMAINDERF.
2064         * doc/posix-functions/remainderf.texi: Mention the new module.
2065
2066 2012-02-25  Bruno Haible  <bruno@clisp.org>
2067
2068         remainder: Support for MSVC.
2069         * lib/math.in.h (remainder): New declaration.
2070         * lib/remainder.c: New file.
2071         * m4/remainder.m4: New file.
2072         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
2073         (Depends-on): Add math, round, fma.
2074         (configure.ac): Use results of gl_FUNC_REMAINDER.
2075         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
2076         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
2077         HAVE_DECL_REMAINDER.
2078         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
2079         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
2080         * tests/test-math-c++.cc: Check the declaration of remainder.
2081         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
2082         problems are fixed.
2083
2084 2012-02-25  Bruno Haible  <bruno@clisp.org>
2085
2086         Tests for module 'fmodl'.
2087         * modules/fmodl-tests: New file.
2088         * tests/test-fmodl.c: New file.
2089         * tests/test-math-c++.cc: Check the declaration of fmodl.
2090
2091         New module 'fmodl'.
2092         * lib/math.in.h (fmodl): New declaration.
2093         * lib/fmodl.c: New file.
2094         * m4/fmodl.m4: New file.
2095         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
2096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
2097         REPLACE_FMODL.
2098         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
2099         REPLACE_FMODL.
2100         * modules/fmodl: New file.
2101         * doc/posix-functions/fmodl.texi: Mention the new module.
2102
2103 2012-02-25  Bruno Haible  <bruno@clisp.org>
2104
2105         Tests for module 'modfl'.
2106         * modules/modfl-tests: New file.
2107         * tests/test-modfl.c: New file.
2108         * tests/test-math-c++.cc: Check the declaration of modfl.
2109
2110         New module 'modfl'.
2111         * lib/math.in.h (modfl): New declaration.
2112         * lib/modfl.c: New file.
2113         * m4/modfl.m4: New file.
2114         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
2115         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
2116         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
2117         * modules/modfl: New file.
2118         * doc/posix-functions/modfl.texi: Mention the new module.
2119
2120 2012-02-25  Bruno Haible  <bruno@clisp.org>
2121
2122         Tests for module 'fabsl'.
2123         * modules/fabsl-tests: New file.
2124         * tests/test-fabsl.c: New file.
2125         * tests/test-math-c++.cc: Check the declaration of fabsl.
2126
2127         New module 'fabsl'.
2128         * lib/math.in.h (fabsl): New declaration.
2129         * lib/fabsl.c: New file.
2130         * m4/fabsl.m4: New file.
2131         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
2132         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
2133         REPLACE_FABSL.
2134         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
2135         REPLACE_FABSL.
2136         * modules/fabsl: New file.
2137         * doc/posix-functions/fabsl.texi: Mention the new module.
2138
2139 2012-02-25  Bruno Haible  <bruno@clisp.org>
2140
2141         fabs tests: More tests.
2142         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
2143         (zero): New variable.
2144         (main): Add tests for signed zero.
2145         * modules/fabs-tests (Files): Add tests/minus-zero.h.
2146
2147         fabsf tests: More tests.
2148         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
2149         (zero): New variable.
2150         (main): Add tests for signed zero.
2151         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
2152
2153 2012-02-24  Bruno Haible  <bruno@clisp.org>
2154
2155         atanl: Provide function definition on MSVC.
2156         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
2157         function pointer.
2158         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
2159
2160 2012-02-24  Bruno Haible  <bruno@clisp.org>
2161
2162         acosl: Provide function definition on MSVC.
2163         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
2164         function pointer.
2165         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
2166
2167 2012-02-24  Bruno Haible  <bruno@clisp.org>
2168
2169         asinl: Provide function definition on MSVC.
2170         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
2171         function pointer.
2172         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
2173
2174 2012-02-24  Bruno Haible  <bruno@clisp.org>
2175
2176         tanl: Provide function definition on MSVC.
2177         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
2178         function pointer.
2179         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
2180
2181 2012-02-24  Bruno Haible  <bruno@clisp.org>
2182
2183         cosl: Provide function definition on MSVC.
2184         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
2185         function pointer.
2186         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
2187
2188 2012-02-24  Bruno Haible  <bruno@clisp.org>
2189
2190         sinl: Provide function definition on MSVC.
2191         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
2192         function pointer.
2193         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
2194
2195 2012-02-24  Bruno Haible  <bruno@clisp.org>
2196
2197         logl: Provide function definition on MSVC.
2198         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
2199         function pointer.
2200         * lib/math.in.h (logl): Undefine if it does not exist as a function.
2201
2202 2012-02-24  Bruno Haible  <bruno@clisp.org>
2203
2204         expl: Provide function definition on MSVC.
2205         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
2206         function pointer.
2207         * lib/math.in.h (expl): Undefine if it does not exist as a function.
2208
2209 2012-02-24  Bruno Haible  <bruno@clisp.org>
2210
2211         sqrtl: Provide function definition on MSVC.
2212         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
2213         a function pointer.
2214         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
2215
2216 2012-02-24  Bruno Haible  <bruno@clisp.org>
2217
2218         ceill: Provide function definition on MSVC.
2219         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
2220         used as a function pointer.
2221         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
2222
2223 2012-02-24  Bruno Haible  <bruno@clisp.org>
2224
2225         floorl: Provide function definition on MSVC.
2226         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
2227         used as a function pointer.
2228         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
2229
2230 2012-02-24  Bruno Haible  <bruno@clisp.org>
2231
2232         ceilf: Provide function definition on MSVC.
2233         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
2234         used as a function pointer.
2235         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
2236
2237 2012-02-24  Bruno Haible  <bruno@clisp.org>
2238
2239         floorf: Provide function definition on MSVC.
2240         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
2241         used as a function pointer.
2242         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
2243
2244 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2245
2246         stdnoreturn: new module
2247         This implements a replacement for C11's <stdnoreturn.h>.
2248         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
2249         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
2250         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
2251         * tests/test-stdnoreturn.c: New files.
2252
2253 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
2254
2255         regex: fix false multibyte matches in some regular expressions
2256         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
2257         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
2258         * lib/regex_internal.c (re_string_skip_chars):
2259         Fix miscomputation of remain_len that may cause incomplete
2260         multi-byte character and false match.
2261
2262 2012-02-24  Jim Meyering  <meyering@redhat.com>
2263
2264         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
2265         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
2266         uses with "==" *before* the call, e.g., 0 == strcmp (...)
2267         Remove now-unnecessary str''cmp obfuscation.
2268         Suggested by Akim Demaille.
2269
2270 2012-02-24  Bruno Haible  <bruno@clisp.org>
2271
2272         streq: Rename macro.
2273         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
2274         * NEWS: Mention the change.
2275         * lib/mbrtowc.c (mbrtowc): Update.
2276         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
2277         * lib/wcwidth.c (wcwidth): Update.
2278         Suggested by Akim Demaille and Jim Meyering.
2279
2280 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2281
2282         regex: fix typo in definition of MIN
2283         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
2284         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
2285
2286 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2287             Bruno Haible  <bruno@clisp.org>
2288
2289         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
2290         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
2291         entries into a stack-allocated buffer directly.
2292         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
2293
2294 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2295             Bruno Haible  <bruno@clisp.org>
2296
2297         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
2298
2299          - There were several instances of this pattern:
2300
2301              for (;;) {
2302                n = acl (f, GETACLCNT, 0, NULL);
2303                [ allocate an array A of size N ]
2304                if (acl (f, GETACL, n, a) == n)
2305                  break;
2306              }
2307
2308            This loop might never terminate if some other process is constantly
2309            manipulating the file's ACL.  The loop should be rewritten to
2310            terminate.
2311
2312          - The acl (... GETACLNT ...) call is merely an optimization; its value
2313            is merely a hint as to how big to make the array.  A better
2314            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
2315            and just guess a reasonably-big size, growing the size and trying
2316            again if it's not large enough.  This guarantees termination, and
2317            saves a system call.
2318
2319         * lib/acl-internal.h: Include <limits.h>.
2320         (MIN, SIZE_MAX): New macros.
2321         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
2322         a stack-allocated buffer, and use malloc if it does not fit. Don't
2323         use GETACLCNT.
2324         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2325
2326 2012-02-19  Bruno Haible  <bruno@clisp.org>
2327
2328         acl: Fix endless loop on Solaris with vxfs.
2329         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
2330         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
2331         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2332         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
2333         * tests/test-sameacls.c (main)[Solaris]: Likewise.
2334         Reported by Bill Jones in
2335         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
2336
2337 2012-02-19  Bruno Haible  <bruno@clisp.org>
2338
2339         acl: Fix copy-acl test failure on Solaris 11 2011-11.
2340         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
2341         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
2342         that this function returns 0 in some more cases.
2343
2344 2012-02-19  Bruno Haible  <bruno@clisp.org>
2345
2346         acl: Update doc references.
2347         * doc/acl-resources.txt: Update links to Solaris documentation.
2348
2349 2012-02-19  Bruno Haible  <bruno@clisp.org>
2350
2351         Fix test failure in many locales on Solaris 11.
2352         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
2353         'tr' arguments.
2354         * tests/test-pipe-filter-ii1.c (main): Likewise.
2355         * build-aux/bootstrap (check_versions): Run 'tr' command with range
2356         expressions in the C locale.
2357         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2358         * m4/host-os.m4 (gl_HOST_OS): Likewise.
2359
2360 2012-02-19  Bruno Haible  <bruno@clisp.org>
2361
2362         gnulib-tool: Improve usage message.
2363         * gnulib-tool (func_usage): Move doc of --help and --version to the
2364         section "Operation modes".
2365
2366 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
2367
2368         README-release: make it easier to execute commands
2369         * top/README-release: break commands out on to separate lines.
2370
2371 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2372
2373         GNUmakefile: simplify detection of unconfigured trees
2374         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
2375         whether the tree make is being run from is already configured or
2376         not.  Related simplifications.
2377
2378 2012-02-13  Simon Josefsson  <simon@josefsson.org>
2379
2380         * gnulib-tool (func_usage): Document --help and --version.
2381
2382 2012-02-11  Jim Meyering  <meyering@redhat.com>
2383
2384         bootstrap: don't exit 0 upon gnulib-tool failure
2385         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
2386         its exit status, not 0.
2387
2388 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
2389
2390         README-release: various improvements
2391         * top/README-release: Give a command to push changes for the
2392         release.  Add "distcheck" to list of other pre-release checks.
2393         Fix instance of "make stable" which should be "make TYPE".
2394
2395 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2396
2397         maint: replace FSF snail-mail addresses with URLs
2398         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
2399         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
2400         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
2401         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
2402         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
2403         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
2404         * lib/check-version.c, lib/check-version.h, lib/config.charset:
2405         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
2406         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
2407         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
2408         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
2409         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
2410         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
2411         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
2412         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
2413         * lib/glthread/thread.c, lib/glthread/thread.h:
2414         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
2415         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
2416         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
2417         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
2418         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
2419         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
2420         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
2421         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
2422         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
2423         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
2424         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
2425         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
2426         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
2427         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
2428         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
2429         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
2430         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
2431         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
2432         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
2433         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
2434         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
2435         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
2436         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
2437         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
2438         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
2439         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
2440         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
2441         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
2442         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
2443         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
2444         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
2445         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
2446         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
2447         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
2448         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
2449         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
2450         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
2451         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
2452         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
2453         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
2454         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
2455         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
2456         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
2457         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
2458         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
2459         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
2460         * tests/test-poll.c, tests/test-quotearg-simple.c:
2461         * tests/test-quotearg.c, tests/test-quotearg.h:
2462         * tests/test-round-ieee.c, tests/test-round1.c:
2463         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
2464         * tests/test-roundl-ieee.c, tests/test-roundl.c:
2465         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
2466         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
2467         * tests/test-strerror.c, tests/test-strerror_r.c:
2468         * tests/test-strsignal.c, tests/test-strverscmp.c:
2469         * tests/test-xmemdup0.c:
2470         Replace FSF snail mail addresses with URLs, as per GNU coding
2471         standards.  See glibc bug
2472         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
2473
2474 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2475
2476         README-release: capitalize a word and split a line
2477         * top/README-release: Fix punctuation and spacing.
2478
2479 2012-02-08  Akim Demaille  <demaille@gostai.com>
2480
2481         fatal-signal: use C prototypes (with explicit void).
2482         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
2483         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
2484
2485 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2486
2487         regex: spelling fix
2488         * lib/regexec.c: spelling fix
2489
2490         regex: rely on stdint.h for SIZE_MAX
2491         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2492
2493 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2494
2495         regex: merge glibc changes
2496
2497         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
2498         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
2499         (init_word_char): Work even if bitset words are not exactly 32 or
2500         64 bits wide.  Don't assume there are no padding bits.
2501         * lib/regex.c [_LIBC]: Do not include <config.h>.
2502         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
2503         and -Wtype-limits.
2504         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
2505         needless disagreement with glibc.  All uses changed.  Define it to
2506         1 only if _GNU_SOURCE, to match glibc.
2507         (_REG_RM_NAME): Remove; no longer needed, since the names in
2508         question are now all protected by __USE_GNU.
2509         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
2510         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
2511         * lib/regex_internal.h (MIN): New macro.
2512
2513         2012-01-03 Ulrich Drepper <drepper@gmail.com>
2514         * lib/regcomp.c (init_word_char): Optimize regex a bit.
2515
2516         2011-12-30 Jakub Jelinek <jakub@redhat.com>
2517         * lib/regex_internal.c (re_string_fetch_byte_case):
2518         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
2519         is miscompiled, and it turns out it is because of an incorrect
2520         attribute on re_string_fetch_byte_case.  Unlike
2521         re_string_peek_byte_case, this one is really not pure, it modifies
2522         memory (increments pstr->cur_idx), and with the pure attribute GCC
2523         assumed it doesn't and it cached the presumed value of
2524         regexp->cur_idx in a variable across the
2525          for (;; ++i)
2526            {
2527              if (i >= BRACKET_NAME_BUF_SIZE)
2528                return REG_EBRACK;
2529              if (token->type == OP_OPEN_CHAR_CLASS)
2530                ch = re_string_fetch_byte_case (regexp);
2531              else
2532                ch = re_string_fetch_byte (regexp);
2533              if (re_string_eoi(regexp))
2534                return REG_EBRACK;
2535              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
2536                break;
2537              elem->opr.name[i] = ch;
2538            }
2539
2540         2011-11-29 Andreas Schwab <schwab@redhat.com>
2541         * lib/regcomp.c (build_equiv_class):
2542         Fix access after end of search string in regex matcher.
2543
2544         2011-11-12 Ulrich Drepper <drepper@redhat.com>
2545         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2546
2547         2011-10-12 Ulrich Drepper <drepper@redhat.com>
2548         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2549
2550         2011-10-11 Ulrich Drepper <drepper@redhat.com>
2551         * lib/regcomp.c (parse_branch, parse_sub_exp):
2552         More regex memory leak fixes and tests.
2553         (parse_sub_exp, parse_bracket_exp):
2554         Fix memory leak for some invalid regular expressions.
2555
2556         2011-05-28 Ulrich Drepper <drepper@gmail.com>
2557         * lib/regex_internal.c, lib/regexec.c:
2558         Fix unnecessary overallocation due to incomplete character.  When
2559         incomplete characters are found at the end of a string the code
2560         ran amok and allocated lots of memory.  Stricter limits are now in
2561         place.
2562
2563         2011-05-20 Reuben Thomas <rrt@sc3d.org>
2564         * lib/regex.h: Update documentation.
2565
2566         2011-05-16 Aharon Robbins <arnold@skeeve.com>
2567         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
2568
2569         2010-05-05 Andreas Schwab <schwab@redhat.com>
2570         * lib/regexec.c (find_collation_sequence_value):
2571         Fix lookup of collation sequence value during regexp matching.
2572
2573         2010-01-22 Ulrich Drepper <drepper@redhat.com>
2574         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2575
2576         2008-01-16 Ulrich Drepper <drepper@redhat.com>
2577         * lib/regex.h: Cleanup namespace.
2578
2579         2007-11-26 Ulrich Drepper <drepper@redhat.com>
2580         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2581
2582         2007-08-26 Ulrich Drepper <drepper@redhat.com>
2583         * lib/regex_internal.h: Prevent some declarations and definitions
2584         to be seen when used in tests.
2585
2586         2005-05-06 Ulrich Drepper <drepper@redhat.com>
2587         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
2588         __libc_lock_* macros if not _LIBC.
2589         (struct re_dfa_t): Add lock.
2590
2591 2012-02-07  Eric Blake  <eblake@redhat.com>
2592
2593         maint.mk: also prohibit lower-case @var@
2594         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
2595         lower case, like @top_srcdir@.
2596
2597 2012-02-04  Eric Blake  <eblake@redhat.com>
2598
2599         canonicalize: avoid uninitialized memory use
2600         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
2601         random '/' left in dest.
2602         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2603
2604 2012-02-04  Bruno Haible  <bruno@clisp.org>
2605
2606         isatty: Fix test failure of ptsname_r on native Windows.
2607         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
2608         and don't set errno.
2609         (isatty): Test first whether fd is valid. Set errno when returning 0.
2610
2611 2012-02-04  Bruno Haible  <bruno@clisp.org>
2612
2613         spawn-pipe tests: Fix a NULL program name in a diagnostic.
2614         * tests/test-spawn-pipe-main.c: Include progname.h.
2615         (main): Invoke set_program_name.
2616         * modules/spawn-pipe-tests (Depends-on): Add progname.
2617
2618         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
2619         * tests/test-nonblocking-socket-main.c: Include progname.h.
2620         (main): Invoke set_program_name.
2621         * modules/nonblocking-socket-tests (Depends-on): Add progname.
2622
2623         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
2624         * tests/test-nonblocking-pipe-main.c: Include progname.h.
2625         (main): Invoke set_program_name.
2626         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
2627
2628 2012-02-04  Eric Blake  <eblake@redhat.com>
2629
2630         canonicalize-lgpl: fix // handling
2631         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
2632
2633         canonicalize: fix // handling
2634         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
2635         /// to //, since only // is special.
2636
2637 2012-02-04  Bruno Haible  <bruno@clisp.org>
2638
2639         ioctl: Fix test failure on native Windows.
2640         * lib/ioctl.c: Include msvc-nothrow.h.
2641         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2642
2643 2012-02-04  Bruno Haible  <bruno@clisp.org>
2644
2645         fsync: Avoid test failure on native Windows.
2646         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
2647         read-only.
2648
2649 2012-02-04  Bruno Haible  <bruno@clisp.org>
2650
2651         sys_select: Avoid syntax error on OpenBSD 5.0.
2652         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
2653         currently being included, just include the system's <sys/select.h>.
2654
2655 2012-02-04  Bruno Haible  <bruno@clisp.org>
2656
2657         sys_select: Avoid syntax error on OpenBSD 5.0.
2658         * lib/sys_select.in.h: Include <signal.h> only after the include_next
2659         <sys/select.h>, not before.
2660         Reported by Jiri B <jirib@devio.us>.
2661
2662 2012-02-04  Bruno Haible  <bruno@clisp.org>
2663
2664         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
2665         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
2666         global variables.
2667         * tests/test-get-rusage-data.c (main): Likewise.
2668         Reported by Jim Meyering.
2669
2670 2012-02-04  Bruno Haible  <bruno@clisp.org>
2671
2672         stdioext: Fix last commit.
2673         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
2674
2675 2012-02-03  Bruno Haible  <bruno@clisp.org>
2676
2677         stdioext: Add tentative support for Plan9.
2678         * lib/stdio-impl.h: Include <errno.h>.
2679         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2680         * lib/freadable.c (freadable): Likewise.
2681         * lib/fwritable.c (fwritable): Likewise.
2682         * lib/fbufmode.c (fbufmode): Likewise.
2683         * lib/freading.c (freading): Likewise.
2684         * lib/fwriting.c (fwriting): Likewise.
2685         * lib/freadptr.c (freadptr): Likewise.
2686         * lib/freadseek.c (freadptrinc): Likewise.
2687         * lib/freadahead.c (freadahead): Likewise.
2688         * lib/fpurge.c (fpurge): Likewise.
2689         * lib/fseeko.c (rpl_fseeko): Likewise.
2690         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2691         Reported by Jens Staal <staal1978@gmail.com>.
2692
2693 2012-02-02  Jim Meyering  <meyering@redhat.com>
2694
2695         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2696         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2697         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2698         not even to try to add the attribute.  Instead, add a pragma to suppress
2699         the suggestion/warning.
2700
2701 2012-01-31  Karl Berry  <karl@gnu.org>
2702
2703         setstate doc: typo.
2704         * doc/posix-functions/setstate.texi (setstate): { not (.
2705
2706 2012-01-31  Bruno Haible  <bruno@clisp.org>
2707
2708         popen: Make more robust on Windows.
2709         * lib/popen.c: On native Windows, use the _popen based code even if
2710         HAVE_POPEN is set.
2711         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2712         environment variable on native Windows.
2713
2714 2012-01-30  Bruno Haible  <bruno@clisp.org>
2715
2716         pclose: Fix typo.
2717         * lib/stdio.in.h (pclose): Fix typo in warning message.
2718
2719 2012-01-30  Bruno Haible  <bruno@clisp.org>
2720
2721         doc about getlogin_r, setstate.
2722         * doc/posix-functions/getlogin_r.texi: List the incompatible
2723         declaration problem under "not fixed by gnulib".
2724         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2725         problem on Solaris 11 and other platforms.
2726
2727 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2728             Bruno Haible  <bruno@clisp.org>
2729
2730         poll tests: Make test more robust.
2731         * tests/test-poll.c: Include macros.h.
2732         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2733         return value of various I/O operations.
2734         * modules/poll-tests (Files): Add tests/macros.h.
2735
2736 2012-01-30  Bruno Haible  <bruno@clisp.org>
2737
2738         sys_stat: Fix support for mingw64 and MSVC.
2739         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2740         header files already do it.
2741         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2742         stat itself.
2743         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2744
2745 2012-01-30  Bruno Haible  <bruno@clisp.org>
2746
2747         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2748         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2749         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2750
2751 2012-01-29  Bruno Haible  <bruno@clisp.org>
2752
2753         quotearg: Fix test failure on MacOS X 10.5.
2754         * tests/test-quotearg-simple.c: Include localcharset.h.
2755         (main): If the locale encoding is not ASCII, bypass the tests of
2756         locale_quoting_style and clocale_quoting_style.
2757         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2758
2759 2012-01-29  Jim Meyering  <meyering@redhat.com>
2760
2761         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2762         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2763         detect uses of canonicalize_file_name.
2764
2765 2012-01-28  Bruno Haible  <bruno@clisp.org>
2766
2767         test-framework-sh: Fix test failure with AIX 7.1 diff.
2768         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2769         in column 1, like 'diff -c' does.
2770         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2771         whether 'diff -u' is used. Instead, test whether the output contains
2772         some '@' character.
2773
2774 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2775
2776         strtoimax: eliminate need for stdint.h, inttypes.h checks
2777         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2778         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2779         the prerequisites for a recently-introduced strtoimax test.
2780         I guess this might cause strtoimax to be replaced when not
2781         strictly necessary on older hosts, but this shouldn't introduce
2782         any bugs and it should make Emacs 'configure' faster on typical
2783         modern hosts.  Problem discovered when importing the latest gnulib
2784         to an Emacs test version.
2785         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2786
2787 2012-01-28  Bruno Haible  <bruno@clisp.org>
2788
2789         sys_time: Override 'struct timeval' on some native Windows platforms.
2790         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2791         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2792         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2793         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2794         needs to be overridden.
2795         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2796         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2797         * tests/test-sys_select.c: Check that the tv_sec member has the same
2798         size as a 'time_t'.
2799         * tests/test-sys_time.c: Likewise.
2800         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2801         is set, set also REPLACE_GETTIMEOFDAY.
2802         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2803         convert the resulting 'struct timeval' before returning.
2804         * lib/select.c: Include <sys/time.h>.
2805         (select, timeval): Undefine at the right place.
2806         * modules/select (Depends-on): Add sys_time.
2807         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2808         some Windows platforms.
2809         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2810
2811 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2812
2813         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2814         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2815         an integer.
2816         * lib/fcntl.c (dupfd): Likewise.
2817         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2818
2819 2012-01-28  Bruno Haible  <bruno@clisp.org>
2820
2821         fcntl: Avoid compilation error on native Windows.
2822         * modules/fcntl (Depends-on): Add 'close'.
2823
2824 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2825
2826         select, poll, isatty: Avoid warnings on x86_64 mingw64.
2827         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
2828         pointer to an integer.
2829         * lib/poll.c (IsConsoleHandle): Likewise.
2830         * lib/isatty.c (IsConsoleHandle): Likewise.
2831
2832 2012-01-28  Jim Meyering  <meyering@redhat.com>
2833
2834         doc: clarify README-release
2835         * top/README-release: Clarify: you should make a point to have
2836         the latest stable versions of build tools in your PATH, and the
2837         reference to buildreq is solely for its list of tool names, not
2838         for its minimal-functional version numbers.
2839         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
2840
2841         maint.mk: use more readable (yet functionally equivalent) quoting
2842         It is common to quote a single quote in a single quoted string like
2843         this:  '...'\''...'.  Unless you know the idiom, that looks like
2844         gibberish, so prefer to double-quote the string when possible.
2845         Then you can use a more readable, lone single quote: "...'..."
2846         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2847         "don't" is more readable than the equivalent 'don'\''t'.
2848         (sc_cast_of_x_alloc_return_value): Likewise.
2849         (sc_cast_of_alloca_return_value): Likewise.
2850         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2851         rather than '\'':'\''.
2852
2853 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2854
2855         stdalign: relax _Alignof and tighten _Alignas test
2856         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2857         as it was too strict: alignof must divide offsetof, but it need
2858         not equal offsetof.  Inspired by Joseph S. Myers's comment
2859         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2860         Conversely, tighten the _Alignas test a bit, as the resulting
2861         alignment must be exactly 8.
2862
2863 2012-01-27  Bruno Haible  <bruno@clisp.org>
2864
2865         stdalign: Document the last change.
2866         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2867
2868 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2869
2870         stdalign: check that alignof and offsetof are consistent
2871         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2872         Problem reported for gnulib by Richard W.M. Jones in
2873         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2874
2875 2012-01-27  Jim Meyering  <meyering@redhat.com>
2876
2877         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2878         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2879         convert a sequence with gaps to the minimal containing range.
2880         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2881         * tests/test-update-copyright.sh: Test for this.
2882         The FSF confirmed it is ok to do this, assuming there is at
2883         least one significant change per year in the affected range:
2884         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2885
2886 2012-01-26  Bruno Haible  <bruno@clisp.org>
2887
2888         pipe2: refine doc about thread-safety
2889         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2890         multithread-safety problem.
2891         * doc/glibc-functions/accept4.texi: Likewise.
2892
2893 2012-01-26  Bruno Haible  <bruno@clisp.org>
2894
2895         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2896         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2897         In the test program, include <fcntl.h>, for O_RDONLY.
2898
2899 2012-01-26  Eric Blake  <eblake@redhat.com>
2900
2901         pipe2: document lack of thread-safety in replacement
2902         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2903         issue in replacement.
2904         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2905         Based on a report by Eric Wong.
2906
2907 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2908             Bruno Haible  <bruno@clisp.org>
2909
2910         malloca: Avoid warnings on x86_64 mingw64.
2911         * lib/malloca.c: Include <stdint.h>.
2912         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2913         * modules/malloca (Depends-on): Add stdint.
2914         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2915
2916 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2917
2918         obstack: remove __STDC__ conditionals
2919         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2920         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2921         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2922         m4/include_next.m4 as the only gnulib-maintained places that still
2923         refer to __STDC__.
2924
2925 2012-01-24  Bruno Haible  <bruno@clisp.org>
2926
2927         havelib: Modern quoting.
2928         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2929         the recent change to the GNU coding standards.
2930
2931 2012-01-24  Bruno Haible  <bruno@clisp.org>
2932
2933         stdint: Improve support for Android.
2934         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2935         Reported by Simon Josefsson <simon@josefsson.org>.
2936
2937 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2938
2939         doc: omit trailing empty lines from INSTALL etc.
2940         * doc/Makefile (INSTALL): Omit trailing empty lines.
2941         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2942         omit trailing empty lines.  This simplifies the build procedure.
2943
2944 2012-01-23  Jim Meyering  <meyering@redhat.com>
2945
2946         tests: avoid spurious warnings about gl_sockets_startup
2947         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2948         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2949         reporting a "statement with no effect".
2950         * tests/test-accept.c (main): Mark as "(void)".
2951         * tests/test-accept4.c (main): Likewise.
2952         * tests/test-bind.c (main): Likewise.
2953         * tests/test-connect.c (main): Likewise.
2954         * tests/test-getpeername.c (main): Likewise.
2955         * tests/test-getsockname.c (main): Likewise.
2956         * tests/test-getsockopt.c (main): Likewise.
2957         * tests/test-listen.c (main): Likewise.
2958         * tests/test-recv.c (main): Likewise.
2959         * tests/test-recvfrom.c (main): Likewise.
2960         * tests/test-send.c (main): Likewise.
2961         * tests/test-sendto.c (main): Likewise.
2962         * tests/test-setsockopt.c (main): Likewise.
2963         * tests/test-shutdown.c (main): Likewise.
2964
2965 2012-01-21  Bruno Haible  <bruno@clisp.org>
2966
2967         locale-fr.m4: Fix for Android.
2968         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
2969         failure of the test program on Bionic libc.
2970
2971 2012-01-21  Jim Meyering  <meyering@redhat.com>
2972
2973         bootstrap: fail when bootstrap_post_import_hook fails
2974         Otherwise, it's far too easy to miss diagnostics emitted
2975         between gnulib-tool's output and that of running configure.
2976         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
2977
2978 2012-01-17  Jim Meyering  <meyering@redhat.com>
2979
2980         maint: enable sc_trailing_blank
2981         * build-aux/pmccabe.css: Remove trailing blanks.
2982         * doc/acl-cygwin.txt: Likewise.
2983         * doc/gnu-oids.texi: Likewise
2984         * cfg.mk: Enable sc_trailing_blank.
2985         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
2986
2987 2012-01-17  Jim Meyering  <meyering@redhat.com>
2988
2989         maint: enable sc_prohibit_openat_without_use
2990         * cfg.mk: Enable sc_prohibit_openat_without_use.
2991         Exempt lib/selinux-at.c.
2992
2993 2012-01-17  Jim Meyering  <meyering@redhat.com>
2994
2995         maint: enable sc_prohibit_cloexec_without_use
2996         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
2997         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
2998
2999 2012-01-17  Jim Meyering  <meyering@redhat.com>
3000
3001         maint: enable sc_prohibit_intprops_without_use
3002         * cfg.mk: Enable sc_prohibit_intprops_without_use
3003         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
3004
3005 2012-01-17  Jim Meyering  <meyering@redhat.com>
3006
3007         maint: enable sc_prohibit_hash_pjw_without_use
3008         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
3009         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
3010         to match any use of \<hash_pjw\>, i.e., not necessarily with a
3011         following " (".
3012
3013 2012-01-17  Jim Meyering  <meyering@redhat.com>
3014
3015         maint: enable double-word-prohibiting rule
3016         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
3017         Exempt three files.
3018
3019 2012-01-17  Jim Meyering  <meyering@redhat.com>
3020
3021         maint: remove empty lines at EOF, but excluding modules/*
3022         Apply syntax rules at home as well as abroad.  Most changes
3023         were induced by running this:
3024           make srcdir=. _build-aux=build-aux -f top/maint.mk \
3025             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
3026             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
3027         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
3028         Exempt modules/* and two binary files.
3029         Also exempt doc/INSTALL*, per request from Bruno Haible.
3030         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
3031         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
3032         * doc/Copyright/request-assign.future: Likewise.
3033         * doc/Copyright/request-disclaim.changes: Likewise.
3034         * doc/INSTALL: Likewise.
3035         * doc/INSTALL.ISO: Likewise.
3036         * doc/INSTALL.UTF-8: Likewise.
3037         * doc/acl-cygwin.txt: Likewise.
3038         * doc/acl-resources.txt: Likewise.
3039         * doc/fdl-1.2.texi: Likewise.
3040         * doc/fdl-1.3.texi: Likewise.
3041         * doc/fdl.texi: Likewise.
3042         * lib/argp-pin.c: Likewise.
3043         * lib/round.c: Likewise.
3044         * lib/unicase/u16-totitle.c: Likewise.
3045         * lib/unictype/block_test.c: Likewise.
3046         * lib/uninorm/canonical-decomposition.c: Likewise.
3047         * m4/README: Likewise.
3048         * m4/relocatable-lib.m4: Likewise.
3049         * tests/test-isnand-nolibm.c: Likewise.
3050         * tests/test-isnand.c: Likewise.
3051         * tests/uninorm/NormalizationTest.txt: Likewise.
3052
3053 2012-01-17  Jim Meyering  <meyering@redhat.com>
3054
3055         maint: add framework to run syntax-check rules against gnulib sources
3056         * cfg.mk: New file, to disable all currently-failing tests.
3057         We'll enable them one by one, as they are made to pass.
3058         * Makefile (sc_maint): New rule.
3059
3060 2012-01-21  Bruno Haible  <bruno@clisp.org>
3061
3062         stdint: Add support for Android.
3063         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
3064         include the system's <stdint.h>.
3065         Reported by Simon Josefsson <simon@josefsson.org>.
3066
3067 2012-01-19  Jim Meyering  <meyering@redhat.com>
3068
3069         bootstrap: add bootstrap_post_import_hook
3070         Bison does still need something like the gnulib_mk_hook whose
3071         invocation I had to remove along with slurp in commit 767ccd40.
3072         Technically, we could get along without it, but doing so would
3073         have required living with a warning and a mandatory post-bootstrap
3074         automake rerun.
3075         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
3076         (bootstrap_post_import_hook): New function.
3077         Invoke it after gnulib-tool --import and before autoreconf.
3078
3079 2012-01-18  Jim Meyering  <meyering@redhat.com>
3080
3081         gitlog-to-changelog: don't use "no_"-prefixed variable name
3082         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
3083         to enable both --cluster and --no-cluster.  Change variable name,
3084         s/\$no_cluster/$cluster/, and reverse usage to match.
3085
3086         gitlog-to-changelog: use "||", not "or" in expressions
3087         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
3088         expressions.
3089
3090 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
3091
3092         gitlog-to-changelog: new option --no-cluster
3093         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
3094         clustering of adjacent commit messages.
3095
3096 2012-01-17  Jim Meyering  <meyering@redhat.com>
3097
3098         maint: spell file systems with two words, not one
3099         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
3100         two words, not one.
3101
3102 2012-01-16  Jim Meyering  <meyering@redhat.com>
3103
3104         bootstrap: add a FIXME comment to ensure we eventually remove the hack
3105         * build-aux/bootstrap (gnulib_tool_options): Add comment.
3106
3107 2012-01-16  Eric Blake  <eblake@redhat.com>
3108
3109         bootstrap: cater to autoconf 2.59
3110         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
3111         is not available.
3112
3113         bootstrap: properly check for libtool
3114         * build-aux/bootstrap (libtoolize): Also run libtool when older
3115         usage is detected.
3116
3117 2012-01-15  Bruno Haible  <bruno@clisp.org>
3118
3119         Improve support for MSVC 9.
3120         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
3121         clashes on MSVC.
3122         * lib/fcntl.in.h: Likewise.
3123         * lib/stdlib.in.h: Likewise.
3124         * lib/sys_stat.in.h: Likewise.
3125
3126 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3127
3128         gnupload: we hold the master copy of this script now
3129         For motivation and more information, see:
3130         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
3131         * build-aux/gnupload: Make it clear in the heading comments that the
3132         master copy of this file is maintained by gnulib.  Since we are at
3133         it, bump its copyright year and ...
3134         ($scriptversion): ... the date in its version.
3135         ($usage): Patches and bug reports should be sent to the gnulib list,
3136         not the automake one.
3137         * config/srclist.txt: Don't try to sync 'gnupload' from automake
3138         anymore.
3139
3140 2012-01-15  Bruno Haible  <bruno@clisp.org>
3141
3142         Fix module 'random'.
3143         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
3144         initstate, setstate are declared.
3145
3146 2012-01-14  Bruno Haible  <bruno@clisp.org>
3147
3148         Tests for module 'random'.
3149         * modules/random-tests: New file.
3150         * tests/test-random.c: New file, based on tests/test-random_r.c.
3151
3152         New module 'random'.
3153         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
3154         declarations.
3155         * lib/random.c: New file, based on glibc/stdlib/random.c.
3156         * m4/random.m4: New file.
3157         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
3158         HAVE_RANDOM.
3159         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
3160         * modules/random: New file.
3161         * config/srclist.txt: Add an entry for random.c.
3162         * doc/posix-functions/random.texi: Mention the 'random' module.
3163         * doc/posix-functions/initstate.texi: Likewise.
3164         * doc/posix-functions/setstate.texi: Likewise.
3165         * doc/posix-functions/srandom.texi: Likewise.
3166
3167 2012-01-12  Bruno Haible  <bruno@clisp.org>
3168
3169         random_r: Use common idioms.
3170         * lib/random_r.c: Include <stdlib.h> first.
3171
3172         random_r: Override incompatible API on AIX, OSF/1.
3173         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
3174         Override the system function if REPLACE_RANDOM_R is 1.
3175         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
3176         and OSF/1, set REPLACE_RANDOM_R.
3177         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
3178         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
3179         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
3180         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
3181         * doc/glibc-functions/random_r.texi: Likewise.
3182         * doc/glibc-functions/setstate_r.texi: Likewise.
3183
3184         random_r: Support for MSVC 9.
3185         * lib/random_r.c: Include stdint.h, not inttypes.h.
3186
3187 2012-01-12  Eric Blake  <eblake@redhat.com>
3188
3189         inet_ntop: guard extra work by IF_LINT
3190         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
3191         better code generation when not checking for warnings.
3192         Suggested by Paul Eggert and Jim Meyering.
3193
3194         strptime: fix regression on mingw
3195         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
3196         Fix regression.  Reported by Bruno Haible.
3197
3198 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
3199             Bruno Haible  <bruno@clisp.org>
3200
3201         copy-file: add error-code-returning variant.
3202         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
3203         (qcopy_file_preserving): New declaration.
3204         * lib/copy-file.c (qcopy_file_preserving): Renamed from
3205         copy_file_preserving. Change return type to 'int'. Don't emit an error
3206         message here.
3207         (copy_file_preserving): New function.
3208         * tests/test-copy-file.c: Include <stdlib.h>.
3209         (main): Test qcopy_file_preserving if the environment variable
3210         NO_STDERR_OUTPUT is set.
3211         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
3212         with NO_STDERR_OUTPUT
3213         * tests/test-copy-file-2.sh: Likewise.
3214
3215 2012-01-10  Bruno Haible  <bruno@clisp.org>
3216
3217         copy-file: Use 'quote' module consistently.
3218         * lib/copy-file.c (copy_file_preserving): Use quote().
3219
3220         copy-file: Refactor.
3221         * lib/copy-file.c: Include quote.h.
3222         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
3223         message here.
3224         * modules/copy-file (Depends-on): Add quote.
3225
3226         acl: Export qcopy_acl.
3227         * lib/acl.h (qcopy_acl): New declaration.
3228         * lib/copy-acl.c (qcopy_acl): Make non-static.
3229
3230         acl: Rename a local variable.
3231         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
3232
3233         acl: Align return values of copy_acl and qcopy_acl.
3234         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
3235         maybe < -1.
3236
3237 2012-01-11  Eric Blake  <eblake@redhat.com>
3238
3239         strptime: silence gcc warnings
3240         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
3241         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
3242         Reported by Daniel P. Berrange.
3243
3244         inet_ntop: silence gcc warning
3245         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
3246         Reported by Daniel P. Berrange.
3247
3248 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
3249
3250         getloadavg test: skip the test on GNU/Linux without /proc mounted
3251         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
3252         file.  When /proc is not mounted, it always fails with ENOENT.
3253         * tests/test-getloadavg.c (main): Treat ENOENT return code from
3254         getloadavg(3) the same way as ENOSYS and ENOTSUP.
3255
3256 2012-01-10  Bruno Haible  <bruno@clisp.org>
3257
3258         regex: Avoid link error on MSVC 9.
3259         * modules/regex (Depends-on): Add wctype.
3260
3261 2012-01-10  Bruno Haible  <bruno@clisp.org>
3262
3263         doc: Mention --with-tests option.
3264         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
3265         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
3266         --with-tests.
3267         Reported by Reuben Thomas.
3268
3269 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
3270
3271         users.txt: order package names lexicographically.
3272         * users.txt: Order package names lexicographically.
3273
3274 2012-01-10  Jim Meyering  <meyering@redhat.com>
3275
3276         maint.mk: fix description in comment
3277         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
3278
3279         ignore-value: remove deprecated ignore_ptr function
3280         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
3281         * NEWS: Note this.
3282
3283 2012-01-09  Jim Meyering  <meyering@redhat.com>
3284
3285         test-init.sh: avoid a subshell
3286         * tests/test-init.sh: Remove protective subshell.
3287         Suggested by Bernhard Voelker.  While a subshell is normally
3288         required to protect against older shells (Solaris, FreeBSD) that
3289         warn about a missing program before performing redirection, the
3290         shell-selection tests performed by init.sh probably exclude any
3291         offending shell.
3292
3293 2012-01-08  Bruno Haible  <bruno@clisp.org>
3294
3295         setlocale tests: Avoid test failure on Solaris 11 2011-11.
3296         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
3297         variable.
3298
3299 2012-01-08  Bruno Haible  <bruno@clisp.org>
3300
3301         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
3302         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3303         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3304         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
3305         macro.
3306         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
3307         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3308         * lib/spawn_faction_addopen.c: Add workaround implementation if
3309         HAVE_WORKING_POSIX_SPAWN.
3310         * modules/spawn (Makefile): Substitute
3311         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3312         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
3313         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
3314         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3315         (Depends-on): Update conditions.
3316         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
3317         the Solaris 11 bug.
3318
3319 2012-01-08  Bruno Haible  <bruno@clisp.org>
3320
3321         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
3322         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3323         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3324         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
3325         macro.
3326         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
3327         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3328         * lib/spawn_faction_adddup2.c: Add workaround implementation if
3329         HAVE_WORKING_POSIX_SPAWN.
3330         * modules/spawn (Makefile): Substitute
3331         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3332         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
3333         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
3334         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3335         (Depends-on): Update conditions.
3336         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
3337         the Solaris 11 bug.
3338
3339 2012-01-08  Bruno Haible  <bruno@clisp.org>
3340
3341         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
3342         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3343         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3344         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
3345         HAVE_WORKING_POSIX_SPAWN.
3346         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
3347         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
3348         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3349         * lib/spawn_faction_addclose.c: Add workaround implementation if
3350         HAVE_WORKING_POSIX_SPAWN.
3351         * modules/spawn (Makefile): Substitute
3352         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3353         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
3354         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
3355         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3356         (Depends-on): Update conditions.
3357         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
3358         the Solaris 11 bug.
3359
3360 2012-01-08  Bruno Haible  <bruno@clisp.org>
3361
3362         doc: Update for Solaris 11 2011-11.
3363         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
3364         * m4/printf.m4: Update comments.
3365
3366 2012-01-08  Bruno Haible  <bruno@clisp.org>
3367
3368         mktime: Avoid compilation error on Solaris 11.
3369         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
3370
3371 2012-01-08  Bruno Haible  <bruno@clisp.org>
3372
3373         doc: Small fix.
3374         * doc/posix-headers/nl_types.texi: Correct platforms list.
3375
3376 2012-01-08  Simon Josefsson  <simon@josefsson.org>
3377
3378         Add lgpl-3.0 module.
3379         * MODULES.html.sh (Support for building documentation): Add
3380         lgpl-3.0.
3381         * modules/lgpl-3.0: New file.
3382
3383 2012-01-08  Jim Meyering  <meyering@redhat.com>
3384
3385         select.c: indent with spaces, not TABs
3386         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
3387
3388 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3389
3390         quotearg: do not use grave accent for left quote
3391         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
3392         locale_quoting_style.
3393         (quotearg_buffer_restyled): Fix example.
3394         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
3395
3396 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3397
3398         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
3399         Most programs do not have translation catalogs for English and much
3400         less separate catalogs for British and American English.  Drop the
3401         suggestion to translators about these two, and provide it
3402         automatically for Unicode locales.  Like most programs, even those
3403         using American English, we use single quotation marks.  This conflicts
3404         with the American typographic convention, but works better when you
3405         cite the entire error message within double quotes.  It also tries not
3406         to clash with established practice and with what non-gnulib programs
3407         will usually do.
3408         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
3409         using an UTF-8 or GB-18030 locale.  The list of other locales with
3410         quotes was provided by Bruno Haible.
3411         (quotearg_buffer_restyled): Adjust instructions to translators.
3412         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
3413         text, since this would be wrong when using Unicode.
3414         * modules/quotearg: Depend on c-strcaseeq.
3415
3416 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3417
3418         quotearg: fix Wikipedia link
3419         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
3420
3421 2012-01-07  Simon Josefsson  <simon@josefsson.org>
3422
3423         Fix for mingw with MSVC9.
3424         * m4/ld-version-script.m4: Check that compiler rejects version
3425         scripts with syntax errors.  Reported by Bruno Haible
3426         <bruno@clisp.org>.
3427
3428 2012-01-06  Bruno Haible  <bruno@clisp.org>
3429
3430         Talk about "native Windows API", not "Woe32".
3431         * lib/accept4.c: Update comments to mention native Windows.
3432         * lib/execute.c: Likewise.
3433         * lib/fatal-signal.c: Likewise.
3434         * lib/localcharset.c: Likewise.
3435         * lib/nanosleep.c: Likewise.
3436         * lib/nl_langinfo.c: Likewise.
3437         * lib/pclose.c: Likewise.
3438         * lib/pipe-filter-gi.c: Likewise.
3439         * lib/pipe-filter-ii.c: Likewise.
3440         * lib/pipe.c: Likewise.
3441         * lib/pipe2.c: Likewise.
3442         * lib/popen.c: Likewise.
3443         * lib/progreloc.c: Likewise.
3444         * lib/relocatable.c: Likewise.
3445         * lib/sigaction.c: Likewise.
3446         * lib/sigprocmask.c: Likewise.
3447         * lib/spawn-pipe.h: Likewise.
3448         * lib/spawn-pipe.c: Likewise.
3449         * lib/spawni.c: Likewise.
3450         * lib/stat-time.h: Likewise.
3451         * lib/w32spawn.h: Likewise.
3452         * tests/test-isatty.c: Likewise.
3453         * lib/config.charset: More comments.
3454         * doc/gnulib-intro.texi: Mention native Windows.
3455         * doc/posix-functions/_Exit_C99.texi: Likewise.
3456         * doc/posix-headers/fcntl.texi: Likewise.
3457
3458 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
3459
3460         argp: Avoid crash if translator uses % characters in a translation.
3461         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
3462         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3463
3464 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
3465
3466         doc: C11 and C++11 are now official
3467         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
3468         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
3469         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
3470         * modules/stdalign:
3471         Replace references to draft C1X to C11, and to draft C++0X to C++11.
3472
3473 2012-01-06  Bruno Haible  <bruno@clisp.org>
3474
3475         uc-is-grapheme-break tests: Tweak.
3476         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
3477         message.
3478
3479 2012-01-06  Bruno Haible  <bruno@clisp.org>
3480
3481         test-init.sh: correct the test for diff -u
3482         * tests/test-init.sh: Also redirect stdout to /dev/null.
3483
3484 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3485
3486         Use ', not `, for quoting output.
3487         * build-aux/announce-gen (usage, sizes, print_news_deltas)
3488         (print_changelog_deltas, get_tool_versions, main program):
3489         * build-aux/git-version-gen:
3490         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
3491         * build-aux/move-if-change (help):
3492         * build-aux/useless-if-before-free (usage, main program):
3493         * check-module (parse_module_file, usage)
3494         (find_included_lib_files, check_module):
3495         * lib/argmatch.c (main) [TEST]:
3496         * lib/argp-help.c (_help):
3497         * lib/getopt1.c (main) [TEST]:
3498         * lib/git-merge-changelog.c (usage):
3499         * lib/xstrtol-error.c (xstrtol_error):
3500         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3501         * m4/argz.m4 (gl_FUNC_ARGZ):
3502         * m4/bison.m4 (gl_BISON):
3503         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
3504         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
3505         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3506         * m4/fpending.m4 (gl_PREREQ_FPENDING):
3507         * m4/gc-random.m4 (gl_GC_RANDOM):
3508         * m4/intl.m4 (gt_CHECK_DECL):
3509         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
3510         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
3511         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
3512         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
3513         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3514         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
3515         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
3516         * tests/test-dirname.c (main):
3517         * tests/test-getpass.c (main):
3518         * tests/test-iconvme.c (main):
3519         * tests/test-parse-datetime.c (LOG):
3520         * tests/test-xstrtoimax.sh:
3521         * tests/test-xstrtol.sh:
3522         * tests/test-xstrtoll.sh:
3523         * tests/test-xstrtoumax.sh:
3524         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
3525         * top/GNUmakefile (abort-due-to-no-makefile):
3526         Quote 'like this', not `like this', as per the recent change to
3527         the GNU coding standards.
3528
3529 2012-01-05  Bruno Haible  <bruno@clisp.org>
3530
3531         strtoimax: Don't force a replacement on systems where intmax_t is int.
3532         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
3533         'intmax_t' is not larger than 'int'.
3534         Reported by Pádraig Brady <P@draigBrady.com>.
3535
3536 2012-01-05  Bruno Haible  <bruno@clisp.org>
3537
3538         doc: Mention NetBSD bugs.
3539         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
3540         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
3541
3542 2012-01-05  Bruno Haible  <bruno@clisp.org>
3543
3544         strtoumax tests: Enhance tests.
3545         * tests/test-strtoumax.c (main): Add tests for large values.
3546
3547 2012-01-05  Bruno Haible  <bruno@clisp.org>
3548
3549         strtoimax: Work around AIX 5.1 bug.
3550         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
3551         definition.
3552         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
3553         Set HAVE_STRTOIMAX.
3554         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
3555         REPLACE_STRTOIMAX.
3556         * modules/inttypes-incomplete (Makefile.am): Substitute
3557         REPLACE_STRTOIMAX.
3558         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
3559         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
3560         (Depends-on): Update conditions.
3561         * tests/test-strtoimax.c (main): Add tests for large values.
3562         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
3563
3564 2012-01-05  Bruno Haible  <bruno@clisp.org>
3565
3566         inttypes: Modernize.
3567         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
3568         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
3569         (Makefile.am): Update inttypes.h rule.
3570
3571 2012-01-05  Jim Meyering  <meyering@redhat.com>
3572
3573         init.sh: don't waste a subshell just to redirect stderr
3574         * tests/init.sh: In testing for diff -u and diff -c, use a
3575         stderr-redirecting exec inside `...` rather than a subshell.
3576
3577         test-init.sh: avoid failure on HP-UX 11.00
3578         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
3579         resolves to diff -c or cmp.  Reported by Bruno Haible.
3580
3581 2012-01-05  Bruno Haible  <bruno@clisp.org>
3582
3583         Tests for module 'strtoull'.
3584         * modules/strtoull-tests: New file.
3585         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
3586
3587 2012-01-05  Bruno Haible  <bruno@clisp.org>
3588
3589         Tests for module 'strtoll'.
3590         * modules/strtoll-tests: New file.
3591         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
3592
3593 2012-01-05  Bruno Haible  <bruno@clisp.org>
3594
3595         Tests for module 'strtoul'.
3596         * modules/strtoul-tests: New file.
3597         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
3598
3599 2012-01-05  Bruno Haible  <bruno@clisp.org>
3600
3601         Tests for module 'strtol'.
3602         * modules/strtol-tests: New file.
3603         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
3604
3605 2012-01-04  Jim Meyering  <meyering@redhat.com>
3606
3607         test-init.sh: accommodate Solaris 5.10's different diff -u output
3608         * tests/test-init.sh: Also exempt @@ lines from the comparison
3609         of diff output, since Solaris 5.10 and GNU diff formats differ.
3610         Reported by Stefano Lattarini.
3611
3612 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3613
3614         test-posixtm: don't assume signed integer wraparound
3615         * tests/test-posixtm.c (main): Don't assume wraparound semantics
3616         after signed integer overflow.  Inspired by (though it may not
3617         fix) Bruno Haible's bug report in
3618         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
3619
3620         Spell out "Windows 9x" and "Windows XP".
3621         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
3622         "Windows 9x" and "WinXP" with "Windows XP".
3623
3624 2012-01-04  Jim Meyering  <meyering@redhat.com>
3625
3626         test-vc-list-files-cvs.sh: remove obsolete comment
3627         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
3628         double exit.  Now that's all encapsulated via skip_ and Exit.
3629
3630 2012-01-04  Bruno Haible  <bruno@clisp.org>
3631
3632         Talk about "native Windows API", not "Win32".
3633         * lib/classpath.c: Update comments to mention native Windows.
3634         * lib/csharpexec.c: Likewise.
3635         * lib/dup2.c: Likewise.
3636         * lib/error.c: Likewise.
3637         * lib/fcntl.c: Likewise.
3638         * lib/filename.h: Likewise.
3639         * lib/findprog.c: Likewise.
3640         * lib/get-rusage-as.c: Likewise.
3641         * lib/get-rusage-data.c: Likewise.
3642         * lib/getpagesize.c: Likewise.
3643         * lib/javaexec.c: Likewise.
3644         * lib/msvc-inval.c: Likewise.
3645         * lib/msvc-nothrow.c: Likewise.
3646         * lib/nanosleep.c: Likewise.
3647         * lib/nonblocking.c: Likewise.
3648         * lib/printf-parse.c: Likewise.
3649         * lib/setlocale.c: Likewise.
3650         * lib/sigaction.c: Likewise.
3651         * lib/strerror_r.c: Likewise.
3652         * lib/tmpdir.c: Likewise.
3653         * lib/vasnprintf.c: Likewise.
3654         * lib/w32spawn.h: Likewise.
3655         * lib/waitpid.c: Likewise.
3656         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
3657         * m4/locale-ar.m4: Likewise.
3658         * m4/locale-fr.m4: Likewise.
3659         * m4/locale-ja.m4: Likewise.
3660         * m4/locale-tr.m4: Likewise.
3661         * m4/locale-zh.m4: Likewise.
3662         * m4/printf.m4: Likewise.
3663         * tests/test-cloexec.c: Likewise.
3664         * tests/test-copy-acl.sh: Likewise.
3665         * tests/test-copy-file.sh: Likewise.
3666         * tests/test-file-has-acl.sh: Likewise.
3667         * tests/test-set-mode-acl.sh: Likewise.
3668         * tests/test-dup-safer.c: Likewise.
3669         * tests/test-dup2.c: Likewise.
3670         * tests/test-dup3.c: Likewise.
3671         * tests/test-fcntl.c: Likewise.
3672         * tests/test-nonblocking-pipe.h: Likewise.
3673         * tests/test-nonblocking-socket.h: Likewise.
3674         * tests/test-pipe.c: Likewise.
3675         * tests/test-pipe2.c: Likewise.
3676         * tests/test-spawn-pipe-child.c: Likewise.
3677         * doc/acl-resources.txt: Likewise.
3678         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3679         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3680         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3681         * lib/localcharset.c: Update comments to mention native Windows.
3682         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3683         * lib/localename.c: Likewise.
3684         * lib/progreloc.c: Likewise.
3685         * lib/relocatable.c: Likewise.
3686         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3687         (windows_compute_revents): Renamed from win32_compute_revents.
3688         (windows_compute_revents_socket): Renamed from
3689         win32_compute_revents_socket.
3690         * lib/select.c: Update comments to mention native Windows.
3691         (windows_poll_handle): Renamed from win32_poll_handle.
3692         * m4/threadlib.m4: Update comments to mention native Windows.
3693         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3694         --enable-threads=windows instead of --enable-threads=win32. Set
3695         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3696         * lib/glthread/lock.h: Update comments to mention native Windows.
3697         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3698         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3699         USE_WIN32_THREADS.
3700         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3701         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3702         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3703         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3704         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3705         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3706         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3707         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3708         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3709         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3710         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3711         * tests/test-tls.c: Likewise.
3712         Rationale:
3713         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3714         on both 32-bit and 64-bit Windows systems.
3715         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3716         line of distinction is between "native Windows" on one side and Unix/
3717         POSIX systems on the other side. More details in
3718         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3719         Suggested by Paul Eggert.
3720
3721 2012-01-03  Bruno Haible  <bruno@clisp.org>
3722
3723         isatty: Support for MSVC 9.
3724         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3725         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3726         (_isatty_nothrow): New function.
3727         (isatty): Use it instead of _isatty.
3728         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3729         * lib/poll.c (IsConsoleHandle): Likewise.
3730         * lib/select.c (IsConsoleHandle): Likewise.
3731         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3732         (gl_PREREQ_ISATTY): New macro.
3733         * modules/isatty (Depends-on): Add msvc-inval.
3734         (configure.ac): Invoke gl_PREREQ_ISATTY.
3735
3736 2012-01-03  Jim Meyering  <meyering@redhat.com>
3737
3738         maint.mk: remove temporary transition aid from over 1.5 years ago
3739         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3740         purpose was to aid in the transition (avoiding silent malfunction)
3741         from that old name to the new _sc_search_regexp.  This shim was
3742         added by commit 219c504b.
3743
3744         init.sh: do not try to accommodate compare arguments starting with "-"
3745         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3746         compare arguments that start with "-".  Besides, we do not worry
3747         about this when invoking diff or cmp; why start now with sed?
3748         Using "--" to separate options from argument would trigger sed
3749         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3750         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3751
3752 2012-01-02  Bruno Haible  <bruno@clisp.org>
3753
3754         Enhance tests for module 'isatty'.
3755         * modules/isatty-tests (Depends-on): Add pipe-posix.
3756         * tests/test-isatty.c: Include <fcntl.h>.
3757         (DEV_NULL): New macro.
3758         (main): Test the resut of isatty() also on regular files, pipes, and
3759         /dev/null.
3760
3761         New module 'isatty'.
3762         * lib/unistd.in.h (isatty): New declaration.
3763         * lib/isatty.c: New file, based on an idea of
3764         Bastien Roucariès <roucaries.bastien@gmail.com>.
3765         * m4/isatty.m4: New file.
3766         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3767         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3768         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3769         REPLACE_ISATTY.
3770         * modules/isatty: New file.
3771         * doc/posix-functions/isatty.texi: Mention the new module.
3772         Suggested by Paolo Bonzini.
3773
3774 2012-01-02  Bruno Haible  <bruno@clisp.org>
3775
3776         canonicalize: Tweak 2011-12-29 commit.
3777         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3778         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3779
3780 2012-01-02  Jim Meyering  <meyering@redhat.com>
3781
3782         gitlog-to-changelog: describe input syntax in --help output
3783         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3784
3785         gitlog-to-changelog: fix typo in --help: show backslash before email @
3786         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3787         in sources, but not in actual output.
3788
3789 2011-12-30  Jim Meyering  <meyering@redhat.com>
3790
3791         gitlog-to-changelog: don't malfunction when name contains %-directive
3792         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3793         in a name string cause trouble.  E.g., with a user name of "%s",
3794         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3795
3796 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3797
3798         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3799         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3800         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3801         the "  (tiny change)" notation that is appended to the standard
3802         ChangeLog "date  name  email" header line.
3803
3804 2012-01-01  Jim Meyering  <meyering@redhat.com>
3805
3806         test-framework-sh: init.sh: fix "make dist" failure
3807         When using gnulib-tool's --with-tests option and any module that
3808         depends on test-framework-sh, "make dist" would fail due to the
3809         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3810         in the gltests directory, and not in the gllib/ directory.
3811         One way to work around that is to move the EXTRA_DIST += init.sh
3812         from the primary module to the -tests one:
3813         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3814         * modules/test-framework-sh (Makefile.am): ...not here.
3815         Reported by Tom G. Christensen in
3816         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3817
3818         version-etc: update copyright year reported by --version
3819         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
3820
3821 2011-12-31  Pádraig Brady  <P@draigBrady.com>
3822
3823         canonicalize: only stat() if required
3824         * lib/canonicalize.c (canonicalize_filename_mode):
3825         Avoid calling l?stat() when both CAN_MISSING,
3826         and CAN_NOLINKS are set, as we neither need
3827         to resolve symlinks or test component existence.
3828
3829 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3830
3831         doc: cover st_ino issues once; add OpenVMS etc.
3832         * doc/posix-functions/stat.texi (stat):
3833         * doc/posix-functions/lstat.texi (lstat):
3834         * doc/posix-functions/fstatat.texi (fstatat):
3835         * doc/posix-functions/fstat.texi (fstat):
3836         Move general 'struct stat' stuff to sys_stat.texi,
3837         leaving behind a pointer.
3838         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3839         Merge duplicate info about 'struct stat' problems into here.
3840         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
3841         and suggest partial workarounds.
3842
3843         same-inode: port to OpenVMS
3844         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3845         three st_ino values.
3846
3847 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3848
3849         canonicalize: fix references to stat() and lstat()
3850         * lib/canonicalize.c (canonicalize_filename_mode):
3851         Ensure references always resolve to a replacement
3852         function if required (even via a macro).
3853
3854 2011-12-30  Jim Meyering  <meyering@redhat.com>
3855
3856         gitlog-to-changelog: remove a little duplication
3857         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3858         rather than twice.
3859
3860 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3861
3862         canonicalize: add support for not resolving symlinks
3863         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3864         indicate we don't want to follow symlinks.  Also
3865         provide CAN_MODE_MASK to aid setting these existing
3866         mutually exclusive values.
3867         * lib/canonicalize.c (canonicalize_filename_mode):
3868         Extract the flags from can_mode parameter, which
3869         are currently just used to select between stat()
3870         and lstat().  Also ensure that mutually exclusive
3871         values are flagged immediately as invalid.
3872         * tests/test-canonicalize.c: Verify symlinks are
3873         not followed, and that invalid flag combinations
3874         are diagnosed.
3875
3876 2011-12-25  Jim Meyering  <meyering@redhat.com>
3877
3878         gitlog-to-changelog: do not clump multi-paragraph entries
3879         Identical header lines (date,name,email+coauthors) are suppressed,
3880         thus putting all entries with those same characteristics under
3881         a single header.  However, when a log entry consists of two or
3882         more paragraphs, it may not be clear where it starts and ends.
3883         This change makes it so that such an entry is always separated
3884         from others by a header line, even when that header would
3885         otherwise be suppressed.
3886         * build-aux/gitlog-to-changelog: Implement the above.
3887         Inspired by a related request from Stefano Lattarini in
3888         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3889
3890 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3891
3892         announce-gen: fix `cmd' typo in diagnostic
3893         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3894         diagnostic: a missing '$' meant that the command was not output.
3895
3896 2011-12-23  Jim Meyering  <meyering@redhat.com>
3897
3898         test-framework-sh: distribute init.sh
3899         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3900         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3901         fail due to the lack of init.sh.
3902
3903         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3904         * modules/atexit-tests: Rather than listing tests/init.sh,
3905         now that there's a module for it, simply depend on that new module.
3906         * modules/closein-tests: Likewise.
3907         * modules/exclude-tests: Likewise.
3908         * modules/getcwd-tests: Likewise.
3909         * modules/perror-tests: Likewise.
3910         * modules/pread-tests: Likewise.
3911         * modules/pwrite-tests: Likewise.
3912         * modules/vc-list-files-tests: Likewise.
3913         * modules/verify-tests: Likewise.
3914         * modules/xalloc-die-tests: Likewise.
3915         * modules/xstrtoimax-tests: Likewise.
3916         * modules/xstrtol-tests: Likewise.
3917         * modules/xstrtoll-tests: Likewise.
3918         * modules/xstrtoumax-tests: Likewise.
3919         * modules/yesno-tests: Likewise.
3920
3921 2011-12-22  Jim Meyering  <meyering@redhat.com>
3922
3923         test-framework-sh: add minimal tests of init.sh's compare function
3924         * modules/test-framework-sh-tests: New file.
3925         * tests/test-init.sh: New file.
3926
3927         test-framework-sh: new module
3928         * modules/test-framework-sh: New file.
3929         * MODULES.html.sh (Support for maintaining and releasing projects):
3930         List it.
3931
3932         init.sh: do not emit simulated diff output to stderr
3933         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3934
3935 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3936
3937         .gitignore: ignore gnulib.dvi and regex.info
3938         * doc/.gitignore:add gnulib.dvi and regex.info
3939
3940 2011-12-22  Jim Meyering  <meyering@redhat.com>
3941
3942         init.sh: correct previous change
3943         * tests/init.sh (compare): My previous change was wrong.
3944         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3945
3946         init.sh: avoid unwarranted test failure when using "set -e"
3947         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3948         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3949         a use like "compare exp out" would get evoke an unconditional failure.
3950
3951 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3952
3953         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3954         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3955         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3956         autoreconf that did not.
3957         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3958         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3959
3960 2011-12-17  Jim Meyering  <meyering@redhat.com>
3961
3962         bootstrap: remove some now-unneeded code
3963         This script arose back when gnulib-tool was young.
3964         Since then, it has seen improvements that render much of this
3965         script unnecessary.  In particular, it can now make symlinks
3966         to the files it uses.  Also, I no longer see as much value in
3967         marking files as read-only via comments.
3968         If you relied on the symlink-creation feature of the preceding
3969         version of this script, you can get most of that functionality
3970         by adding the --symlink option to the definition of
3971         gnulib_tool_option_extras in your bootstrap.conf file.
3972         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
3973         Run autopoint and libtoolize *before* gnulib-tool.
3974         After it, run an abbreviated autoreconf, rather than a loop around
3975         all tools.
3976         (slirp, bt_mark_as_generated): Remove functions.
3977
3978 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3979
3980         ftoastr: fix typo
3981         * lib/ftoastr.h: Fix misspelling in comment.
3982
3983 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
3984
3985         * top/README-release: fix punctuation.
3986
3987 2011-12-17  Jim Meyering  <meyering@redhat.com>
3988
3989         bootstrap: correct the recent buildreq change
3990         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
3991         had no effect.
3992         * build-aux/bootstrap (buildreq): Bracket each search term with
3993         "*...*", so that the shell "case" statement works as intended.
3994         Add comments.
3995
3996 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
3997
3998         build: let bootstrap resort to wget when downloading .po files
3999         * build-aux/bootstrap (download_po_files): Fallback to wget when
4000         downloading the .po files via rsync fails.  This is necessary to
4001         bootstrap from behind a strict firewall.
4002
4003 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4004
4005         stdint: don't assume C++11 when compiling with g++
4006         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
4007         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
4008         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
4009         work also in C++ before C++11, as that improperly inhibits
4010         generating a substitute stdint.h for that case.
4011
4012 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4013
4014         alloca: protect comment from gnulib-tool
4015         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
4016         that gnulib-tool doesn't think it's a license, and munge it to
4017         say "GCC version 3".
4018
4019 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
4020
4021         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
4022         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
4023         $(abs_top_builddir) instead of $(top_builddir).
4024
4025 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
4026
4027         strftime-tests: also test nanoseconds
4028         * tests/test-strftime.c (T): Add a test of %N.
4029
4030 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
4031
4032         inttypes, stdint: add C++11 support
4033         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
4034         when including inttypes.h and stdint.h.  Support this change to
4035         the standard.
4036         * doc/posix-headers/inttypes.texi (inttypes.h):
4037         * doc/posix-headers/stdint.texi (stdint.h): Document this.
4038         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
4039         Define if not defined already, for the benefit of pre-C++11 hosts.
4040         Define the standard format macros (e.g., PRId8) always.
4041         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
4042         Likewise, if __cpluspus.  Define the standard constant and limit
4043         macros (e.g., INT8_C, INT8_MAX) always.
4044         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
4045         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
4046         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
4047         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
4048         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
4049         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
4050         Likewise.
4051
4052 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
4053
4054         nonblocking tests: Fix test failure on Linux/PPC.
4055         Suggested by Prerna Saxena in
4056         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
4057         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
4058         Set to 1100000.
4059
4060 2011-12-12  Jim Meyering  <meyering@redhat.com>
4061
4062         argmatch: don't hard-code `' when listing valid option arguments
4063         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
4064         use the quote function to add quotes.  Use fputs rather than
4065         fprintf for the format string with no format directive.
4066
4067 2011-12-07  Eric Blake  <eblake@redhat.com>
4068
4069         bootstrap: detect tools required by gnulib-tool
4070         * build-aux/bootstrap (buildreq): Provide minimum implicit
4071         dependencies.
4072         * DEPENDENCIES: Mention patch as a prereq.
4073
4074 2011-12-04  Bruno Haible  <bruno@clisp.org>
4075
4076         sethostname: Port to Windows platforms.
4077         * lib/sethostname.c: Provide an alternate implementation for Windows
4078         platforms.
4079         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
4080         (main): Skip the test if sethostname() fails with EPERM. On Windows
4081         platforms, don't check the result of gethostname().
4082
4083 2011-12-04  Bruno Haible  <bruno@clisp.org>
4084             Jim Meyering  <meyering@redhat.com>
4085
4086         tests: Avoid spurious error message on platforms without mktemp program.
4087         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
4088
4089 2011-12-04  Bruno Haible  <bruno@clisp.org>
4090
4091         sethostname: Fix documentation.
4092         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
4093         "not fixed" section.
4094
4095 2011-12-03  Bruno Haible  <bruno@clisp.org>
4096
4097         gnulib-tool: Verify that the License field is present and non-empty.
4098         * gnulib-tool (func_get_license_raw): New function, extracted from
4099         func_get_license.
4100         (func_get_license): Use it. Warn if the module is not a test module and
4101         has no license.
4102         Suggested by Jim Meyering.
4103
4104 2011-12-03  Bruno Haible  <bruno@clisp.org>
4105
4106         sethostname tests: Fix link error on mingw.
4107         * tests/test-sethostname1.c: New file, extracted from
4108         tests/test-sethostname.c.
4109         * tests/test-sethostname2.c: New file, extracted from
4110         tests/test-sethostname.c.
4111         * tests/test-sethostname.c: Remove file.
4112         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
4113         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
4114         (Depends-on): Add gethostname.
4115         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
4116         Link the latter with $(GETHOSTNAME_LIB).
4117
4118         sethostname tests: Fix compilation error on mingw.
4119         * tests/test-sethostname.c: Don't include <sys/types.h>.
4120         (geteuid): Use a dummy value without uid_t.
4121         * modules/sethostname-tests (Depends-on): Remove sys_types.
4122
4123         sethostname tests: Avoid a gcc warning.
4124         * tests/test-sethostname.c (main): Remove an unused variable.
4125
4126         Tweak last commit.
4127         * modules/sethostname-tests (Files): Sort by decreasing importance.
4128         (configure.ac): Check for geteuid.
4129         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
4130         the test when there's nothing to test. Drop an unnecessary cast.
4131         Improve an error message. Verify that the final sethostname() call
4132         succeeds.
4133
4134 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4135
4136         Add a test suite for the sethostname module.
4137         * modules/sethostname-tests: New file.  A test program
4138         for the sethostname module.
4139         * tests/test-sethostname.c: Likewise.
4140
4141 2011-12-03  Bruno Haible  <bruno@clisp.org>
4142
4143         Tweak last commit.
4144         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
4145         Fix preprocessor directives indentation. Fix typos.
4146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
4147         * modules/unistd (Makefile): Likewise.
4148
4149 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4150
4151         Integrate the sethostname module into unistd.
4152         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
4153         into the unistd.h header.
4154         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
4155         preprocessor directives.
4156         * modules/unistd: Setup the Makefile substitutions of the
4157         SETHOSTNAME preprocessor directives.
4158
4159 2011-12-03  Bruno Haible  <bruno@clisp.org>
4160
4161         Tweak last commit.
4162         * lib/sethostname.c: Don't include <string.h>.
4163         (sethostname): No need to copy the argument string to the stack. Don't
4164         call clearerr. Preserve errno when fprintf failed.
4165         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
4166         Don't invoke AC_REPLACE_FUNCS.
4167         * modules/sethostname (Link): Remove empty section.
4168         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
4169         failure problem.
4170
4171 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4172
4173         New module 'sethostname'.
4174         * lib/sethostname.c (sethostname): New file.  Provide sethostname
4175         for systems that lack it.
4176         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
4177         sethostname declaration and function.
4178         * modules/sethostname: New file.  Define the sethostname module.
4179
4180 2011-12-03  Bruno Haible  <bruno@clisp.org>
4181
4182         Tweak last commit.
4183         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
4184
4185 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4186
4187         Split the HOST_NAME_MAX detection into a separate m4 macro.
4188         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
4189         macro so it can be used by the pending sethostname module.
4190
4191 2011-12-03  Bruno Haible  <bruno@clisp.org>
4192
4193         Fix module descriptions syntax.
4194         * modules/argv-iter (License): Fix syntax.
4195         * modules/di-set (License): Likewise.
4196         * modules/ino-map (License): Likewise.
4197         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
4198
4199 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
4200
4201         stdalign: port to Clang 3.0
4202         Problem reported by Simon Josefsson in
4203         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
4204         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
4205         which has <stdalign.h> but which does not define alignof.
4206         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
4207
4208 2011-12-01  Eric Blake  <eblake@redhat.com>
4209
4210         mktempd: silence dd usage
4211         * build-aux/mktempd (rand_bytes): Silence dd.
4212
4213 2011-11-30  Simon Josefsson  <simon@josefsson.org>
4214
4215         manywarnings: Don't mention gcc version in docstring.
4216         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
4217         Jim Meyering <meyering@redhat.com>.
4218
4219 2011-11-30  Jim Meyering  <meyering@redhat.com>
4220
4221         hash: mark a few floating point constants with "f" suffix
4222         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
4223         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
4224         floating point constants with "f", since they're destined to be
4225         saved/used as "float"s.
4226
4227 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
4228
4229         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
4230         * tests/test-float.c (test_long_double): Correct and re-enable the
4231         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
4232
4233 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
4234
4235         Avoid subtracting two pointers that don't point into the same block.
4236         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
4237         only pointers into the same memory block are subtracted. We cannot
4238         assume that sizeof (ptrdiff_t) == sizeof (void *).
4239
4240 2011-11-29  Eric Blake  <eblake@redhat.com>
4241
4242         maint.mk: add syntax check for use of compare from init.sh
4243         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
4244         moved here from coreutils.
4245
4246         manywarnings: drop -Wunsuffixed-float-constants
4247         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
4248         '1.0D', which is the only way to silence this warning for 'double'.
4249
4250 2011-11-29  Jim Meyering  <meyering@redhat.com>
4251
4252         hash: mark compute_bucket_size with the pure attribute
4253         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
4254
4255         quotearg, propername: correct pragma guard expression
4256         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
4257         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
4258
4259 2011-11-28  Jim Meyering  <meyering@redhat.com>
4260
4261         propername: do not mark proper_name with the const attribute
4262         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
4263         since it examines data pointed to by its parameter.
4264         * lib/propername.c (proper_name): Instead, add a pragma to suppress
4265         the suggestion from -Wsuggest-attribute=const.
4266
4267         propername: mark one more function as const
4268         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
4269
4270 2011-11-27  Jim Meyering  <meyering@redhat.com>
4271
4272         mark functions with const and pure attributes
4273
4274         Mark functions per suggestions from gcc-4.6 when using these options:
4275         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
4276         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
4277         Follow these guidelines: when possible, apply the attribute to
4278         an extern declaration, not to its definition.  Apply it to the
4279         definition only when the definition is static.
4280         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
4281         * lib/argv-iter.h (argv_iter_n_args): Likewise.
4282         * lib/base64.h (isbase64): Likewise.
4283         * lib/basename-lgpl.c (last_component, base_len): Likewise.
4284         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
4285         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
4286         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
4287         (c_tolower, c_toupper): Likewise.
4288         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
4289         * lib/chdir-long.c (find_non_slash): Likewise.
4290         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
4291         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
4292         * lib/file-type.h (file_type): Likewise.
4293         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
4294         * lib/filevercmp.c (verrevcmp): Likewise.
4295         * lib/freadahead.h (freadahead): Likewise.
4296         * lib/fts.c (fts_maxarglen): Likewise.
4297         * lib/hash-pjw.h (hash_pjw): Likewise.
4298         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
4299         * lib/hash.c (is_prime, next_prime): Likewise.
4300         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
4301         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
4302         (hash_table_ok, hash_get_first, hash_string): Likewise.
4303         (compute_bucket_size): Likewise.
4304         * lib/i-ring.h (i_ring_empty): Likewise.
4305         * lib/isnan.c (isnanl): Likewise.
4306         * lib/math.h (isnanl, rpl_isnanl): Likewise.
4307         * lib/memcasecmp.h (memcasecmp): Likewise.
4308         * lib/memchr2.h (memchr2): Likewise.
4309         * lib/memcmp2.h (memcmp2): Likewise.
4310         * lib/parse-datetime.y (lookup_zone): Likewise.
4311         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
4312         [!WINDOWS_SOCKETS]: Likewise.
4313         * lib/strnlen1.h (strnlen1): Likewise.
4314         * lib/uniwidth.in.h (uc_width): Likewise.
4315         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
4316         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
4317         (quoting_options_from_style): Add a comment.
4318         * lib/propername.h (proper_name): Add a comment.
4319
4320 2011-11-27  Bruno Haible  <bruno@clisp.org>
4321
4322         Remove unused macros from !_LIBC code in glibc-borrowed files.
4323         * lib/fnmatch.c (STRCOLL): Remove macro.
4324         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
4325         * lib/glob.c (__stat, __readdir64): Remove macros.
4326         * lib/tempname.c (__open64, __xstat64): Remove macros.
4327         Suggested by Paul Eggert.
4328
4329 2011-11-27  Bruno Haible  <bruno@clisp.org>
4330
4331         getcwd: Fix link error on MSVC 9.
4332         * modules/getcwd (Depends-on): Add readdir, rewinddir.
4333
4334 2011-11-27  Bruno Haible  <bruno@clisp.org>
4335
4336         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
4337         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
4338         HAVE_OPENDIR is 0.
4339         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
4340         HAVE_CLOSEDIR is 0.
4341         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
4342         is 0.
4343         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
4344
4345 2011-11-27  Bruno Haible  <bruno@clisp.org>
4346
4347         getcwd: Fix bug from 2011-08-17.
4348         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
4349         platforms that need it.
4350         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
4351         code of 4 to be a failure, not a success. This ensures that
4352         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
4353
4354 2011-11-27  Bruno Haible  <bruno@clisp.org>
4355
4356         binary-io tests: Avoid test failure on mingw when libtool is used.
4357         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
4358         Don't verify the size of t-bin-out1.tmp here.
4359         * tests/test-binary-io.sh: Verify it here.
4360         Reported by Simon Josefsson.
4361
4362 2011-11-26  Bruno Haible  <bruno@clisp.org>
4363
4364         Fix conflict between two instantiations of module 'unistd'.
4365         * gnulib-tool (func_emit_autoconf_snippet): Substitute
4366         ${include_guard_prefix} also in the autoconf snippet.
4367         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
4368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
4369         GNULIB_UNISTD_H_GETOPT.
4370         * modules/getopt-posix (configure.ac): Set the
4371         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
4372         * modules/getopt-gnu (configure.ac): Likewise.
4373         * modules/unistd (Makefile.am): Change the substitution value of
4374         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
4375         Reported by Simon Josefsson.
4376
4377 2011-11-25  Bruno Haible  <bruno@clisp.org>
4378
4379         pagealign_alloc: Doc and comments.
4380         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
4381         module.
4382         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
4383
4384 2011-11-25  Jim Meyering  <meyering@redhat.com>
4385
4386         test-update-copyright.sh: avoid false-positive failure
4387         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
4388         around false positive failure on Cygwin/Windows.  The latter was
4389         matching erroneously-created files with names like
4390         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
4391
4392 2011-11-25  Simon Josefsson  <simon@josefsson.org>
4393
4394         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
4395         * m4/valgrind-tests.m4: Check that the parameters that will be
4396         used works, not just a subset of them.  Reported by Bruno Haible
4397         <bruno@clisp.org>.
4398
4399 2011-11-24  Jim Meyering  <meyering@redhat.com>
4400
4401         test-stdalign.c: comment out long double tests
4402         * tests/test-stdalign.c: Don't try to reduce alignment of long double
4403         variables.  That provokes errors like this from gcc-4.7.0 20111124:
4404         error: '_Alignas' specifiers cannot reduce alignment of \
4405         'static_longdouble_alignas'.
4406
4407 2011-11-22  Jim Meyering  <meyering@redhat.com>
4408
4409         init.sh: make "compare /dev/null FILE" output more readable
4410         * tests/init.sh (compare_): Document the preferred order of arguments.
4411         (emit_diff_u_header_): New function.
4412         (compare_dev_null_): Emit a simulated diff, rather than just the
4413         contents of the unexpected file.  Suggestion from Bruno Haible.
4414
4415 2011-11-21  Jim Meyering  <meyering@redhat.com>
4416             Eric Blake  <eblake@redhat.com>
4417
4418         init.sh: work around OSF/1 5.1's mishandling of /dev/null
4419         * tests/init.sh: Make our compare function slightly more portable.
4420         Reported by Bruno Haible in
4421         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
4422
4423 2011-11-21  Simon Josefsson  <simon@josefsson.org>
4424
4425         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
4426         before using it, in code that ends up in config.h.
4427
4428 2011-11-20  Bruno Haible  <bruno@clisp.org>
4429
4430         getcwd: Work around getcwd bug on AIX 5..7.
4431         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
4432         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
4433         Use a different value for gl_cv_func_getcwd_path_max. Move the
4434         definition of HAVE_PARTLY_WORKING_GETCWD from here...
4435         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
4436         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
4437         Define HAVE_MINIMALLY_WORKING_GETCWD.
4438         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
4439         where it is not even minimally working, that is, on AIX.
4440         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
4441         m4/getcwd-path-max.m4.
4442         (main): Update exit code computation.
4443         * doc/posix-functions/getcwd.texi: Mention list of platforms where
4444         getcwd does not handle long file names.
4445
4446 2011-11-20  Bruno Haible  <bruno@clisp.org>
4447
4448         getcwd: Fix bug from 2009-09-10.
4449         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
4450         like "no".
4451
4452 2011-11-20  Simon Josefsson  <simon@josefsson.org>
4453
4454         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
4455
4456 2011-11-20  Bruno Haible  <bruno@clisp.org>
4457
4458         fma tests: Avoid shadowing local variables.
4459         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
4460         expected.
4461
4462 2011-11-20  Bruno Haible  <bruno@clisp.org>
4463
4464         copysignf tests: Fix.
4465         * tests/test-copysignf.c: Fix signature check.
4466
4467 2011-11-20  Bruno Haible  <bruno@clisp.org>
4468
4469         fma: Remove unused code.
4470         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
4471         unused macros.
4472
4473 2011-11-20  Bruno Haible  <bruno@clisp.org>
4474
4475         sethostname: Fix doc about AIX.
4476         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
4477         sethostname; it has it.
4478
4479         sethostname: Mention more portability problems.
4480         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
4481         problem.
4482         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4483
4484 2011-11-19  Bruno Haible  <bruno@clisp.org>
4485
4486         Depend on module fcntl-h when AT_FDCWD is used.
4487         * modules/utimens (Depends-on): Add fcntl-h.
4488         * modules/areadlinkat (Depends-on): Likewise.
4489         * modules/areadlinkat-with-size (Depends-on): Likewise.
4490         * modules/faccessat (Depends-on): Likewise.
4491         * modules/fchmodat (Depends-on): Likewise.
4492         * modules/fchownat (Depends-on): Likewise.
4493         * modules/getcwd (Depends-on): Likewise.
4494         * modules/mkdirat (Depends-on): Likewise.
4495         * modules/mkfifoat (Depends-on): Likewise.
4496         * modules/readlinkat (Depends-on): Likewise.
4497         * modules/symlinkat (Depends-on): Likewise.
4498         * modules/dup2-tests (Depends-on): Likewise.
4499         * modules/fdutimensat-tests (Depends-on): Likewise.
4500         * modules/futimens-tests (Depends-on): Likewise.
4501
4502 2011-11-19  Bruno Haible  <bruno@clisp.org>
4503
4504         euidaccess: Update a comment.
4505         * lib/euidaccess.c: Update comment about platforms with faccessat.
4506
4507 2011-11-19  Bruno Haible  <bruno@clisp.org>
4508
4509         openat: Fix file list.
4510         * modules/openat (Files): Remove lib/at-func.c.
4511
4512 2011-11-19  Bruno Haible  <bruno@clisp.org>
4513
4514         fstatat: Simplify.
4515         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
4516         gnulib should define rpl_fstatat, there is a
4517         "#define fstatat rpl_fstatat" in <sys/stat.h>.
4518
4519 2011-11-19  Bruno Haible  <bruno@clisp.org>
4520
4521         Ensure 'inline' can be used in tests/test-utimens-common.h.
4522         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
4523         * modules/futimens-tests (configure.ac): Likewise.
4524         * modules/utimens-tests (configure.ac): Likewise.
4525         * modules/utimensat-tests (configure.ac): Likewise.
4526
4527 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4528
4529         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
4530         not hash_insert0.
4531         (hash_insert_if_absent): Doc fix.
4532
4533 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4534
4535         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
4536
4537 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4538
4539         test-getcwd: disambiguate exit status
4540         * tests/test-getcwd.c (test_long_name): Return 0..7.
4541         (main): Exit with an unambiguous exit status.  The old
4542         code yielded a mysterious mixture of two failure codes.
4543
4544         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
4545         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
4546         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
4547         rpl_fstatat or fstatat.  This should fix the other problem
4548         reported by Kai Habel in
4549         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4550         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
4551         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
4552         and I reproduced it on a Solaris 8 host we still have in production.
4553
4554 2011-11-18  Jim Meyering  <meyering@redhat.com>
4555
4556         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
4557         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
4558         Add a sentence to the comment.
4559         (hash_insert0): New function that simply calls hash_insert_if_absent.
4560         * lib/hash.h (hash_insert_if_absent): Declare it.
4561         (hash_insert0): Add deprecation attribute.
4562         (_GL_ATTRIBUTE_DEPRECATED): Define.
4563         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
4564         not hash_insert0.
4565         * NEWS: Mention it, even though it's not really an incompatible change.
4566
4567 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
4568
4569         openat: avoid compilation failure due to lack of <errno.h> inclusion
4570         * lib/openat.c: Include <errno.h>.
4571
4572 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4573
4574         * modules/getcwd (Depends-on): Add fdopendir.
4575         This fixes one of the two problems reported by Kai Habel in
4576         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4577
4578         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
4579         stdalign problem reported by Ian Beckwith in
4580         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
4581         * modules/crypto/gc-arcfour (Depends-on):
4582         Depend conditionally on crypto/arcfour.
4583         * modules/crypto/gc-arctwo (Depends-on):
4584         Depend conditionally on crypto/arctwo.
4585         * modules/crypto/gc-des (Depends-on):
4586         Depend conditionally on crypto/des.
4587         * modules/crypto/gc-hmac-md5 (Depends-on):
4588         Depend conditionally on crypto/hmac-md5.
4589         * modules/crypto/gc-hmac-sha1 (Depends-on):
4590         Depend conditionally on crypto/hmac-sha1.
4591         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
4592         * modules/crypto/gc-md4 (Depends-on):
4593         Depend conditionally on crypto/md4.
4594         * modules/crypto/gc-md5 (Depends-on):
4595         Depend conditionally on crypto/md5.
4596         * modules/crypto/gc-rijndael (Depends-on):
4597         Depend conditionally on crypto/rijndael.
4598         * modules/crypto/gc-sha1 (Depends-on):
4599         Depend conditionally on crypto/sha1.
4600         * modules/crypto/gc-arcfour:
4601         * modules/crypto/gc-arctwo:
4602         * modules/crypto/gc-des:
4603         * modules/crypto/gc-hmac-md5:
4604         * modules/crypto/gc-hmac-sha1:
4605         * modules/crypto/gc-md2:
4606         * modules/crypto/gc-md4:
4607         * modules/crypto/gc-md5:
4608         * modules/crypto/gc-rijndael:
4609         * modules/crypto/gc-sha1:
4610         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
4611         now that the conditional dependencies do the work for us.
4612
4613 2011-11-17  Jim Meyering  <meyering@redhat.com>
4614
4615         tests: factor st_ctime-comparison out of two headers
4616         * tests/test-utimens-common.h (ctime_compare): Define.
4617         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
4618         * tests/test-lutimens.h (test_lutimens): Likewise.
4619         * tests/test-utimens.h (test_utimens): Likewise.
4620
4621         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
4622         Invoke the test program via an init.sh-using wrapper.
4623         * tests/test-getcwd.sh: New file.
4624         * modules/getcwd-tests (Files): Add it.
4625         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
4626
4627 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
4628
4629         gitlog-to-changelog: support multi-author commits.
4630         The FSF cares about keeping track of all authors of patches to its
4631         projects, but Git doesn't provide obvious support for multi-author
4632         changesets. Consensus seems to be forming around the use of extra
4633         Signed-off-by inspired lines in the log message formatted as
4634         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
4635         multi-author commits between version control systems.
4636         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
4637         log message and output in standard ChangeLog multi-author format.
4638         Reported by Peter Rosin <peda@lysator.liu.se>
4639
4640 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
4641             Bruno Haible  <bruno@clisp.org>
4642
4643         Fix some modules' file list.
4644         * modules/fstatat (Files): Add m4/lstat.m4.
4645         * modules/openat (Files): Likewise.
4646         * modules/unlinkat (Files): Likewise.
4647
4648 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
4649
4650         maint.mk: fix tight-scope.mk generation in VPATH builds.
4651         * top/maint.mk (tight-scope.mk): Make sure to prefix file
4652         reference with $(srcdir) so that the file is found correctly even
4653         when running `make syntax-check' in a VPATH build.
4654
4655 2011-11-13  Bruno Haible  <bruno@clisp.org>
4656             Jim Meyering  <meyering@redhat.com>
4657
4658         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
4659         * tests/init.sh (compare): Remove "No differences encountered" or
4660         synonymous output from the 'diff' program.
4661
4662 2011-11-13  Bruno Haible  <bruno@clisp.org>
4663
4664         Makefile: Tweak indentation.
4665         * Makefile: Use tab as first character in every line that contains rule
4666         commands.
4667
4668 2011-11-13  Bruno Haible  <bruno@clisp.org>
4669
4670         Syntax check for copyright statements.
4671         * check-copyright: New file.
4672         * Makefile (sc_check_copyright): New rule.
4673
4674 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4675
4676         * build-aux/git-version-gen: Add --prefix to configure the tag
4677         match string.
4678
4679 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4680
4681         * build-aux/git-version-gen: Add --help and --version.
4682
4683 2011-11-12  Jim Meyering  <meyering@redhat.com>
4684
4685         revamp the other test-exclude?.sh scripts to use init.sh, too
4686         * tests/test-exclude1.sh: Use init.sh.
4687         * tests/test-exclude2.sh: Likewise.
4688         * tests/test-exclude3.sh: Likewise.
4689         * tests/test-exclude4.sh: Likewise.
4690         * tests/test-exclude5.sh: Likewise.
4691         * tests/test-exclude6.sh: Likewise.
4692         * tests/test-exclude7.sh: Likewise.
4693         * tests/test-exclude8.sh: Likewise.
4694         * modules/exclude-tests (Files): List init.sh.
4695
4696         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4697         These shell scripts ignored failure of the binary test-exclude,
4698         so making the latter return 77 didn't cause them to be skipped.
4699         * tests/test-exclude5.sh: Exit with test-exclude's error status
4700         when that program fails.  Revamp to use init.sh.
4701         * tests/test-exclude2.sh: Likewise.
4702
4703         test-exclude: fix a typo
4704         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4705
4706 2011-11-11  Bruno Haible  <bruno@clisp.org>
4707
4708         obstack: Fix compilation error on MSVC 9.
4709         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4710
4711 2011-11-11  Jim Meyering  <meyering@redhat.com>
4712
4713         test-exclude: skip tests rather than failing on deficient systems
4714         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4715         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4716         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4717         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4718
4719 2011-11-10  Bruno Haible  <bruno@clisp.org>
4720
4721         ptsname_r test: Avoid gcc warning on glibc systems.
4722         * tests/test-ptsname_r.c (null_ptr): New function.
4723         (test_errors): Use it.
4724
4725 2011-11-10  Bruno Haible  <bruno@clisp.org>
4726
4727         ptsname_r: Avoid compilation error on OSF/1 5.1.
4728         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4729         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4730         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4731         function is not declared or incompatibly declared.
4732         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4733         * modules/ptsname_r (Depends-on, configure.ac): Update.
4734         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4735
4736 2011-11-10  Bruno Haible  <bruno@clisp.org>
4737
4738         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4739         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4740         When cross-compiling, guess yes on all platforms except AIX.
4741         Reported by Ludovic Courtès <ludo@gnu.org>.
4742
4743 2011-11-09  Bruno Haible  <bruno@clisp.org>
4744
4745         ptsname_r tests: Fix bugs.
4746         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4747         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4748
4749 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4750
4751         fstatat: work with cross-compilation
4752         Problem reported by Ludovic Courtès in
4753         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4754         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4755         "cross-compiling" and assume the bug is present.  Replace
4756         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4757         an inverted sense, to be more conservative about our assumptions.
4758         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4759
4760 2011-11-09  Bruno Haible  <bruno@clisp.org>
4761
4762         Improve MODULES.html output.
4763         * modules/mkfifoat (Description): Use the word "function".
4764         * modules/readlinkat (Description): Likewise.
4765         * modules/symlinkat (Description): Likewise.
4766
4767 2011-11-09  Eric Blake  <eblake@redhat.com>
4768
4769         ptsname_r-tests: new test module
4770         * modules/ptsname_r-tests: New module.
4771         * tests/test-ptsname_r.c: New file.
4772
4773         ptsname_r: new module
4774         * modules/ptsname_r: New module.
4775         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4776         * lib/ptsname.c (__ptsname_r): Split...
4777         * lib/ptsname_r.c: ...into new file.
4778         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4779         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4780         * modules/stdlib (Makefile.am): Substitute witnesses.
4781         * lib/stdlib.in.h (ptsname_r): Declare it.
4782         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4783         * MODULES.html.sh (Misc): Likewise.
4784         * modules/ptsname (Depends-on): Alter dependency.
4785         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4786
4787 2011-11-09  Jim Meyering  <meyering@redhat.com>
4788
4789         announce-gen: be more concise when there's only one URL+tarball
4790         * build-aux/announce-gen (get_tool_versions): When you distribute
4791         only one type of tarball, combine the first two "Here are..."
4792         sections and make the key-checking grammar independent of
4793         how many tarballs there are.
4794
4795 2011-11-09  Eric Blake  <eblake@redhat.com>
4796
4797         openpty: provide a stub on mingw
4798         * lib/pty.in.h (includes): Provide forward declarations.
4799         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4800
4801         raise: fix mingw handling of SIGPIPE
4802         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4803
4804 2011-11-08  Bruno Haible  <bruno@clisp.org>
4805
4806         More conditional dependencies.
4807         * modules/faccessat (Depends-on): Add conditions.
4808         * modules/fchmodat (Depends-on): Likewise.
4809         * modules/fchownat (Depends-on): Likewise.
4810         * modules/fstatat (Depends-on): Likewise.
4811         * modules/mkfifoat (Depends-on): Likewise.
4812         * modules/readlinkat (Depends-on): Likewise.
4813         * modules/symlinkat (Depends-on): Likewise.
4814         * modules/unlinkat (Depends-on): Likewise.
4815         * modules/utimensat (Depends-on): Likewise.
4816         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4817         * modules/linkat (Depends-on): Refine the conditions.
4818         * modules/renameat (Depends-on): Likewise.
4819
4820 2011-11-08  Bruno Haible  <bruno@clisp.org>
4821
4822         faccessat: Move AC_LIBOBJ invocation to module description.
4823         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
4824         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
4825         invocation from here...
4826         * modules/faccessat (configure.ac): ... to here. Invoke
4827         gl_PREREQ_FACCESSAT.
4828
4829 2011-11-08  Bruno Haible  <bruno@clisp.org>
4830
4831         faccessat: Simplify autoconf macro.
4832         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
4833         gl_FUNC_EUIDACCESS.
4834
4835 2011-11-08  Bruno Haible  <bruno@clisp.org>
4836
4837         renameat: Fix dependencies.
4838         * modules/renameat (Depends-on): Add stdbool.
4839
4840 2011-11-08  Bruno Haible  <bruno@clisp.org>
4841
4842         mkfifoat: Fix module description.
4843         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
4844         not gl_UNISTD_MODULE_INDICATOR.
4845
4846 2011-11-08  Bruno Haible  <bruno@clisp.org>
4847
4848         fstatat: Remove unused dependency.
4849         * modules/fstatat (Depends-on): Remove fstat.
4850
4851 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4852
4853         GNUmakefile: behave when Makefile is missing.
4854         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4855
4856 2011-11-08  Bruno Haible  <bruno@clisp.org>
4857
4858         openat: Conditionalize dependencies.
4859         * lib/openat.c: Reduce the scope of some #includes.
4860         * modules/openat (Depends-on): Add conditions.
4861
4862 2011-11-07  Jim Meyering  <meyering@redhat.com>
4863
4864         maint.mk: extract GPG key ID without using a temporary file
4865         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4866         without using a temporary file.  Based on a suggestion from Werner Koch
4867         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4868
4869 2011-11-07  Eric Blake  <eblake@redhat.com>
4870
4871         grantpt: fix typo
4872         * lib/stdlib.in.h (grantpt): Check correct function.
4873
4874         maint.mk: silence new syntax check
4875         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4876
4877 2011-11-06  Bruno Haible  <bruno@clisp.org>
4878
4879         Doc about floating-point and math API.
4880         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4881         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4882
4883 2011-11-06  Bruno Haible  <bruno@clisp.org>
4884
4885         stdalign tests: Skip the test when compiled by Sun C.
4886         * tests/test-stdalign.c (main): Skip the test on Sun C.
4887
4888 2011-11-06  Bruno Haible  <bruno@clisp.org>
4889
4890         ansi-c++-opt: Complete the 2011-06-05 change.
4891         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4892         does not support namespaces, set the variable to "no", not to ":".
4893
4894 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4895
4896         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4897
4898 2011-11-06  Bruno Haible  <bruno@clisp.org>
4899
4900         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4901         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4902         (minus_zerol) [HP-UX]: New macro.
4903         (unary_minus) [HP-UX]: New function.
4904         (copysignl) [HP-UX]: Use unary_minus function.
4905
4906 2011-11-06  Bruno Haible  <bruno@clisp.org>
4907
4908         ldexp, ldexpf, ldexpl: Enhance tests.
4909         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4910         and tests/test-ldexpl.c.
4911         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4912         LDEXP, MIN_EXP, MAX_EXP): New macros.
4913         Include test-ldexp.h.
4914         (main): Just call test_function.
4915         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4916         infinity.h, nan.h.
4917         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4918         MAX_EXP): New macros.
4919         Include test-ldexp.h.
4920         (x, y): Remove variables.
4921         (main): Just call test_function.
4922         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4923         infinity.h, nan.h.
4924         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4925         MAX_EXP): New macros.
4926         Include test-ldexp.h.
4927         (x, y): Remove variables.
4928         (main): Just call test_function.
4929         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4930         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4931         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4932         (Depends-on): Add isnand-nolibm, signbit, float.
4933         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4934         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4935         (Depends-on): Add isnanf-nolibm, signbit, float.
4936
4937 2011-11-06  Bruno Haible  <bruno@clisp.org>
4938
4939         math tests: Cosmetics.
4940         * tests/test-math-c++.cc: Reorder declarations.
4941
4942 2011-11-05  Bruno Haible  <bruno@clisp.org>
4943
4944         fma*: Simplify test.
4945         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4946         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4947
4948         Tests for module 'fmal'.
4949         * modules/fmal-tests: New file.
4950         * tests/test-fmal1.c: New file.
4951         * tests/test-fmal2.c: New file.
4952
4953         New module 'fmal'.
4954         * lib/math.in.h (fmal): New declaration.
4955         * lib/fmal.c: New file.
4956         * m4/fmal.m4: New file.
4957         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4958         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
4959         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
4960         REPLACE_FMAL.
4961         * modules/fmal: New file.
4962         * doc/posix-functions/fmal.texi: Mention the new module and the various
4963         bugs.
4964
4965         Tests for module 'fmaf'.
4966         * modules/fmaf-tests: New file.
4967         * tests/test-fmaf1.c: New file.
4968         * tests/test-fmaf2.c: New file.
4969
4970         New module 'fmaf'.
4971         * lib/math.in.h (fmaf): New declaration.
4972         * lib/fmaf.c: New file.
4973         * m4/fmaf.m4: New file.
4974         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
4975         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
4976         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
4977         REPLACE_FMAF.
4978         * modules/fmaf: New file.
4979         * doc/posix-functions/fmaf.texi: Mention the new module and the various
4980         bugs.
4981
4982         Tests for module 'fma'.
4983         * modules/fma-tests: New file.
4984         * tests/test-fma1.c: New file.
4985         * tests/test-fma1.h: New file.
4986         * tests/test-fma2.c: New file.
4987         * tests/test-fma2.h: New file.
4988
4989         New module 'fma'.
4990         * lib/math.in.h (fma): New declaration.
4991         * lib/fma.c: New file.
4992         * m4/fma.m4: New file.
4993         * m4/fegetround.m4: New file.
4994         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
4995         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
4996         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
4997         REPLACE_FMA.
4998         * modules/fma: New file.
4999         * doc/posix-functions/fma.texi: Mention the new module and the various
5000         bugs.
5001
5002         Extend gl_MATHFUNC.
5003         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
5004         Support 'void' as argument type.
5005         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
5006
5007 2011-11-05  Jim Meyering  <meyering@redhat.com>
5008
5009         maint.mk: also prohibit inclusion of dirent.h without use
5010         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
5011
5012 2011-11-05  Bruno Haible  <bruno@clisp.org>
5013
5014         ldexpl tests: Avoid test failure on MSVC 9.
5015         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
5016         value. Needed in order to enforce the conversion from a value greater
5017         than LDBL_MAX to Infinity.
5018
5019 2011-11-05  Bruno Haible  <bruno@clisp.org>
5020
5021         New modules 'at-internal', 'openat-h', split off from module 'openat'.
5022         * modules/at-internal: New file, extracted from modules/openat.
5023         * modules/openat-h: New file.
5024         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
5025         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
5026         * modules/openat (Description): Add reference to POSIX function.
5027         (Files): Remove lib/openat.h, lib/openat-proc.c.
5028         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
5029         intprops, unistd.
5030         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
5031         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
5032         gl_FCNTL_MODULE_INDICATOR.
5033         (Include): Remove unistd.h, openat.h.
5034         * modules/areadlinkat (Files): Add lib/at-func.c.
5035         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5036         openat-die, openat-h, save-cwd.
5037         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
5038         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5039         openat-die, openat-h, save-cwd, unistd.
5040         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
5041         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5042         openat-h, save-cwd. Remove fcntl-h, openat.
5043         * modules/fchmodat (Files): Remove lib/openat.h.
5044         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5045         openat, stdbool, unistd.
5046         * modules/fchownat (Files): Remove lib/openat.h.
5047         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5048         openat, stdbool, sys_stat.
5049         * modules/fdopendir (Files): Remove lib/openat-priv.h,
5050         lib/openat-proc.c.
5051         (Depends-on): Add at-internal.
5052         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
5053         * modules/fstatat (Files): Remove lib/openat.h.
5054         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5055         stdbool, unistd.
5056         * modules/fts (Depends-on): Add openat-h.
5057         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
5058         openat.
5059         * modules/mkdirat (Files): Remove lib/openat.h.
5060         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5061         openat, stdbool, sys_stat.
5062         * modules/mkfifoat (Files): Add lib/at-func.c.
5063         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5064         openat-h, save-cwd. Remove fcntl-h, openat.
5065         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
5066         * modules/readlinkat (Files): Add lib/at-func.c.
5067         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5068         openat-h, save-cwd. Remove fcntl-h, openat.
5069         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
5070         openat.
5071         * modules/selinux-at (Files): Add lib/at-func.c.
5072         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5073         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
5074         * modules/symlinkat (Files): Add lib/at-func.c.
5075         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5076         openat-h, save-cwd. Remove fcntl-h, openat.
5077         * modules/unlinkat (Files): Remove lib/openat.h.
5078         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5079         stdbool.
5080         * modules/utimensat (Files): Add lib/at-func.c.
5081         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
5082         openat-die, openat-h, save-cwd.
5083         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
5084         * modules/fdutimensat-tests (Depends-on): Add openat.
5085         * modules/fstatat-tests (Depends-on): Add openat-h.
5086         * modules/readlinkat-tests (Depends-on): Add openat.
5087         * modules/symlinkat-tests (Depends-on): Add openat.
5088
5089 2011-11-05  Bruno Haible  <bruno@clisp.org>
5090
5091         openat: Include <stdbool.h>.
5092         * lib/openat.c: Include <stdbool.h>.
5093
5094 2011-11-04  Bruno Haible  <bruno@clisp.org>
5095
5096         fchownat, renameat, unlinkat: Fix dependencies.
5097         * modules/fchownat (Depends-on): Add fstatat.
5098         * modules/renameat (Depends-on): Likewise.
5099         * modules/unlinkat (Depends-on): Likewise.
5100
5101 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
5102
5103         openat: remove direct dependency on dirent
5104         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
5105         and hasn't been needed ever since fdopendir was split into its own
5106         module on 2009-08-31.
5107         * modules/openat (Depends-on): Remove dirent.
5108
5109 2011-11-04  Bruno Haible  <bruno@clisp.org>
5110
5111         renameat: Optimize code size.
5112         * modules/renameat (configure.ac): Don't compile at-func2.c if
5113         REPLACE_RENAMEAT is 1.
5114
5115 2011-11-04  Bruno Haible  <bruno@clisp.org>
5116
5117         openat tests: Fix file list.
5118         * modules/openat-tests (Files): Add tests/test-open.h.
5119
5120 2011-11-04  Bruno Haible  <bruno@clisp.org>
5121
5122         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
5123         * modules/fchmodat (Depends-on): Add openat-die.
5124         * modules/fchownat (Depends-on): Likewise.
5125         * modules/linkat (Depends-on): Likewise.
5126         * modules/renameat (Depends-on): Likewise.
5127         * modules/openat (Depends-on): Add dirent.
5128
5129 2011-11-04  Jim Meyering  <meyering@redhat.com>
5130
5131         at-func*.c: fix comments
5132         * lib/at-func2.c: Correct/improve first-line comment.
5133         * lib/at-func.c: Correct grammar in first-line comment.
5134
5135 2011-11-04  Bruno Haible  <bruno@clisp.org>
5136
5137         New module 'mkdirat', split off from module 'openat'.
5138         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
5139         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
5140         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
5141         * modules/mkdirat: New file, extracted from modules/openat.
5142         * modules/openat (Files): Remove lib/mkdirat.c.
5143         (Depends-on): Remove mkdir.
5144         (configure.ac): Remove AC_LIBOBJ of mkdirat.
5145         (Include): Remove <sys/stat.h>.
5146         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
5147         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
5148         tests/test-mkdir.h.
5149         (Depends-on): Remove ignore-value.
5150         (Makefile.am): Remove rules for test-mkdirat.
5151         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
5152         of module 'openat'.
5153         * NEWS: Mention the change.
5154
5155 2011-11-04  Bruno Haible  <bruno@clisp.org>
5156
5157         closedir: Avoid warning on mingw.
5158         * lib/closedir.c: Include <unistd.h>.
5159
5160 2011-11-04  Bruno Haible  <bruno@clisp.org>
5161
5162         New module 'fstatat', split off from module 'openat'.
5163         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
5164         defined.
5165         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
5166         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
5167         gl_FUNC_FSTATAT.
5168         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
5169         * modules/fstatat: New file, extracted from modules/openat.
5170         * modules/openat (Files): Remove lib/fstatat.c.
5171         (Depends-on): Remove lstat.
5172         (configure.ac): Remove AC_LIBOBJ of fstatat.
5173         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
5174         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
5175         tests/test-lstat.h, tests/test-stat.h.
5176         (Depends-on): Remove getcwd-lgpl.
5177         (Makefile.am): Remove rules for test-fstatat.
5178         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
5179         of module 'openat'.
5180         * NEWS: Mention the change.
5181         * modules/getcwd (Depends-on): Add fstatat.
5182         * modules/linkat (Depends-on): Likewise.
5183         * modules/mkfifoat-tests (Depends-on): Likewise.
5184         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
5185
5186 2011-11-03  Bruno Haible  <bruno@clisp.org>
5187
5188         New module 'unlinkat', split off from module 'openat'.
5189         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
5190         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
5191         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
5192         * modules/unlinkat: New file, extracted from modules/openat. Correct
5193         the dependency conditions.
5194         * modules/openat (Files): Remove lib/unlinkat.c.
5195         (Depends-on): Remove rmdir, unlink.
5196         (configure.ac): Remove AC_LIBOBJ of unlinkat.
5197         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
5198         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
5199         tests/test-rmdir.h, tests/test-unlink.h.
5200         (Depends-on): Remove unlinkdir.
5201         (Makefile.am): Remove rules for test-unlinkat.
5202         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
5203         of module 'openat'.
5204         * NEWS: Mention the change.
5205         * modules/linkat-tests (Depends-on): Add unlinkat.
5206         * modules/mkfifoat-tests (Depends-on): Likewise.
5207         * modules/readlinkat-tests (Depends-on): Likewise.
5208
5209 2011-11-02  Bruno Haible  <bruno@clisp.org>
5210
5211         New module 'fchmodat', split off from module 'openat'.
5212         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
5213         defined.
5214         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
5215         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
5216         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
5217         * modules/fchmodat: New file, extracted from modules/openat.
5218         * modules/openat (Files): Remove lib/fchmodat.c.
5219         (configure.ac): Remove AC_LIBOBJ of fchmodat.
5220         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
5221         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
5222         (Makefile.am): Remove rules for test-fchmodat.
5223         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
5224         of module 'openat'.
5225         * NEWS: Mention the change.
5226
5227 2011-11-02  Jim Meyering  <meyering@redhat.com>
5228
5229         putenv: indent #definition of "environ" to placate cppi
5230         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
5231
5232         gitlog-to-changelog: provide a ChangeLog-repair mechanism
5233         Git logs are often treated as immutable, because editing them
5234         changes the SHA1 checksums of all descendants.  Thus, errors in
5235         git logs tend to stay there forever.  However, when we generate
5236         a ChangeLog file -- typically for distribution -- from that git log,
5237         we can actually make corrections in the generated file.  The key
5238         lies in recording in machine-readable/applicable form the desired
5239         corrections.  See --help for description and an example.
5240         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
5241         (usage): Describe it; alphabetize option descriptions.
5242         (main): Honor the new option, carefully.
5243
5244 2011-11-01  Jim Meyering  <meyering@redhat.com>
5245
5246         gitlog-to-changelog: avoid an infloop
5247         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
5248         that ends up being empty.
5249
5250 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5251
5252         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
5253         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
5254         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
5255         contains (possibly-quoted) backslashes.  This should avoid
5256         all-too-common shell bugs if COMPLICATED contains backslashes in
5257         the "wrong" places.  Reported by David Evans in
5258         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
5259         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
5260         because we want ASCII ranges.  Is there some reason we don't use
5261         the C locale everywhere in this script?
5262         (func_module, top level): Avoid unwanted pathname expansion when
5263         $repo_url_prefix or $repo_url_suffix_repl contain shell
5264         metacharacters like '?' and '*'.
5265
5266 2011-11-01  Bruno Haible  <bruno@clisp.org>
5267
5268         fchownat: Improve description.
5269         * modules/fchownat (Description): Add link to function.
5270
5271 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5272
5273         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
5274         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
5275         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
5276         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
5277
5278 2011-11-01  Bruno Haible  <bruno@clisp.org>
5279
5280         alignof: Avoid collision with stdalign module.
5281         * lib/alignof.h (alignof): Remove macro.
5282         * NEWS: Mention the change.
5283         Reported by Paul Eggert.
5284
5285 2011-11-01  Bruno Haible  <bruno@clisp.org>
5286
5287         New module 'fchownat', split off from module 'openat'.
5288         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
5289         defined.
5290         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
5291         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
5292         invoke gl_FUNC_FCHOWNAT.
5293         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
5294         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
5295         * modules/fchownat: New file, extracted from modules/openat.
5296         * modules/openat (Files): Remove lib/fchownat.c.
5297         (Depends-on): Remove lchown.
5298         (configure.ac): Remove AC_LIBOBJ of fchownat.
5299         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
5300         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
5301         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
5302         (Depends-on): Remove mgetgroups, usleep, stat-time.
5303         (configure.ac): Remove test for getegid.
5304         (Makefile.am): Remove rules for test-fchownat.
5305         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
5306         of module 'openat'.
5307         * NEWS: Mention the change.
5308
5309 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
5310
5311         stdalign: port better to MSVC and to Sun C 5.11
5312         This fixes some of the problems reported by Bruno Haible in
5313         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
5314         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
5315         shortcomings of MSVC and of Sun C 5.11.
5316         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
5317         around __declspec arg.
5318         * modules/stdalign-tests (Files): Add tests/macros.h.
5319         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
5320         Include macros.h, for ASSERT.
5321         (DECLARE_ALIGNED): Remove.
5322         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
5323         to catch bug), and to 1 if not (simplifies the rest of the code).
5324         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
5325         (CHECK_AUTO): Remove.
5326         (CHECK_ALIGNED): Check only the alignment of the static vars,
5327         since auto var alignment isn't supported by Sun C 5.11.
5328         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
5329         ASSERT failures are easier to diagnose.
5330
5331 2011-10-31  Bruno Haible  <bruno@clisp.org>
5332
5333         doc about some IRIX 5.3 problems.
5334         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
5335         on IRIX 5.3.
5336         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
5337         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5338         5.3.
5339         * doc/posix-functions/grantpt.texi: Likewise.
5340         * doc/posix-functions/unlockpt.texi: Likewise.
5341         * doc/posix-functions/lgamma.texi: Likewise.
5342         * doc/posix-functions/nextafter.texi: Likewise.
5343         * doc/posix-functions/remainder.texi: Likewise.
5344         * doc/posix-functions/select.texi: Mention misplaced declaration on
5345         IRIX 5.3.
5346         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5347
5348 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
5349
5350         gitlog-to-changelog: fix git-log invocation.
5351         git-log mishandles date strings before 1970-01-01 UTC, and there is
5352         no use to specify --since=1970-01-01 by default anyway.
5353         * build-aux/gitlog-to-changelog: By default, when no --since option
5354         was given, do not specify explicit --since option to git-log.
5355
5356 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
5357
5358         gitlog-to-changelog: new option --append-dot.
5359         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
5360         first non-blank line of each commit message terminated with a dot.
5361
5362 2011-10-30  Bruno Haible  <bruno@clisp.org>
5363
5364         ffsl, ffsll: Avoid compilation error due to 'restrict'.
5365         * lib/ffsl.h: Include <config.h>.
5366         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
5367
5368 2011-10-30  Jim Meyering  <meyering@redhat.com>
5369
5370         GNUmakefile: reenable "make syntax-check" for most projects
5371         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
5372         build-aux variable", "syntax-check" would do nothing but succeed with
5373         the "No version control files detected..." diagnostic (unless you
5374         happened to override _build-aux via cfg.mk).
5375         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
5376         to precede inclusion of maint.mk.  Otherwise, these variables would
5377         be used undefined in any project that does not override the default.
5378
5379 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
5380
5381         gitlog-to-changelog: treat a message with only blank lines as empty.
5382         * build-aux/gitlog-to-changelog: Move the code that removes leading and
5383         trailing blank lines before the code that issues a warning about an
5384         empty commit message.
5385
5386 2011-10-30  Jim Meyering  <meyering@redhat.com>
5387
5388         test-parse-datetime.c: avoid new DST-related false positive test failure
5389         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
5390         based on the time/date we'll convert, not the current time.
5391         Otherwise, the moment we cross a DST boundary like today's in
5392         Europe, (CEST to CET), that offset ends up being one hour off.
5393
5394 2011-10-27  Bruno Haible  <bruno@clisp.org>
5395
5396         fstat: Tweak documentation.
5397         * modules/fstat (Description): More precise description.
5398
5399 2011-10-27  Bruno Haible  <bruno@clisp.org>
5400
5401         Update documentation regarding 'largefile' module.
5402         * doc/posix-functions/fstat.texi: Tweak wording.
5403         * doc/posix-functions/opendir.texi: Mention that the module fixes the
5404         problems with huge directories and/or small ino_t types.
5405         * doc/posix-functions/readdir.texi: Likewise.
5406         * doc/posix-functions/rewinddir.texi: Likewise.
5407
5408 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
5409
5410         maint.mk: don't maintain a second build-aux variable.
5411         * maint.mk (build_aux): Removed.  The maintainer-makefile module
5412         depends on GNUmakefile, which already maintains a cfg.mk
5413         overridable $(_build-aux) for projects with a non-standard
5414         build-aux directory location, although without the $(srcdir)
5415         prefix.  Use that variable consistently instead of introducing a
5416         second one.  Adjust all call sites.
5417
5418 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
5419
5420         Add stdalign module and use it in other modules.
5421         This is based on a previous proposal by Bruno Haible
5422         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
5423
5424         stdalign: new module
5425         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
5426         * modules/stdalign: New files.
5427         * MODULES.html.sh (c1x_core_properties): Add stdalign.
5428         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
5429
5430         stdalign-tests: new module
5431         * modules/stdalign-tests, tests/test-stdalign.c: New files.
5432
5433         argp: use stdalign
5434         * lib/argp-parse.c: Include <stdalign.h>.
5435         (alignof): Remove.
5436         * modules/argp (Depends-on): Add stdalign.
5437
5438         crypto libraries: use stdalign
5439         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
5440         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
5441         Do not include <stdlib.h> twice, in md4.c.
5442         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
5443         because we are accessing a pointer's bit-pattern, not a size.
5444         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
5445         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
5446         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
5447         * modules/crypto/sha512: Likewise.
5448
5449         sys_socket: use stdalign, not alignof
5450         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
5451         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
5452
5453 2011-10-27  Bruno Haible  <bruno@clisp.org>
5454
5455         raise test: Avoid a test failure on Linux/MIPS.
5456         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
5457         because 99 is a valid signal on Linux/MIPS.
5458
5459 2011-10-27  Bruno Haible  <bruno@clisp.org>
5460
5461         nonblocking tests: Fix test failure on Linux/MIPS.
5462         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
5463         Set to 270000.
5464
5465 2011-10-27  Bruno Haible  <bruno@clisp.org>
5466
5467         utimensat: Work around problem on Linux/hppa.
5468         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
5469         values.
5470         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
5471
5472 2011-10-25  Jim Meyering  <meyering@redhat.com>
5473
5474         maint.mk: fix a bug in sc_prohibit_stddef_without_use
5475         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
5476         after symbols like NULL, size_t, etc.
5477         Reported by Alfred M. Szmidt.
5478
5479         maint.mk: exempt ENODATA from a syntax-check rule
5480         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
5481         from the sc_prohibit_always-defined_macros syntax-check rule.
5482         Add a comment.  See this for more details:
5483         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
5484
5485 2011-10-23  Jim Meyering  <meyering@redhat.com>
5486
5487         fts: close parent dir FD before returning from post-traversal fts_read
5488         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
5489         unlink A, even though an FD open on A remained.  This is suboptimal
5490         (holding a file descriptor open longer than needed), but otherwise not
5491         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
5492         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
5493         that represents a real problem: it causes the removal of A to fail
5494         with e.g., "rm: cannot remove `A': Device or resource busy"
5495
5496         fts visits each directory twice and keeps a cache (fts_fd_ring) of
5497         directory file descriptors.  After completing the final, FTS_DP,
5498         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
5499         cache, but then proceeded to add a new FD to it via the subsequent
5500         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
5501         final file descriptor would be closed only via fts_close's call to
5502         fd_ring_clear.  Now, it is usually closed earlier, via the final
5503         FTS_DP-returning fts_read call.
5504         * lib/fts.c (restore_initial_cwd): New function, converted from
5505         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
5506         Update callers.
5507         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
5508         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
5509
5510 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
5511             Bruno Haible  <bruno@clisp.org>
5512             Jim Meyering  <jim@meyering.net>
5513
5514         readme-release: improve safety of release prep instructions.
5515         * README-release: Don't git pull all branches when only master
5516         is needed for the release process.
5517         Run make maintainer-clean before changing trees and merging.
5518         Don't try to run ./configure right after git pull in case files
5519         that influence the bootstrap process have changed, move the
5520         ./configure step to after running ./bootstrap.
5521         Don't bootstrap "one last time"... it's the first time!
5522
5523 2011-10-22  Bruno Haible  <bruno@clisp.org>
5524
5525         errno, strerror-override: Support for MSVC 10.
5526         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
5527         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
5528         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
5529         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
5530         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
5531         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
5532         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
5533         Assign values compatible with MSVC 10.
5534         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
5535         New macros.
5536         (GNULIB_defined_EWINSOCK): New macro.
5537         * lib/strerror-override.c (strerror_override): Update accordingly.
5538         * lib/strerror-override.h: Likewise.
5539         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
5540         longer equal to the corresponding errno value.
5541         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5542
5543 2011-10-22  Bruno Haible  <bruno@clisp.org>
5544
5545         perror: Recognize when test program crashes.
5546         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
5547         strerror, set gl_cv_func_perror_works to no.
5548         Reported by Daniel Richard G. <skunk@iskunk.org>.
5549
5550         perror: Fix indentation.
5551         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
5552
5553 2011-10-22  Bruno Haible  <bruno@clisp.org>
5554
5555         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
5556         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
5557         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
5558         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
5559         functions, not as a macro.
5560         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
5561         macros.
5562         (isfinite, isinf, isnan, signbit): Check overloaded functions and
5563         absence of macro.
5564         Suggested by Eric Blake.
5565         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5566
5567 2011-10-21  Bruno Haible  <bruno@clisp.org>
5568
5569         relocatable-prog-wrapper: Don't leave object files behind.
5570         * build-aux/install-reloc: Re-synchronize list of .o files to be
5571         removed with list of compilation units.
5572
5573 2011-10-20  Bruno Haible  <bruno@clisp.org>
5574
5575         openpty, posix_openpt: Remove code duplication.
5576         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
5577         * lib/openpty.c: Include <stdlib.h>.
5578         (openpty): Use posix_openpt on all platforms except IRIX.
5579         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
5580
5581 2011-10-20  Bruno Haible  <bruno@clisp.org>
5582
5583         unlockpt: Detect invalid argument.
5584         * lib/unlockpt.c: Include <fcntl.h>.
5585         (unlockpt): Check whether fd is valid, using fcntl().
5586         * modules/unlockpt (Depends-on): Add fcntl-h.
5587
5588 2011-10-20  Bruno Haible  <bruno@clisp.org>
5589
5590         openpty: Avoid compilation error on AIX 6.1.
5591         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
5592
5593 2011-10-20  Bruno Haible  <bruno@clisp.org>
5594
5595         posix_openpt: Support for OpenBSD.
5596         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
5597         (posix_openpt) [OpenBSD]: New code.
5598         * lib/grantpt.c: Include <fcntl.h>.
5599         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
5600         * modules/grantpt (Depends-on): Add fcntl-h.
5601
5602 2011-10-20  Bruno Haible  <bruno@clisp.org>
5603
5604         posix_openpt test: Coding style.
5605         * tests/test-posix_openpt.c: Use GNU coding style.
5606
5607 2011-10-20  Bruno Haible  <bruno@clisp.org>
5608
5609         grantpt: Support --avoid=pt_chown.
5610         * modules/grantpt (Files): Add lib/pty-private.h.
5611
5612 2011-10-20  Bruno Haible  <bruno@clisp.org>
5613
5614         posix_openpt: Fix autoconf macro.
5615         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
5616         unneeded check for _getpty.
5617
5618 2011-10-20  Bruno Haible  <bruno@clisp.org>
5619
5620         openpty: Update comments.
5621         * lib/openpty.c: Add comments about Minix.
5622
5623 2011-10-19  Eric Blake  <eblake@redhat.com>
5624
5625         openpty: relax license
5626         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
5627
5628         pt_chown: use configmake to simplify build
5629         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
5630
5631         ptsname and others: relax license
5632         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
5633         * modules/unlockpt (License): Likewise.
5634         * modules/pt_chown (License): Likewise.
5635         * modules/ptsname (License): Likewise.
5636         * modules/ttyname_r (License): Likewise.
5637
5638 2011-10-19  Jim Meyering  <meyering@redhat.com>
5639
5640         posix_openpt: remove spurious #endif
5641         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
5642
5643 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
5644
5645         maint.mk: Respect $(build_aux) in web-manual rule.
5646         * top/maint.mk (web-manual): Find gen-announce script in user's
5647         $(build_aux) directory instead of hard-coding 'build-aux'.
5648
5649 2011-10-19  Bruno Haible  <bruno@clisp.org>
5650
5651         posix_openpt: Fix compilation error.
5652         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
5653         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
5654         Mention the openpty module as an alternative.
5655
5656 2011-10-19  Bruno Haible  <bruno@clisp.org>
5657
5658         Support for old NeXTstep 3.3 frexp().
5659         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
5660         execution time of the test to 5 seconds.
5661         Reported by Daniel Richard G. <skunk@iskunk.org>.
5662
5663 2011-10-19  Bruno Haible  <bruno@clisp.org>
5664
5665         Support for old NeXTstep 3.3 sed.
5666         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
5667         part, use /.../, not \|...|. Escape periods in the header file name.
5668         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5669         Reported by Daniel Richard G. <skunk@iskunk.org>.
5670
5671 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5672
5673         Support for old NeXTstep 3.3 gcc.
5674         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
5675         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
5676         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
5677         * lib/spawn.in.h (_Restrict_arr_): Likewise.
5678         * lib/regex.h (_Restrict_arr_): Likewise.
5679         * lib/regex_internal.h (re_token_t): Likewise.
5680         * lib/regexec.c (check_node_accept_bytes): Likewise.
5681         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5682
5683 2011-10-18  Eric Blake  <eblake@redhat.com>
5684
5685         posix_openpt: new module
5686         * modules/posix_openpt: New module.
5687         * m4/posix_openpt.m4: New file.
5688         * lib/posix_openpt.c: Likewise.
5689         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5690         (gl_STDLIB_H_DEFAULTS): Set defaults.
5691         * modules/stdlib (Makefile.am): Substitute macros.
5692         * lib/stdlib.in.h (posix_openpt): Declare.
5693         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5694         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5695         * modules/posix_openpt-tests: New test module.
5696         * tests/test-posix_openpt.c: New test.
5697
5698 2011-10-15  Bruno Haible  <bruno@clisp.org>
5699
5700         xstrtoll: Fix compilation failure.
5701         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5702         from lib/strtol.c.
5703         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5704         some platforms.
5705         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5706
5707 2011-10-15  Bruno Haible  <bruno@clisp.org>
5708
5709         vasnprintf: Optimize bit search operation.
5710         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5711         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5712         gl_DOUBLE_EXPONENT_LOCATION.
5713         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5714         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5715         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5716         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5717         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5718         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5719         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5720         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5721         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5722
5723 2011-10-15  Bruno Haible  <bruno@clisp.org>
5724
5725         vasnprintf: Fix comments.
5726         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5727
5728 2011-10-14  Bruno Haible  <bruno@clisp.org>
5729
5730         Tests for module 'integer_length_ll'.
5731         * modules/integer_length_ll-tests: New file.
5732         * tests/test-integer_length_ll.c: New file.
5733
5734         New module 'integer_length_ll'.
5735         * lib/integer_length_ll.c: New file.
5736         * modules/integer_length_ll: New file.
5737
5738 2011-10-14  Bruno Haible  <bruno@clisp.org>
5739
5740         Tests for module 'integer_length_l'.
5741         * modules/integer_length_l-tests: New file.
5742         * tests/test-integer_length_l.c: New file.
5743
5744         New module 'integer_length_l'.
5745         * lib/integer_length_l.c: New file.
5746         * modules/integer_length_l: New file.
5747
5748 2011-10-14  Bruno Haible  <bruno@clisp.org>
5749
5750         Tests for module 'integer_length'.
5751         * modules/integer_length-tests: New file.
5752         * tests/test-integer_length.c: New file.
5753
5754         New module 'integer_length'.
5755         * lib/integer_length.h: New file.
5756         * lib/integer_length.c: New file.
5757         * modules/integer_length: New file.
5758
5759 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5760
5761         popen: Fix dependency conditions.
5762         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5763
5764 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5765
5766         perror: Fix autoconf test.
5767         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5768         <stdlib.h> and <string.h>.
5769
5770 2011-10-14  Bruno Haible  <bruno@clisp.org>
5771
5772         ffsl: Optimize on 64-bit platforms.
5773         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5774         unrolling.
5775
5776 2011-10-13  Bruno Haible  <bruno@clisp.org>
5777
5778         ffsl: Optimize on 32-bit platforms.
5779         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5780         use ffs() without a loop.
5781
5782         ffsl, ffsll: Optimize for GCC.
5783         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5784         * lib/ffsl.c (GCC_BUILTIN): New macro.
5785         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5786
5787 2011-10-13  Bruno Haible  <bruno@clisp.org>
5788
5789         ffs, bcopy, memset: Support symbol renaming via config.h.
5790         * lib/ffs.c: Include <config.h>.
5791         * lib/bcopy.c: Likewise.
5792         * lib/memset.c: Likewise.
5793
5794 2011-10-10  Bruno Haible  <bruno@clisp.org>
5795
5796         atanl: Simplify for platforms where 'long double' == 'double'.
5797         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5798         alternative implementation.
5799         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5800         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5801         * modules/atanl (Depends-on): Add atan. Update conditions.
5802
5803 2011-10-10  Bruno Haible  <bruno@clisp.org>
5804
5805         acosl: Simplify for platforms where 'long double' == 'double'.
5806         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5807         alternative implementation.
5808         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5809         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5810         * modules/acosl (Depends-on): Add acos. Update conditions.
5811
5812 2011-10-10  Bruno Haible  <bruno@clisp.org>
5813
5814         asinl: Simplify for platforms where 'long double' == 'double'.
5815         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5816         alternative implementation.
5817         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5818         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5819         * modules/asinl (Depends-on): Add asin. Update conditions.
5820
5821 2011-10-10  Bruno Haible  <bruno@clisp.org>
5822
5823         tanl: Simplify for platforms where 'long double' == 'double'.
5824         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5825         implementation.
5826         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5827         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5828         * modules/tanl (Depends-on): Add tan. Update conditions.
5829         (configure.ac): Don't compile trigl.c if
5830         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5831
5832 2011-10-10  Bruno Haible  <bruno@clisp.org>
5833
5834         cosl: Simplify for platforms where 'long double' == 'double'.
5835         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5836         implementation.
5837         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5838         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5839         * modules/cosl (Depends-on): Add cos. Update conditions.
5840         (configure.ac): Don't compile sincosl.c and trigl.c if
5841         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5842
5843 2011-10-10  Bruno Haible  <bruno@clisp.org>
5844
5845         sinl: Simplify for platforms where 'long double' == 'double'.
5846         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5847         implementation.
5848         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5849         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5850         * modules/sinl (Depends-on): Add sin. Update conditions.
5851         (configure.ac): Don't compile sincosl.c and trigl.c if
5852         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5853
5854 2011-10-10  Bruno Haible  <bruno@clisp.org>
5855
5856         logl: Simplify for platforms where 'long double' == 'double'.
5857         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5858         implementation.
5859         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5860         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5861         * modules/logl (Depends-on): Add log. Update conditions.
5862
5863 2011-10-10  Bruno Haible  <bruno@clisp.org>
5864
5865         expl: Simplify for platforms where 'long double' == 'double'.
5866         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5867         implementation.
5868         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5869         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5870         * modules/expl (Depends-on): Add exp. Update conditions.
5871
5872 2011-10-10  Bruno Haible  <bruno@clisp.org>
5873
5874         sqrtl: Simplify for platforms where 'long double' == 'double'.
5875         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5876         alternative implementation.
5877         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5878         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5879         * modules/sqrtl (Depends-on): Update conditions.
5880
5881 2011-10-10  Bruno Haible  <bruno@clisp.org>
5882
5883         ldexpl: Simplify for platforms where 'long double' == 'double'.
5884         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5885         alternative implementation.
5886         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5887         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5888         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5889
5890 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5891
5892         ffsll: set correct witness
5893         * modules/ffsll (configure.ac): Fix typo.
5894
5895 2011-10-10  Bruno Haible  <bruno@clisp.org>
5896
5897         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5898         * lib/printf-frexpl.c: Include <config.h>.
5899         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5900         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5901         second time.
5902         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5903         gl_LONG_DOUBLE_VS_DOUBLE.
5904         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5905         conditions.
5906
5907 2011-10-10  Bruno Haible  <bruno@clisp.org>
5908
5909         frexpl: Simplify for platforms where 'long double' == 'double'.
5910         * lib/frexpl.c: Include <config.h>.
5911         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5912         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5913         time.
5914         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5915         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5916         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5917         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5918         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5919         conditions.
5920
5921 2011-10-10  Jim Meyering  <meyering@redhat.com>
5922
5923         test-renameat: don't leave behind a temporary file
5924         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5925           ERROR: files left in build directory after distclean:
5926           ./gltests/test-renameat.too
5927           make[1]: *** [distcleancheck] Error 1
5928         Reported by Tom G. Christensen.
5929
5930 2011-10-09  Bruno Haible  <bruno@clisp.org>
5931
5932         rint: Determine RINT_LIBM correctly on AIX 7.
5933         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5934         directly, not only through a function pointer. Also accept an optional
5935         4th argument with extra code.
5936         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5937         rintf() call by gcc when optimizing.
5938
5939         mathfunc.m4: Refactor.
5940         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5941         m4 variable.
5942
5943 2011-10-09  Bruno Haible  <bruno@clisp.org>
5944
5945         rintl: Simplify for platforms where 'long double' == 'double'.
5946         * lib/rintl.c: Include <config.h>.
5947         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5948         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5949         time.
5950         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5951         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5952         * modules/rintl (Depends-on): Add rint. Update conditions.
5953
5954 2011-10-09  Bruno Haible  <bruno@clisp.org>
5955
5956         roundl: Simplify for platforms where 'long double' == 'double'.
5957         * lib/roundl.c: Include <config.h>.
5958         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5959         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5960         time.
5961         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5962         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5963         * modules/roundl (Depends-on): Add round. Update conditions.
5964
5965 2011-10-09  Bruno Haible  <bruno@clisp.org>
5966
5967         truncl: Simplify for platforms where 'long double' == 'double'.
5968         * lib/truncl.c: Include <config.h>.
5969         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5970         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5971         time.
5972         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5973         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5974         * modules/truncl (Depends-on): Add trunc. Update conditions.
5975
5976 2011-10-09  Bruno Haible  <bruno@clisp.org>
5977
5978         ceill: Simplify for platforms where 'long double' == 'double'.
5979         * lib/ceill.c: Include <config.h>.
5980         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5981         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5982         time.
5983         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5984         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5985         * modules/ceill (Depends-on): Add ceil. Update conditions.
5986
5987 2011-10-09  Bruno Haible  <bruno@clisp.org>
5988
5989         floorl: Simplify for platforms where 'long double' == 'double'.
5990         * lib/floorl.c: Include <config.h>.
5991         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5992         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5993         time.
5994         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5995         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5996         * modules/floorl (Depends-on): Add floor. Update conditions.
5997
5998 2011-10-09  Bruno Haible  <bruno@clisp.org>
5999
6000         rint: Fix ordering constraints.
6001         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
6002         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6003         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6004
6005 2011-10-09  Bruno Haible  <bruno@clisp.org>
6006
6007         copysignl: Simplify for platforms where 'long double' == 'double'.
6008         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6009         alternative.
6010         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6011         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6012         * modules/copysignl (Depends-on): Add copysign. Update conditions.
6013
6014 2011-10-09  Bruno Haible  <bruno@clisp.org>
6015
6016         Tests for module 'rintl'.
6017         * modules/rintl-tests: New file.
6018         * tests/test-rintl.c: New file.
6019
6020         New module 'rintl'.
6021         * lib/math.in.h (rintl): New declaration.
6022         * lib/rintl.c: New file.
6023         * m4/rintl.m4: New file.
6024         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
6025         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
6026         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
6027         * modules/rintl: New file.
6028         * tests/test-math-c++.cc: Check the declaration of rintl.
6029         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6030         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
6031         * doc/posix-functions/rintl.texi: Mention the new module.
6032
6033 2011-10-09  Bruno Haible  <bruno@clisp.org>
6034
6035         Tests for module 'rintf'.
6036         * modules/rintf-tests: New file.
6037         * tests/test-rintf.c: New file.
6038
6039         New module 'rintf'.
6040         * lib/math.in.h (rintf): New declaration.
6041         * lib/rintf.c: New file.
6042         * m4/rintf.m4: New file.
6043         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
6044         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
6045         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
6046         * modules/rintf: New file.
6047         * tests/test-math-c++.cc: Check the declaration of rintf.
6048         * doc/posix-functions/rintf.texi: Mention the new module.
6049
6050 2011-10-09  Bruno Haible  <bruno@clisp.org>
6051
6052         rint: Support for MSVC.
6053         * lib/math.in.h (rint): New declaration.
6054         * lib/rint.c: New file.
6055         * m4/rint.m4: New file.
6056         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
6057         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
6058         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
6059         * modules/rint (Description): Fix.
6060         (Files): Add lib/rint.c, m4/rint.m4.
6061         (Depends-on): Add math.
6062         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
6063         gl_MATH_MODULE_INDICATOR.
6064         * tests/test-math-c++.cc: Check the declaration of rint.
6065         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6066         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
6067         * doc/posix-functions/rint.texi: Mention the replacement provided by
6068         the module.
6069
6070         rint tests: More tests.
6071         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
6072         minus-zero.h, infinity.h, nan.h.
6073         (main): Skip the test if the current rounding mode is not standard. Add
6074         tests for negative numbers, minus zero, infinity, NaN.
6075         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
6076         tests/nan.h.
6077         (Depends-on): Add isnand-nolibm.
6078
6079 2011-10-09  Bruno Haible  <bruno@clisp.org>
6080
6081         Tests for module 'copysignl'.
6082         * modules/copysignl-tests: New file.
6083         * tests/test-copysignl.c: New file.
6084
6085         New module 'copysignl'.
6086         * lib/math.in.h (copysignl): New declaration.
6087         * lib/copysignl.c: New file.
6088         * m4/copysignl.m4: New file.
6089         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
6090         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
6091         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
6092         HAVE_COPYSIGNL.
6093         * modules/copysignl: New file.
6094         * tests/test-math-c++.cc: Check the declaration of copysignl.
6095         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6096         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
6097         * doc/posix-functions/copysignl.texi: Mention the new module.
6098
6099 2011-10-09  Bruno Haible  <bruno@clisp.org>
6100
6101         Tests for module 'copysignf'.
6102         * modules/copysignf-tests: New file.
6103         * tests/test-copysignf.c: New file.
6104
6105         New module 'copysignf'.
6106         * lib/math.in.h (copysignf): New declaration.
6107         * lib/copysignf.c: New file.
6108         * m4/copysignf.m4: New file.
6109         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
6110         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
6111         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
6112         HAVE_COPYSIGNF.
6113         * modules/copysignf: New file.
6114         * tests/test-math-c++.cc: Check the declaration of copysignf.
6115         * doc/posix-functions/copysignf.texi: Mention the new module.
6116
6117 2011-10-09  Bruno Haible  <bruno@clisp.org>
6118
6119         Ensure that HAVE_* variables are set to 1 before they are set to 0.
6120         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
6121         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
6122         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6123         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
6124         gl_SIGNAL_H_DEFAULTS.
6125
6126 2011-10-09  Bruno Haible  <bruno@clisp.org>
6127
6128         poll: Make macro safer.
6129         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
6130         ac_cv_header_poll_h is not set.
6131
6132 2011-10-09  Bruno Haible  <bruno@clisp.org>
6133
6134         copysign: Provide replacement.
6135         * lib/math.in.h (copysign): New declaration.
6136         * lib/copysign.c: New file.
6137         * m4/copysign.m4: New file.
6138         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
6139         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
6140         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
6141         HAVE_COPYSIGN.
6142         * modules/copysign (Description): Clarify.
6143         (Files): Add lib/copysign.c, m4/copysign.m4.
6144         (Depends-on): Add math, signbit.
6145         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
6146         gl_MATH_MODULE_INDICATOR.
6147         * tests/test-math-c++.cc: Check the declaration of copysign.
6148         * doc/posix-functions/copysign.texi: Mention the effects of the module
6149         on Minix and MSVC.
6150
6151 2011-10-09  Bruno Haible  <bruno@clisp.org>
6152
6153         isinf: Ensure macro on AIX 5.1.
6154         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
6155         macro.
6156         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
6157
6158 2011-10-09  Bruno Haible  <bruno@clisp.org>
6159
6160         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
6161         * modules/snprintf-posix-tests (configure.ac): Require
6162         gl_LONG_DOUBLE_VS_DOUBLE.
6163         * modules/sprintf-posix-tests (configure.ac): Likewise.
6164         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
6165         * modules/vasprintf-posix-tests (configure.ac): Likewise.
6166         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
6167         * modules/vsprintf-posix-tests (configure.ac): Likewise.
6168         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
6169         tests on platforms where 'long double' is the same as 'double'.
6170         * tests/test-sprintf-posix.h (test_function): Likewise.
6171         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6172         * tests/test-vasprintf-posix.c (test_function): Likewise.
6173
6174         *printf: Fix for platforms where 'long double' == 'double'.
6175         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6176         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
6177         * modules/dprintf-posix (Files): Add m4/math_h.m4.
6178         * modules/fprintf-posix (Files): Likewise.
6179         * modules/obstack-printf-posix (Files): Likewise.
6180         * modules/snprintf-posix (Files): Likewise.
6181         * modules/sprintf-posix (Files): Likewise.
6182         * modules/vasnprintf (Files): Likewise.
6183         * modules/vasnprintf-posix (Files): Likewise.
6184         * modules/vasprintf-posix (Files): Likewise.
6185         * modules/vdprintf-posix (Files): Likewise.
6186         * modules/vfprintf-posix (Files): Likewise.
6187         * modules/vsnprintf-posix (Files): Likewise.
6188         * modules/vsprintf-posix (Files): Likewise.
6189         * modules/unistdio/u8-vasnprintf (Files): Likewise.
6190         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
6191         * modules/unistdio/u16-vasnprintf (Files): Likewise.
6192         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
6193         * modules/unistdio/u32-vasnprintf (Files): Likewise.
6194         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
6195         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
6196
6197         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
6198         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
6199         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6200         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
6201         'long double'.
6202         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
6203
6204         isinf: Fix for platforms where 'long double' == 'double'.
6205         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6206         Don't blindly assume 80-bit 'long double'.
6207
6208         isfinite: Fix for platforms where 'long double' == 'double'.
6209         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6210         Don't blindly assume 80-bit 'long double'.
6211
6212         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
6213         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
6214         * modules/isfinite-tests (configure.ac): Require
6215         gl_LONG_DOUBLE_VS_DOUBLE.
6216         * modules/isinf-tests (configure.ac): Likewise.
6217         * modules/isnan-tests (configure.ac): Likewise.
6218         * modules/isnanl-tests (configure.ac): Likewise.
6219         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
6220         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
6221         tests on platforms where 'long double' is the same as 'double'.
6222         * tests/test-isinf.c (test_isinfl): Likewise.
6223         * tests/test-isnan.c (test_long_double): Likewise.
6224         * tests/test-isnanl.h (main): Likewise.
6225
6226 2011-10-08  Bruno Haible  <bruno@clisp.org>
6227
6228         Tests for module 'tanhf'.
6229         * modules/tanhf-tests: New file.
6230         * tests/test-tanhf.c: New file.
6231
6232         New module 'tanhf'.
6233         * lib/math.in.h (tanhf): New declaration.
6234         * lib/tanhf.c: New file.
6235         * m4/tanhf.m4: New file.
6236         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
6237         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
6238         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
6239         * modules/tanhf: New file.
6240         * tests/test-math-c++.cc: Check the declaration of tanhf.
6241         * doc/posix-functions/tanhf.texi: Mention the new module.
6242
6243         tanh: Use a .m4 file.
6244         * m4/tanh.m4: New file.
6245         * modules/tanh (Files): Add it.
6246         (configure.ac): Just invoke gl_FUNC_TANH.
6247
6248 2011-10-08  Bruno Haible  <bruno@clisp.org>
6249
6250         Tests for module 'coshf'.
6251         * modules/coshf-tests: New file.
6252         * tests/test-coshf.c: New file.
6253
6254         New module 'coshf'.
6255         * lib/math.in.h (coshf): New declaration.
6256         * lib/coshf.c: New file.
6257         * m4/coshf.m4: New file.
6258         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
6259         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
6260         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
6261         * modules/coshf: New file.
6262         * tests/test-math-c++.cc: Check the declaration of coshf.
6263         * doc/posix-functions/coshf.texi: Mention the new module.
6264
6265         cosh: Use a .m4 file.
6266         * m4/cosh.m4: New file.
6267         * modules/cosh (Files): Add it.
6268         (configure.ac): Just invoke gl_FUNC_COSH.
6269
6270 2011-10-08  Bruno Haible  <bruno@clisp.org>
6271
6272         Tests for module 'sinhf'.
6273         * modules/sinhf-tests: New file.
6274         * tests/test-sinhf.c: New file.
6275
6276         New module 'sinhf'.
6277         * lib/math.in.h (sinhf): New declaration.
6278         * lib/sinhf.c: New file.
6279         * m4/sinhf.m4: New file.
6280         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
6281         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
6282         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
6283         * modules/sinhf: New file.
6284         * tests/test-math-c++.cc: Check the declaration of sinhf.
6285         * doc/posix-functions/sinhf.texi: Mention the new module.
6286
6287         sinh: Use a .m4 file.
6288         * m4/sinh.m4: New file.
6289         * modules/sinh (Files): Add it.
6290         (configure.ac): Just invoke gl_FUNC_SINH.
6291
6292 2011-10-08  Bruno Haible  <bruno@clisp.org>
6293
6294         Tests for module 'atan2f'.
6295         * modules/atan2f-tests: New file.
6296         * tests/test-atan2f.c: New file.
6297
6298         New module 'atan2f'.
6299         * lib/math.in.h (atan2f): New declaration.
6300         * lib/atan2f.c: New file.
6301         * m4/atan2f.m4: New file.
6302         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
6303         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
6304         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
6305         * modules/atan2f: New file.
6306         * tests/test-math-c++.cc: Check the declaration of atan2f.
6307         * doc/posix-functions/atan2f.texi: Mention the new module.
6308
6309         atan2: Use a .m4 file.
6310         * m4/atan2.m4: New file.
6311         * modules/atan2 (Files): Add it.
6312         (configure.ac): Just invoke gl_FUNC_ATAN2.
6313
6314 2011-10-08  Bruno Haible  <bruno@clisp.org>
6315
6316         Tests for module 'atanf'.
6317         * modules/atanf-tests: New file.
6318         * tests/test-atanf.c: New file.
6319
6320         New module 'atanf'.
6321         * lib/math.in.h (atanf): New declaration.
6322         * lib/atanf.c: New file.
6323         * m4/atanf.m4: New file.
6324         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
6325         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
6326         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
6327         * modules/atanf: New file.
6328         * tests/test-math-c++.cc: Check the declaration of atanf.
6329         * doc/posix-functions/atanf.texi: Mention the new module.
6330
6331         atan: Use a .m4 file.
6332         * m4/atan.m4: New file.
6333         * modules/atan (Files): Add it.
6334         (configure.ac): Just invoke gl_FUNC_ATAN.
6335
6336 2011-10-08  Bruno Haible  <bruno@clisp.org>
6337
6338         Tests for module 'acosf'.
6339         * modules/acosf-tests: New file.
6340         * tests/test-acosf.c: New file.
6341
6342         New module 'acosf'.
6343         * lib/math.in.h (acosf): New declaration.
6344         * lib/acosf.c: New file.
6345         * m4/acosf.m4: New file.
6346         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
6347         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
6348         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
6349         * modules/acosf: New file.
6350         * tests/test-math-c++.cc: Check the declaration of acosf.
6351         * doc/posix-functions/acosf.texi: Mention the new module.
6352
6353         acos: Use a .m4 file.
6354         * m4/acos.m4: New file.
6355         * modules/acos (Files): Add it.
6356         (configure.ac): Just invoke gl_FUNC_ACOS.
6357
6358 2011-10-08  Bruno Haible  <bruno@clisp.org>
6359
6360         Tests for module 'asinf'.
6361         * modules/asinf-tests: New file.
6362         * tests/test-asinf.c: New file.
6363
6364         New module 'asinf'.
6365         * lib/math.in.h (asinf): New declaration.
6366         * lib/asinf.c: New file.
6367         * m4/asinf.m4: New file.
6368         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
6369         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
6370         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
6371         * modules/asinf: New file.
6372         * tests/test-math-c++.cc: Check the declaration of asinf.
6373         * doc/posix-functions/asinf.texi: Mention the new module.
6374
6375         asin: Use a .m4 file.
6376         * m4/asin.m4: New file.
6377         * modules/asin (Files): Add it.
6378         (configure.ac): Just invoke gl_FUNC_ASIN.
6379
6380 2011-10-08  Bruno Haible  <bruno@clisp.org>
6381
6382         Tests for module 'tanf'.
6383         * modules/tanf-tests: New file.
6384         * tests/test-tanf.c: New file.
6385
6386         New module 'tanf'.
6387         * lib/math.in.h (tanf): New declaration.
6388         * lib/tanf.c: New file.
6389         * m4/tanf.m4: New file.
6390         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
6391         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
6392         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
6393         * modules/tanf: New file.
6394         * tests/test-math-c++.cc: Check the declaration of tanf.
6395         * doc/posix-functions/tanf.texi: Mention the new module.
6396
6397         tan: Use a .m4 file.
6398         * m4/tan.m4: New file.
6399         * modules/tan (Files): Add it.
6400         (configure.ac): Just invoke gl_FUNC_TAN.
6401
6402 2011-10-08  Bruno Haible  <bruno@clisp.org>
6403
6404         Tests for module 'cosf'.
6405         * modules/cosf-tests: New file.
6406         * tests/test-cosf.c: New file.
6407
6408         New module 'cosf'.
6409         * lib/math.in.h (cosf): New declaration.
6410         * lib/cosf.c: New file.
6411         * m4/cosf.m4: New file.
6412         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
6413         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
6414         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
6415         * modules/cosf: New file.
6416         * tests/test-math-c++.cc: Check the declaration of cosf.
6417         * doc/posix-functions/cosf.texi: Mention the new module.
6418
6419         cos: Use a .m4 file.
6420         * m4/cos.m4: New file.
6421         * modules/cos (Files): Add it.
6422         (configure.ac): Just invoke gl_FUNC_COS.
6423
6424 2011-10-08  Bruno Haible  <bruno@clisp.org>
6425
6426         Tests for module 'sinf'.
6427         * modules/sinf-tests: New file.
6428         * tests/test-sinf.c: New file.
6429
6430         New module 'sinf'.
6431         * lib/math.in.h (sinf): New declaration.
6432         * lib/sinf.c: New file.
6433         * m4/sinf.m4: New file.
6434         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
6435         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
6436         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
6437         * modules/sinf: New file.
6438         * tests/test-math-c++.cc: Check the declaration of sinf.
6439         * doc/posix-functions/sinf.texi: Mention the new module.
6440
6441         sin: Use a .m4 file.
6442         * m4/sin.m4: New file.
6443         * modules/sin (Files): Add it.
6444         (configure.ac): Just invoke gl_FUNC_SIN.
6445
6446 2011-10-08  Bruno Haible  <bruno@clisp.org>
6447
6448         Tests for module 'powf'.
6449         * modules/powf-tests: New file.
6450         * tests/test-powf.c: New file.
6451
6452         New module 'powf'.
6453         * lib/math.in.h (powf): New declaration.
6454         * lib/powf.c: New file.
6455         * m4/powf.m4: New file.
6456         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
6457         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
6458         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
6459         * modules/powf: New file.
6460         * tests/test-math-c++.cc: Check the declaration of powf.
6461         * doc/posix-functions/powf.texi: Mention the new module.
6462
6463         pow: Use a .m4 file.
6464         * m4/pow.m4: New file.
6465         * modules/pow (Files): Add it.
6466         (configure.ac): Just invoke gl_FUNC_POW.
6467
6468 2011-10-08  Bruno Haible  <bruno@clisp.org>
6469
6470         Tests for module 'log10f'.
6471         * modules/log10f-tests: New file.
6472         * tests/test-log10f.c: New file.
6473
6474         New module 'log10f'.
6475         * lib/math.in.h (log10f): New declaration.
6476         * lib/log10f.c: New file.
6477         * m4/log10f.m4: New file.
6478         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
6479         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
6480         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
6481         * modules/log10f: New file.
6482         * tests/test-math-c++.cc: Check the declaration of log10f.
6483         * doc/posix-functions/log10f.texi: Mention the new module.
6484
6485         log10: Use a .m4 file.
6486         * m4/log10.m4: New file.
6487         * modules/log10 (Files): Add it.
6488         (configure.ac): Just invoke gl_FUNC_LOG10.
6489
6490 2011-10-08  Bruno Haible  <bruno@clisp.org>
6491
6492         Tests for module 'logf'.
6493         * modules/logf-tests: New file.
6494         * tests/test-logf.c: New file.
6495
6496         New module 'logf'.
6497         * lib/math.in.h (logf): New declaration.
6498         * lib/logf.c: New file.
6499         * m4/logf.m4: New file.
6500         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
6501         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
6502         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
6503         * modules/logf: New file.
6504         * tests/test-math-c++.cc: Check the declaration of logf.
6505         * doc/posix-functions/logf.texi: Mention the new module.
6506
6507         log: Use a .m4 file.
6508         * m4/log.m4: New file.
6509         * modules/log (Files): Add it.
6510         (configure.ac): Just invoke gl_FUNC_LOG.
6511
6512 2011-10-08  Bruno Haible  <bruno@clisp.org>
6513
6514         Tests for module 'expf'.
6515         * modules/expf-tests: New file.
6516         * tests/test-expf.c: New file.
6517
6518         New module 'expf'.
6519         * lib/math.in.h (expf): New declaration.
6520         * lib/expf.c: New file.
6521         * m4/expf.m4: New file.
6522         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
6523         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
6524         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
6525         * modules/expf: New file.
6526         * tests/test-math-c++.cc: Check the declaration of expf.
6527         * doc/posix-functions/expf.texi: Mention the new module.
6528
6529         exp: Use a .m4 file.
6530         * m4/exp.m4: New file.
6531         * modules/exp (Files): Add it.
6532         (configure.ac): Just invoke gl_FUNC_EXP.
6533
6534 2011-10-08  Bruno Haible  <bruno@clisp.org>
6535
6536         Tests for module 'sqrtf'.
6537         * modules/sqrtf-tests: New file.
6538         * tests/test-sqrtf.c: New file.
6539
6540         New module 'sqrtf'.
6541         * lib/math.in.h (sqrtf): New declaration.
6542         * lib/sqrtf.c: New file.
6543         * m4/sqrtf.m4: New file.
6544         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
6545         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
6546         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
6547         * modules/sqrtf: New file.
6548         * tests/test-math-c++.cc: Check the declaration of sqrtf.
6549         * doc/posix-functions/sqrtf.texi: Mention the new module.
6550
6551 2011-10-08  Bruno Haible  <bruno@clisp.org>
6552
6553         Tests: Avoid link failures w.r.t. libintl.
6554         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
6555         $(LIBINTL).
6556         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
6557         $(LIBINTL).
6558         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
6559         against $(LIBINTL).
6560         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
6561         $(LIBINTL).
6562         * modules/openat-tests (Makefile.am): Link test-fchmodat against
6563         $(LIBINTL).
6564         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
6565
6566 2011-10-08  Bruno Haible  <bruno@clisp.org>
6567
6568         pow tests: Defeat compiler optimizations.
6569         * tests/test-pow.c (main): Assign arguments to x and y before use.
6570
6571 2011-10-08  Bruno Haible  <bruno@clisp.org>
6572
6573         gnulib-tool: Improve last commit.
6574         * gnulib-tool (func_modules_transitive_closure): Simplify code.
6575         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
6576         ignore dependencies that are not among the modules list.
6577
6578 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
6579
6580         gnulib-tool: don't follow dependencies to avoided modules
6581         This fixes a bug that is related to the previous one.
6582         * gnulib-tool (func_modules_transitive_closure)
6583         (func_emit_autoconf_snippets):
6584         Check whether a dependency is acceptable before using it.
6585         (--extract-dependencies): Report an error if --avoid is also used,
6586         since this combination of options is not yet supported.
6587
6588         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
6589         Problem reported by Peter Dyballa in
6590         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
6591         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
6592         when echoing "$condition".
6593
6594 2011-10-07  Bruno Haible  <bruno@clisp.org>
6595
6596         Fix documentation about math functions on MacOS X.
6597         * doc/posix-functions/exp2.texi: Don't say the function is missing on
6598         MacOS X 10.5.
6599         * doc/posix-functions/fdim.texi: Likewise.
6600         * doc/posix-functions/feclearexcept.texi: Likewise.
6601         * doc/posix-functions/fegetenv.texi: Likewise.
6602         * doc/posix-functions/fegetround.texi: Likewise.
6603         * doc/posix-functions/feholdexcept.texi: Likewise.
6604         * doc/posix-functions/feraiseexcept.texi: Likewise.
6605         * doc/posix-functions/fesetenv.texi: Likewise.
6606         * doc/posix-functions/fesetround.texi: Likewise.
6607         * doc/posix-functions/fetestexcept.texi: Likewise.
6608         * doc/posix-functions/feupdateenv.texi: Likewise.
6609         * doc/posix-functions/fmax.texi: Likewise.
6610         * doc/posix-functions/fmin.texi: Likewise.
6611         * doc/posix-functions/log2.texi: Likewise.
6612         * doc/posix-functions/modff.texi: Likewise.
6613         * doc/posix-functions/nan.texi: Likewise.
6614         * doc/posix-functions/nanf.texi: Likewise.
6615         * doc/posix-functions/nextafterf.texi: Likewise.
6616         * doc/posix-functions/remquo.texi: Likewise.
6617
6618 2011-10-07  Bruno Haible  <bruno@clisp.org>
6619
6620         modff: Drop assumption about library that defines modff.
6621         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
6622         AC_CHECK_FUNCS.
6623         * modules/modff (Files): Add m4/mathfunc.m4.
6624
6625 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
6626
6627         raise tests: Avoid a GCC warning.
6628         * tests/test-raise.c (handler): Use _Noreturn.
6629
6630 2011-10-07  Bruno Haible  <bruno@clisp.org>
6631
6632         Tests for module 'ldexpf'.
6633         * modules/ldexpf-tests: New file.
6634         * tests/test-ldexpf.c: New file.
6635
6636         New module 'ldexpf'.
6637         * lib/math.in.h (ldexpf): New declaration.
6638         * lib/ldexpf.c: New file.
6639         * m4/ldexpf.m4: New file.
6640         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
6641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
6642         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
6643         * modules/ldexpf: New file.
6644         * tests/test-math-c++.cc: Check the declaration of ldexpf.
6645         * doc/posix-functions/ldexpf.texi: Mention the new module.
6646
6647 2011-10-06  Bruno Haible  <bruno@clisp.org>
6648
6649         frexpf: Work around problems on IRIX and mingw.
6650         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
6651         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
6652         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
6653         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
6654         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
6655         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
6656         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
6657
6658 2011-10-06  Bruno Haible  <bruno@clisp.org>
6659
6660         fabsf: Drop assumption about library that defines fabsf.
6661         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
6662         AC_CHECK_FUNCS.
6663         * modules/fabsf (Files): Add m4/mathfunc.m4.
6664
6665 2011-10-06  Bruno Haible  <bruno@clisp.org>
6666
6667         frexpf: Drop assumption about library that defines frexpf.
6668         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
6669         'int *', 'float *', 'long double *', 'float', 'long double'.
6670         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
6671         AC_CHECK_FUNCS.
6672         * modules/frexpf (Files): Add m4/mathfunc.m4.
6673
6674         Tests for module 'frexpf'.
6675         * modules/frexpf-tests: New file.
6676         * tests/test-frexpf.c: New file.
6677
6678         New module 'frexpf'.
6679         * lib/math.in.h (frexpf): New declaration.
6680         * lib/frexpf.c: New file.
6681         * m4/frexpf.m4: New file.
6682         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6683         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6684         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6685         * modules/frexpf: New file.
6686         * tests/test-math-c++.cc: Check the declaration of frexpf.
6687         * doc/posix-functions/frexpf.texi: Mention the new module.
6688
6689 2011-10-06  Bruno Haible  <bruno@clisp.org>
6690
6691         math: Sort function declarations of math.in.h.
6692         * lib/math.in.h (frexp, logb): Move declarations.
6693
6694 2011-10-05  Bruno Haible  <bruno@clisp.org>
6695
6696         Tests for module 'modff'.
6697         * modules/modff-tests: New file.
6698         * tests/test-modff.c: New file.
6699
6700         New module 'modff'.
6701         * lib/math.in.h (modff): New declaration.
6702         * lib/modff.c: New file.
6703         * m4/modff.m4: New file.
6704         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6705         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6706         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6707         * modules/modff: New file.
6708         * tests/test-math-c++.cc: Check the declaration of modff.
6709         * doc/posix-functions/modff.texi: Mention the new module.
6710
6711         modf tests: Make test sharper.
6712         * tests/test-modf.c (main): Strengthen upper bound.
6713
6714         modf: Use a .m4 file.
6715         * m4/modf.m4: New file.
6716         * modules/modf (Files): Add it.
6717         (configure.ac): Just invoke gl_FUNC_MODF.
6718
6719 2011-10-05  Bruno Haible  <bruno@clisp.org>
6720
6721         Tests for module 'fmodf'.
6722         * modules/fmodf-tests: New file.
6723         * tests/test-fmodf.c: New file.
6724
6725         New module 'fmodf'.
6726         * lib/math.in.h (fmodf): New declaration.
6727         * lib/fmodf.c: New file.
6728         * m4/fmodf.m4: New file.
6729         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6730         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6731         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6732         * modules/fmodf: New file.
6733         * tests/test-math-c++.cc: Check the declaration of fmodf.
6734         * doc/posix-functions/fmodf.texi: Mention the new module.
6735
6736         fmod: Use a .m4 file.
6737         * m4/fmod.m4: New file.
6738         * modules/fmod (Files): Add it.
6739         (configure.ac): Just invoke gl_FUNC_FMOD.
6740
6741 2011-10-05  Bruno Haible  <bruno@clisp.org>
6742
6743         Tests for module 'fabsf'.
6744         * modules/fabsf-tests: New file.
6745         * tests/test-fabsf.c: New file.
6746
6747         New module 'fabsf'.
6748         * lib/math.in.h (fabsf): New declaration.
6749         * lib/fabsf.c: New file.
6750         * m4/fabsf.m4: New file.
6751         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6752         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6753         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6754         * modules/fabsf: New file.
6755         * tests/test-math-c++.cc: Check the declaration of fabsf.
6756         * doc/posix-functions/fabsf.texi: Mention the new module.
6757
6758         fabs: Use a .m4 file.
6759         * m4/fabs.m4: New file.
6760         * modules/fabs (Files): Add it.
6761         (configure.ac): Just invoke gl_FUNC_FABS.
6762
6763 2011-10-05  Jim Meyering  <meyering@redhat.com>
6764
6765         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6766         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6767         ls -lL regression introduced in coreutils-8.12, it does so at the
6768         cost of an additional stat call in the common case.  Besides, now
6769         that the kernel change that prompted commit 95f7c57f has been reverted
6770         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6771         we have no use for commit 95f7c57f, "file-has-acl: use
6772         acl_extended_file_nofollow if available".
6773
6774 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6775
6776         file-has-acl: revert unintended change in behavior of ls -L
6777         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6778         derived from...
6779         (file_has_acl): ...code here.  Call it.
6780         This problem was introduced with 2011-07-22 commit 95f7c57f,
6781         "file-has-acl: use acl_extended_file_nofollow if available".
6782         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6783
6784 2011-10-03  Bruno Haible  <bruno@clisp.org>
6785
6786         poll: Avoid link errors on MSVC.
6787         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6788         * modules/poll (Depends-on): Add sockets.
6789         (Link): New section.
6790         * NEWS: Mention the change.
6791         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6792         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6793         $(LIB_POLL) instead of $(LIBSOCKET).
6794
6795 2011-10-03  Bruno Haible  <bruno@clisp.org>
6796
6797         sys_select tests: Fix link error on MSVC 9.
6798         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6799         with $(LIB_SELECT) instead of $(LIBSOCKET).
6800
6801 2011-10-03  Bruno Haible  <bruno@clisp.org>
6802
6803         sys_select: Fix compilation error on mingw.
6804         * lib/sys_select.in.h: On native Windows, include <io.h>.
6805
6806 2011-10-03  Bruno Haible  <bruno@clisp.org>
6807
6808         wmemset: Support for MSVC.
6809         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6810         whether wmemset() exists.
6811
6812 2011-10-03  Bruno Haible  <bruno@clisp.org>
6813
6814         wmemmove: Support for MSVC.
6815         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6816         whether wmemmove() exists.
6817
6818 2011-10-03  Bruno Haible  <bruno@clisp.org>
6819
6820         wmemcpy: Support for MSVC.
6821         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
6822         whether wmemcpy() exists.
6823
6824 2011-10-03  Bruno Haible  <bruno@clisp.org>
6825
6826         wmemcmp: Support for MSVC.
6827         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
6828         whether wmemcmp() exists.
6829
6830 2011-10-03  Bruno Haible  <bruno@clisp.org>
6831
6832         wmemchr: Support for MSVC.
6833         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
6834         whether wmemchr() exists.
6835
6836 2011-10-03  Bruno Haible  <bruno@clisp.org>
6837
6838         glthread/*, strsignal: Support for MSVC.
6839         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
6840         including <winsock.h> on MSVC 9.
6841         * lib/glthread/lock.h: Likewise.
6842         * lib/glthread/thread.h: Likewise.
6843         * lib/glthread/tls.h: Likewise.
6844         * lib/glthread/yield.h: Likewise.
6845         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6846         if HAVE_UNISTD_H is false.
6847         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6848
6849 2011-10-03  Bruno Haible  <bruno@clisp.org>
6850
6851         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6852         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6853         Set to 100000.
6854
6855 2011-10-03  Bruno Haible  <bruno@clisp.org>
6856
6857         acl: Fix specification.
6858         * lib/file-has-acl.c (file_has_acl): Fix specification.
6859
6860 2011-10-03  Bruno Haible  <bruno@clisp.org>
6861
6862         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6863         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6864         (compute_curr_prefix, shared_library_fullname,
6865         find_shared_library_fullname, get_shared_library_fullname, relocate):
6866         Use it together with PIC && INSTALLDIR.
6867         Reported by <jojelino@gmail.com>
6868         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6869
6870 2011-10-01  Jim Meyering  <meyering@redhat.com>
6871
6872         maint.mk: adjust a release-related rule not to require use of gzip
6873         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6874         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6875         projects that build only .tar.xz files.  Also fix an erroneous test.
6876
6877         test-linkat: don't leave behind a temporary file
6878         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6879         Otherwise, coreutils' "make distcheck" would fail with this:
6880           Only in /c/cu/tests/torture/coreutils/test/\
6881             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6882           make[2]: *** [my-distcheck] Error 1
6883
6884         float, math: add omitted file
6885         * lib/itold.c: Add file, required for yesterday's float change.
6886
6887 2011-10-01  Bruno Haible  <bruno@clisp.org>
6888
6889         isinf: Fix for OpenBSD/x86.
6890         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6891         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6892         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6893
6894 2011-10-01  Bruno Haible  <bruno@clisp.org>
6895
6896         isfinite: Fix syntax error in configure test.
6897         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6898
6899         isfinite: Fix typo.
6900         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6901         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6902
6903 2011-10-01  Bruno Haible  <bruno@clisp.org>
6904
6905         nonblocking tests: Fix test failure on Linux/IA-64.
6906         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6907         Set to 270000.
6908
6909 2011-10-01  Bruno Haible  <bruno@clisp.org>
6910
6911         mkfifoat tests: Fix a test failure on mingw.
6912         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6913         with error ENOSYS.
6914
6915 2011-09-30  Bruno Haible  <bruno@clisp.org>
6916
6917         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6918         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6919         'long double'. Set REPLACE_ITOLD.
6920         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6921         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6922         * lib/itold.c: New file.
6923         * modules/float (Files): Add lib/itold.c.
6924         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6925         (Makefile.am): Substitute REPLACE_ITOLD.
6926         * modules/math (Depends-on): Add float.
6927         (Makefile.am): Substitute REPLACE_ITOLD.
6928         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6929         * doc/posix-headers/math.texi: Likewise.
6930         * doc/posix-functions/logl.texi: Likewise.
6931
6932 2011-09-30  Bruno Haible  <bruno@clisp.org>
6933
6934         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6935         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6936         Set to 140000.
6937
6938 2011-09-30  Bruno Haible  <bruno@clisp.org>
6939
6940         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6941         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6942         invocation, say "right after AC_PROG_CC_STDC", not "right after
6943         AC_PROG_CC".
6944         Reported by Gary V. Vaughan <gary@gnu.org>.
6945
6946 2011-09-30  Bruno Haible  <bruno@clisp.org>
6947
6948         Centralize C99 requirement.
6949         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6950         * modules/stdarg (configure.ac-early): Invoke it instead of
6951         AC_PROG_CC_STDC.
6952         Reported by Gary V. Vaughan and Paul Eggert.
6953
6954 2011-09-29  Bruno Haible  <bruno@clisp.org>
6955
6956         float: Fix LDBL_MAX value on Linux/PowerPC.
6957         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6958         on Linux/PowerPC.
6959         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
6960         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
6961         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
6962         platform.
6963         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
6964
6965 2011-09-29  Bruno Haible  <bruno@clisp.org>
6966
6967         doc: Improve doc about gl_EARLY.
6968         * doc/gnulib-tool.texi (Initial import): Mention where to place an
6969         AC_PROG_CC_STDC invocation.
6970         Reported by Gary V. Vaughan <gary@gnu.org>.
6971
6972 2011-09-28  Bruno Haible  <bruno@clisp.org>
6973
6974         fgetc, fputc, fread, fwrite tests: Fix link error.
6975         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
6976         on non-MSVC platforms.
6977         * tests/test-fputc.c (main): Likewise.
6978         * tests/test-fread.c (main): Likewise.
6979         * tests/test-fwrite.c (main): Likewise.
6980         Reported by Jim Meyering.
6981
6982 2011-09-27  Bruno Haible  <bruno@clisp.org>
6983
6984         fputc, fwrite tests: Avoid test failure on MSVC.
6985         * tests/test-fgetc.c: Include msvc-inval.h.
6986         (main): Invoke gl_msvc_inval_ensure_handler.
6987         * tests/test-fputc.c: Include msvc-inval.h.
6988         (main): Invoke gl_msvc_inval_ensure_handler.
6989         * tests/test-fread.c: Include msvc-inval.h.
6990         (main): Invoke gl_msvc_inval_ensure_handler.
6991         * tests/test-fwrite.c: Include msvc-inval.h.
6992         (main): Invoke gl_msvc_inval_ensure_handler.
6993         * modules/fgetc-tests (Depends-on): Add msvc-inval.
6994         * modules/fputc-tests (Depends-on): Likewise.
6995         * modules/fread-tests (Depends-on): Likewise.
6996         * modules/fwrite-tests (Depends-on): Likewise.
6997
6998 2011-09-27  Bruno Haible  <bruno@clisp.org>
6999
7000         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
7001         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
7002         (raise): Remove older, duplicated declaration.
7003         (_gl_raise_SIGPIPE): New declaration.
7004         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
7005         (rpl_raise): Remove function.
7006         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
7007         a gnulib-defined SIGPIPE here.
7008         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
7009         'sigprocmask' has detected missing signal-blocking and the module
7010         'sigpipe' is enabled.
7011         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7012
7013 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
7014
7015         base64-tests: avoid memory leak
7016         * tests/test-base64.c (main): Plug memory leak.
7017
7018         base32: new module
7019         * modules/base32: New module.
7020         * lib/base32.c: New file.
7021         * lib/base32.h: Likewise.
7022         * m4/base32.m4: Likewise.
7023         * modules/base32-tests: New test.
7024         * tests/test-base32.c: Likewise.
7025         * MODULES.html.sh (Misc): Mention it.
7026
7027 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7028
7029         gnulib: use more-standard license notice wording
7030         * gnulib-tool (func_emit_copyright_notice): When emitting a
7031         license notice into a file, use the standard wording as suggested
7032         by the current information for GNU maintainers, except say "file"
7033         rather than "program".  The new wording gives a license version
7034         number, which addresses an issue raised by Glenn Morris in
7035         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
7036         * m4/onceonly.m4: Use that same wording here, too.
7037
7038         dup2: minor simplification
7039         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
7040         as lib/dup2.c no longer uses 'inline'.
7041
7042 2011-09-25  Bruno Haible  <bruno@clisp.org>
7043
7044         strings: Fix compilation error on MSVC.
7045         * lib/strings.in.h: Include <stddef.h> for size_t.
7046
7047 2011-09-25  Bruno Haible  <bruno@clisp.org>
7048
7049         fflush et al.: Document limitation on MSVC.
7050         * doc/posix-functions/fflush.texi: Document possible crash in handling
7051         mode other than DEFAULT_HANDLING.
7052         * doc/posix-functions/fgetc.texi: Likewise.
7053         * doc/posix-functions/fputc.texi: Likewise.
7054         * doc/posix-functions/fread.texi: Likewise.
7055         * doc/posix-functions/fwrite.texi: Likewise.
7056
7057 2011-09-25  Bruno Haible  <bruno@clisp.org>
7058
7059         msvc-inval: Allow three invalid parameter handling modes.
7060         * lib/msvc-inval.h: Don't include <stdlib.h> here.
7061         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
7062         macros.
7063         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
7064         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
7065         SANE_LIBRARY_HANDLING as a no-op.
7066         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
7067         <stdlib.h>.
7068         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
7069
7070 2011-09-25  Bruno Haible  <bruno@clisp.org>
7071
7072         msvc-inval: Make handler multithread-safe.
7073         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
7074         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
7075         declarations.
7076         (gl_msvc_inval_current): New declaration.
7077         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7078         Operate on the structure returned by gl_msvc_inval_current().
7079         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
7080         Remove varaiables.
7081         (tls_index, tls_initialized): New variables.
7082         (not_per_thread): New variable.
7083         (gl_msvc_inval_current): New function.
7084         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
7085         returned by gl_msvc_inval_current().
7086
7087 2011-09-25  Bruno Haible  <bruno@clisp.org>
7088
7089         msvc-inval: Install handler globally.
7090         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
7091         !_MSC_VER.
7092         (gl_msvc_invalid_parameter_handler): Remove declaration.
7093         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
7094         declarations.
7095         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7096         Install the handler globally, don't uninstall it.
7097         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
7098         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
7099         currently valid, call RaiseException instead.
7100         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
7101         for !_MSC_VER.
7102
7103 2011-09-25  Bruno Haible  <bruno@clisp.org>
7104
7105         strerror_r-posix: Fix for MSVC 9.
7106         * lib/strerror_r.c (local_snprintf): New function.
7107         (snprintf): Define to local_snprintf, not to _snprintf.
7108
7109 2011-09-25  Bruno Haible  <bruno@clisp.org>
7110
7111         ftruncate: Support for MSVC 9.
7112         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
7113         (chsize_nothrow): New function.
7114         (chsize): Redefine as a macro.
7115         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
7116         * modules/ftruncate (Depends-on): Add msvc-inval.
7117
7118 2011-09-25  Bruno Haible  <bruno@clisp.org>
7119
7120         New module 'fstat'.
7121         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
7122         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
7123         * lib/fchdir.c (rpl_fstat): Remove function.
7124         * m4/fstat.m4: New file.
7125         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
7126         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
7127         declared.
7128         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
7129         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
7130         * modules/fstat: New file.
7131         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
7132         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
7133         is set.
7134         * doc/posix-functions/fstat.texi: Mention the new module and the
7135         problem on MSVC.
7136         * NEWS: Mention the change.
7137         * modules/acl (Depends-on): Add fstat.
7138         * modules/chdir-safer (Depends-on): Likewise.
7139         * modules/chown (Depends-on): Likewise.
7140         * modules/copy-file (Depends-on): Likewise.
7141         * modules/fchdir (Depends-on): Likewise.
7142         * modules/fdopendir (Depends-on): Likewise.
7143         * modules/fopen (Depends-on): Likewise.
7144         * modules/fts (Depends-on): Likewise.
7145         * modules/getcwd (Depends-on): Likewise.
7146         * modules/isapipe (Depends-on): Likewise.
7147         * modules/linkat (Depends-on): Likewise.
7148         * modules/lseek (Depends-on): Likewise.
7149         * modules/mkdir-p (Depends-on): Likewise.
7150         * modules/open (Depends-on): Likewise.
7151         * modules/openat (Depends-on): Likewise.
7152         * modules/read-file (Depends-on): Likewise.
7153         * modules/renameat (Depends-on): Likewise.
7154         * modules/utimens (Depends-on): Likewise.
7155
7156 2011-09-25  Bruno Haible  <bruno@clisp.org>
7157
7158         linkat: Fix compilation on MSVC 9.
7159         * lib/linkat.c: Don't include <stdint.h>.
7160
7161 2011-09-25  Bruno Haible  <bruno@clisp.org>
7162
7163         fclose: Support for MSVC 9.
7164         * lib/fclose.c: Include msvc-inval.h.
7165         (fclose_nothrow): New function.
7166         (rpl_fclose): Use it.
7167         * modules/fclose (Depends-on): Add msvc-inval.
7168         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
7169
7170 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
7171
7172         dup2: minor simplifications
7173         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
7174         that it's a performance win.
7175         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
7176         ! defined __CYGWIN__)" to "ifdef F_GETFL".
7177
7178 2011-09-24  Jim Meyering  <meyering@redhat.com>
7179
7180         test-futimens: avoid a warning from gcc -Wshadow
7181         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
7182         to avoid a shadowing warning.
7183
7184 2011-09-24  Bruno Haible  <bruno@clisp.org>
7185
7186         fdopen: Support for MSVC 9.
7187         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
7188         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
7189         * lib/fdopen.c: Include msvc-inval.h.
7190         (fdopen_nothrow): New function.
7191         (rpl_fdopen): Use it.
7192         * modules/fdopen (Depends-on): Add msvc-inval.
7193         * modules/fclose-tests (Depends-on): Add fdopen.
7194         * modules/fflush-tests (Depends-on): Likewise.
7195         * modules/fgetc-tests (Depends-on): Likewise.
7196         * modules/fputc-tests (Depends-on): Likewise.
7197         * modules/fread-tests (Depends-on): Likewise.
7198         * modules/freopen-tests (Depends-on): Likewise.
7199         * modules/fseeko-tests (Depends-on): Likewise.
7200         * modules/ftello-tests (Depends-on): Likewise.
7201         * modules/fwrite-tests  (Depends-on): Likewise.
7202         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
7203
7204 2011-09-24  Bruno Haible  <bruno@clisp.org>
7205
7206         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
7207         * modules/fgetc-tests (Depends-on): Add unistd.
7208         * modules/fputc-tests (Depends-on): Likewise.
7209         * modules/fread-tests (Depends-on): Likewise.
7210         * modules/fwrite-tests (Depends-on): Likewise.
7211
7212 2011-09-24  Bruno Haible  <bruno@clisp.org>
7213
7214         dup: Simplify autoconf test.
7215         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
7216         on gl_MSVC_INVAL's result.
7217
7218 2011-09-24  Bruno Haible  <bruno@clisp.org>
7219
7220         Tests for function fwrite().
7221         * modules/fwrite-tests: New file.
7222         * tests/test-fwrite.c: New file.
7223         * modules/stdio-tests (Depends-on): Add fwrite-tests.
7224
7225         Tests for function fread().
7226         * modules/fread-tests: New file.
7227         * tests/test-fread.c: New file.
7228         * modules/stdio-tests (Depends-on): Add fread-tests.
7229
7230         Activate fputc tests.
7231         * modules/stdio-tests (Depends-on): Add fputc-tests.
7232
7233         Enhance fgetc, fputc tests.
7234         * tests/test-fgetc.c (main): Also test the stream's error indicator.
7235         * tests/test-fputc.c (main): Likewise.
7236
7237 2011-09-24  Bruno Haible  <bruno@clisp.org>
7238
7239         write: Support for MSVC 9.
7240         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7241         is not 1.
7242         * lib/write.c (write_nothrow): New function.
7243         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
7244         not 1. Use write_nothrow.
7245         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
7246         invalid parameter handler.
7247         (gl_PREREQ_WRITE): New macro.
7248         * modules/write (Depends-on): Add msvc-inval.
7249         (configure.ac): Invoke gl_PREREQ_WRITE.
7250         * doc/posix-functions/write.texi: Mention the problem on MSVC.
7251
7252 2011-09-24  Bruno Haible  <bruno@clisp.org>
7253
7254         read: Fix last commit.
7255         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
7256
7257 2011-09-24  Bruno Haible  <bruno@clisp.org>
7258
7259         dup2: Fix last commit.
7260         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
7261         (rpl_dup2): Disable fcntl workaround on native Windows.
7262
7263         sigprocmask: Make code safer.
7264         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
7265         section that changes macro definitions for this compilation unit.
7266
7267 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7268
7269         dup2: clarify by coalescing Windows-specific material
7270         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
7271         "msvc-nothrow.h"' to the Windows-specific section, so that the
7272         Emacs source need not contain these include files.
7273         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
7274         Windows-specific fixes into this function rather than just the
7275         nothrow fix, as this shortens and clarifies the code.  Always
7276         define as a function, as that's a bit cleaner than having it be
7277         sometimes a function and sometimes a macro.
7278         (rpl_dup2): Move the Windows-specific stuff out of here and into
7279         ms_windows_dup2.  Don't protect the Haiku-related fix with
7280         "#if !defined __linux__", as the same code also works around
7281         a Linux kernel bug, and it doesn't add any system calls on any
7282         platform.  Add comment about FreeBSD 6.1.
7283
7284         sigprocmask: move #include directive
7285         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
7286         Windows-specific section, so that the Emacs source need not
7287         contain msvc-inval.h.
7288
7289 2011-09-23  Bruno Haible  <bruno@clisp.org>
7290
7291         read: Support for MSVC 9.
7292         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7293         is not 1.
7294         * lib/read.c (read_nothrow): New function.
7295         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
7296         read_nothrow.
7297         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
7298         invalid parameter handler.
7299         (gl_PREREQ_READ): New macro.
7300         * modules/read (Depends-on): Add msvc-inval.
7301         (configure.ac): Invoke gl_PREREQ_READ.
7302         * doc/posix-functions/read.texi: Mention the problem on MSVC.
7303
7304 2011-09-23  Bruno Haible  <bruno@clisp.org>
7305
7306         close: Support for MSVC 9.
7307         * lib/close.c: Include <errno.h>, msvc-inval.h.
7308         (close_nothrow): New function.
7309         (rpl_close): Use it.
7310         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
7311         invalid parameter handler.
7312         * modules/close (Depends-on): Add msvc-inval.
7313         * modules/dup2-tests (Depends-on): Add close.
7314         * modules/dup3-tests (Depends-on): Likewise.
7315         * modules/fcntl-tests (Depends-on): Likewise.
7316         * modules/spawn-pipe-tests (Depends-on): Likewise.
7317         * modules/unistd-safer-tests (Depends-on): Likewise.
7318         * doc/posix-functions/close.texi: Mention the problem on MSVC.
7319
7320 2011-09-23  Bruno Haible  <bruno@clisp.org>
7321
7322         New module 'dup'.
7323         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
7324         Allow replacement.
7325         * lib/dup.c: New file.
7326         * lib/fchdir.c (rpl_dup): Remove function.
7327         * m4/dup.m4: New file.
7328         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
7329         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
7330         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
7331         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
7332         * modules/dup: New file.
7333         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
7334         'dup' module is in use.
7335         * modules/fdopendir (Depends-on): Add dup.
7336         * modules/fdutimensat-tests (Depends-on): Likewise.
7337         * modules/fts (Depends-on): Likewise.
7338         * modules/futimens-tests (Depends-on): Likewise.
7339         * modules/posix_spawnp-tests (Depends-on): Likewise.
7340         * modules/unistd-safer-tests (Depends-on): Likewise.
7341         * modules/utimens-tests (Depends-on): Likewise.
7342         * doc/posix-functions/dup.texi: Mention the new module and the problem
7343         on MSVC.
7344
7345 2011-09-23  Bruno Haible  <bruno@clisp.org>
7346
7347         getdtablesize: Support for MSVC 9.
7348         * lib/getdtablesize.c: Include msvc-inval.h.
7349         (_setmaxstdio_nothrow): New function.
7350         (_setmaxstdio): Redefine it.
7351         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
7352         * modules/getdtablesize (Depends-on): Add msvc-inval.
7353         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
7354
7355 2011-09-23  Bruno Haible  <bruno@clisp.org>
7356
7357         signal-h: Rename from signal.
7358         * modules/signal-h: Renamed from modules/signal.
7359         * modules/pthread_sigmask (Depends-on): Update.
7360         * modules/raise (Depends-on): Likewise.
7361         * modules/sigaction (Depends-on): Likewise.
7362         * modules/sigpipe (Depends-on): Likewise.
7363         * modules/sigprocmask (Depends-on): Likewise.
7364         * modules/sys_select (Depends-on): Likewise.
7365         * modules/signal-h-tests: Renamed from modules/signal-tests.
7366         (Files, Depends-on, Makefile.am): Update.
7367         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
7368         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
7369         (Files, Makefile.am): Update.
7370         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
7371         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
7372         * modules/signal: New placeholder file.
7373         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
7374         * doc/posix-headers/signal.texi: Update.
7375         * NEWS: Mention the change.
7376
7377 2011-09-23  Bruno Haible  <bruno@clisp.org>
7378
7379         sigprocmask: Avoid crashes through signal() on MSVC 9.
7380         * lib/sigprocmask.c: Include msvc-inval.h.
7381         (signal_nothrow): New function.
7382         (signal): Redefine it.
7383         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
7384         * modules/sigprocmask (Depends-on): Add msvc-inval.
7385         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
7386
7387 2011-09-23  Bruno Haible  <bruno@clisp.org>
7388
7389         Tests for module 'raise'.
7390         * modules/raise-tests: New file.
7391         * tests/test-raise.c: New file.
7392
7393         raise: Support for MSVC.
7394         * lib/signal.in.h (raise): New declaration.
7395         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
7396         for native Windows platforms.
7397         * m4/raise.m4: New file.
7398         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
7399         HAVE_RAISE, REPLACE_RAISE.
7400         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
7401         REPLACE_RAISE.
7402         * modules/raise (Status, Notice): Remove fields.
7403         (Files): Add m4/raise.m4.
7404         (Depends-on): Add signal, msvc-inval.
7405         (configure.ac): Use the common idioms.
7406         (Maintainer): Add me.
7407         * tests/test-signal-c++.cc: Check the signature of raise.
7408         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
7409
7410 2011-09-23  Bruno Haible  <bruno@clisp.org>
7411
7412         pipe2: Fix compilation on pre-C99 compilers.
7413         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
7414
7415 2011-09-23  Bruno Haible  <bruno@clisp.org>
7416
7417         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
7418         * lib/msvc-nothrow.h: New file.
7419         * lib/msvc-nothrow.c: New file.
7420         * m4/msvc-nothrow.m4: New file.
7421         * modules/msvc-nothrow: New file.
7422         * lib/dup2.c: Include msvc-nothrow.h.
7423         (rpl_dup2): No need to protect _get_osfhandle call here.
7424         * lib/accept4.c: Include msvc-nothrow.h.
7425         * lib/error.c: Likewise.
7426         * lib/fcntl.c: Likewise.
7427         * lib/lseek.c: Likewise.
7428         * lib/nonblocking.c: Likewise.
7429         * lib/poll.c: Likewise.
7430         * lib/read.c: Likewise.
7431         * lib/select.c: Likewise.
7432         * lib/sockets.h: Likewise.
7433         * lib/sockets.c: Likewise.
7434         * lib/stdio-read.c: Likewise.
7435         * lib/stdio-write.c: Likewise.
7436         * lib/write.c: Likewise.
7437         * lib/w32sock.h: Likewise.
7438         * lib/w32spawn.h: Likewise.
7439         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
7440         * lib/fsync.c: Likewise.
7441         * lib/isapipe.c: Likewise.
7442         * modules/dup2 (Depends-on): Add msvc-nothrow.
7443         * modules/accept4 (Depends-on): Likewise.
7444         * modules/error (Depends-on): Likewise.
7445         * modules/fcntl (Depends-on): Likewise.
7446         * modules/lseek (Depends-on): Likewise.
7447         * modules/nonblocking (Depends-on): Likewise.
7448         * modules/poll (Depends-on): Likewise.
7449         * modules/read (Depends-on): Likewise.
7450         * modules/select (Depends-on): Likewise.
7451         * modules/sockets (Depends-on): Likewise.
7452         * modules/sigpipe (Depends-on): Likewise.
7453         * modules/write (Depends-on): Likewise.
7454         * modules/accept (Depends-on): Likewise.
7455         * modules/bind (Depends-on): Likewise.
7456         * modules/connect (Depends-on): Likewise.
7457         * modules/gethostname (Depends-on): Likewise.
7458         * modules/getpeername (Depends-on): Likewise.
7459         * modules/getsockname (Depends-on): Likewise.
7460         * modules/getsockopt (Depends-on): Likewise.
7461         * modules/ioctl (Depends-on): Likewise.
7462         * modules/listen (Depends-on): Likewise.
7463         * modules/recv (Depends-on): Likewise.
7464         * modules/recvfrom (Depends-on): Likewise.
7465         * modules/send (Depends-on): Likewise.
7466         * modules/sendto (Depends-on): Likewise.
7467         * modules/setsockopt (Depends-on): Likewise.
7468         * modules/shutdown (Depends-on): Likewise.
7469         * modules/socket (Depends-on): Likewise.
7470         * modules/execute (Depends-on): Likewise.
7471         * modules/spawn-pipe (Depends-on): Likewise.
7472         * modules/flock (Depends-on): Likewise.
7473         * modules/fsync (Depends-on): Likewise.
7474         * modules/isapipe (Depends-on): Likewise.
7475         * tests/test-cloexec.c: Include msvc-nothrow.h.
7476         * tests/test-dup-safer.c: Likewise.
7477         * tests/test-dup2.c: Likewise.
7478         * tests/test-dup3.c: Likewise.
7479         * tests/test-fcntl.c: Likewise.
7480         * tests/test-pipe.c: Likewise.
7481         * tests/test-pipe2.c: Likewise.
7482         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
7483         * modules/unistd-safer-tests (Depends-on): Likewise.
7484         * modules/dup2-tests (Depends-on): Likewise.
7485         * modules/dup3-tests (Depends-on): Likewise.
7486         * modules/fcntl-tests (Depends-on): Likewise.
7487         * modules/pipe-posix-tests (Depends-on): Likewise.
7488         * modules/pipe2-tests (Depends-on): Likewise.
7489
7490 2011-09-23  Bruno Haible  <bruno@clisp.org>
7491
7492         dup2: Make code more maintainable.
7493         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
7494         (rpl_dup2): Use it.
7495         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
7496         * modules/dup2 (configure.ac): Invoke it.
7497         Reported by Paul Eggert.
7498
7499 2011-09-23  Bruno Haible  <bruno@clisp.org>
7500
7501         msvc-inval: Fix compilation error.
7502         * lib/msvc-inval.h: Include <excpt.h>.
7503
7504 2011-09-23  Bruno Haible  <bruno@clisp.org>
7505
7506         mkdir: Tweak for MSVC 9.
7507         * lib/sys_stat.in.h: Update comments.
7508         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
7509
7510         Tests for module 'chdir'.
7511         * modules/chdir-tests: New file.
7512         * tests/test-chdir.c: New file.
7513
7514         New module 'chdir'.
7515         * modules/chdir: New file.
7516         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
7517         (chdir): New declaration.
7518         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
7519         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
7520         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
7521         * tests/test-unistd-c++.cc: Check signature of chdir.
7522         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
7523         * modules/chdir-long (Depends-on): Add chdir.
7524         * modules/fchdir (Depends-on): Likewise.
7525         * modules/rename (Depends-on): Likewise.
7526         * modules/savewd (Depends-on): Likewise.
7527
7528         rmdir: Support for mingw, MSVC 9.
7529         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
7530         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
7531
7532         getcwd: Tweak for MSVC 9.
7533         * lib/unistd.in.h: Update comments.
7534         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
7535
7536 2011-09-22  Bruno Haible  <bruno@clisp.org>
7537
7538         strerror_r-posix: Avoid a link error on MSVC.
7539         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
7540         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
7541
7542 2011-09-22  Bruno Haible  <bruno@clisp.org>
7543
7544         select: Avoid link errors on MSVC.
7545         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
7546         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
7547         * modules/pselect (Link): Likewise.
7548         * NEWS: Mention the change.
7549         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
7550         test-select-stdin against $(LIB_SELECT).
7551         * modules/pselect-tests (Makefile.am): Link test-pselect against
7552         $(LIB_SELECT).
7553
7554 2011-09-22  Bruno Haible  <bruno@clisp.org>
7555
7556         select: Avoid compilation error on MSVC.
7557         * lib/select.c: Don't include <stdbool.h>.
7558
7559 2011-09-21  Bruno Haible  <bruno@clisp.org>
7560
7561         Consolidate all uses of PATH_MAX in *.m4 files.
7562         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
7563         macros.
7564         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
7565         and gl_PATHMAX_SNIPPET.
7566         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7567         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7568         * modules/chdir-long (Files): Add m4/pathmax.m4.
7569         * modules/getcwd (Files): Likewise.
7570
7571 2011-09-21  Bruno Haible  <bruno@clisp.org>
7572
7573         ftruncate: Un-deprecate, concentrate on Win32 support.
7574         * modules/ftruncate (Status, Notice): Remove sections.
7575         (Depends-on): Add largefile.
7576         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
7577         non-mingw platforms.
7578         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
7579         include <io.h>.
7580         * modules/perror-tests (Depends-on): Add ftruncate.
7581         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
7582         'ftruncate' module.
7583
7584 2011-09-21  Bruno Haible  <bruno@clisp.org>
7585
7586         Add dependencies to new dirent related modules.
7587         * modules/opendir (Depends-on): Add closedir.
7588         * modules/getcwd (Depends-on): Add opendir, closedir.
7589         * modules/dirent-safer-tests (Depends-on): Likewise.
7590         * modules/fdopendir-tests (Depends-on): Likewise.
7591         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
7592         * modules/renameat-tests (Depends-on): Likewise.
7593
7594 2011-09-21  Bruno Haible  <bruno@clisp.org>
7595
7596         opendir: Avoid compilation error on mingw.
7597         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
7598         * modules/opendir (Depends-on): Add unistd.
7599
7600 2011-09-21  Bruno Haible  <bruno@clisp.org>
7601
7602         ftruncate tests: Avoid a test failure on mingw.
7603         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
7604
7605 2011-09-21  Bruno Haible  <bruno@clisp.org>
7606
7607         select tests: Avoid test failures on OSF/1 5.1 and mingw.
7608         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
7609         native Windows.
7610
7611 2011-09-21  Bruno Haible  <bruno@clisp.org>
7612
7613         New module 'fdopen'.
7614         * lib/stdio.in.h (fdopen): New declaration.
7615         * lib/fdopen.c: New file.
7616         * m4/fdopen.m4: New file.
7617         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
7618         REPLACE_FDOPEN.
7619         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
7620         REPLACE_FDOPEN.
7621         * modules/fdopen: New file.
7622         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
7623         * tests/test-stdio-c++.cc: Check signature of fdopen.
7624         * doc/posix-functions/fdopen.texi: Mention the new module.
7625
7626 2011-09-21  Bruno Haible  <bruno@clisp.org>
7627
7628         unlockpt tests: Avoid test failure on NetBSD 5.1.
7629         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
7630         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
7631
7632 2011-09-21  Bruno Haible  <bruno@clisp.org>
7633
7634         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
7635         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
7636         * tests/test-getlogin_r.c (main): Likewise.
7637
7638 2011-09-20  Bruno Haible  <bruno@clisp.org>
7639
7640         time tests: Don't require pid_t.
7641         * doc/posix-headers/time.texi: Revert last change.
7642         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
7643         * tests/test-time.c: Comment out the check for pid_t.
7644
7645 2011-09-20  Bruno Haible  <bruno@clisp.org>
7646
7647         fsync tests: Avoid a test failure on mingw.
7648         * tests/test-fsync.c (main): Allow a failure with EIO.
7649
7650 2011-09-20  Bruno Haible  <bruno@clisp.org>
7651
7652         euidaccess: Update comments.
7653         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
7654
7655 2011-09-20  Bruno Haible  <bruno@clisp.org>
7656
7657         Ensure EBADF returns for socket functions on mingw.
7658         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
7659         descriptor is invalid.
7660         * lib/bind.c (rpl_bind): Likewise.
7661         * lib/connect.c (rpl_connect): Likewise.
7662         * lib/getpeername.c (rpl_getpeername): Likewise.
7663         * lib/getsockname.c (rpl_getsockname): Likewise.
7664         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7665         * lib/listen.c (rpl_listen): Likewise.
7666         * lib/recv.c (rpl_recv): Likewise.
7667         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7668         * lib/send.c (rpl_send): Likewise.
7669         * lib/sendto.c (rpl_sendto): Likewise.
7670         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7671         * lib/shutdown.c (rpl_shutdown): Likewise.
7672
7673 2011-09-20  Bruno Haible  <bruno@clisp.org>
7674
7675         select tests: EBADF tests.
7676         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
7677         test_bad_fd): New functions.
7678         (test_function): Invoke also test_bad_fd.
7679
7680 2011-09-20  Bruno Haible  <bruno@clisp.org>
7681
7682         Tests for module 'posix_spawn_file_actions_addopen.
7683         * modules/posix_spawn_file_actions_addopen-tests: New file.
7684         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7685
7686         Tests for module 'posix_spawn_file_actions_adddup2'.
7687         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7688         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7689
7690         Tests for module 'posix_spawn_file_actions_addclose'.
7691         * modules/posix_spawn_file_actions_addclose-tests: New file.
7692         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7693
7694 2011-09-20  Bruno Haible  <bruno@clisp.org>
7695
7696         Tests for module 'unlockpt'.
7697         * modules/unlockpt-tests: New file.
7698         * tests/test-unlockpt.c: New file.
7699         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7700
7701         Tests for module 'grantpt'.
7702         * modules/grantpt-tests: New file.
7703         * tests/test-grantpt.c: New file.
7704         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7705
7706 2011-09-20  Bruno Haible  <bruno@clisp.org>
7707
7708         freopen tests: EBADF tests.
7709         * tests/test-freopen.c: Include errno.h, unistd.h.
7710         (main): Add tests for EBADF, commented out for the moment.
7711
7712         fclose tests: EBADF tests.
7713         * tests/test-fclose.c (main): Add tests for EBADF.
7714
7715         fflush tests: EBADF tests.
7716         * tests/test-fflush.c: Include errno.h, macros.h.
7717         (main): Add tests for EBADF.
7718
7719         ftello tests: EBADF tests.
7720         * tests/test-ftello4.sh: New file.
7721         * tests/test-ftello4.c: New file.
7722         * modules/ftello-tests (Files): Add them.
7723         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7724
7725         fseeko tests: EBADF tests.
7726         * tests/test-fseeko4.sh: New file.
7727         * tests/test-fseeko4.c: New file.
7728         * modules/fseeko-tests (Files): Add them.
7729         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7730
7731         Tests for function fputc().
7732         * modules/fputc-tests: New file.
7733         * tests/test-fputc.c: New file.
7734         * modules/stdio-tests (Depends-on): Add fputc-tests.
7735
7736         Tests for function fgetc().
7737         * modules/fgetc-tests: New file.
7738         * tests/test-fgetc.c: New file.
7739         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7740
7741         Tests for function fdopen().
7742         * modules/fdopen-tests: New file.
7743         * tests/test-fdopen.c: New file.
7744         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7745
7746         Tests for module 'vdprintf'.
7747         * modules/vdprintf-tests: New file.
7748         * tests/test-vdprintf.c: New file.
7749
7750         Tests for module 'dprintf'.
7751         * modules/dprintf-tests: New file.
7752         * tests/test-dprintf.c: New file.
7753
7754 2011-09-20  Bruno Haible  <bruno@clisp.org>
7755
7756         Tests for module 'ioctl'.
7757         * modules/ioctl-tests: New file.
7758         * tests/test-ioctl.c: New file.
7759
7760 2011-09-20  Bruno Haible  <bruno@clisp.org>
7761
7762         fcntl tests: EBADF tests.
7763         * tests/test-fcntl.c (main): Add more tests for EBADF.
7764
7765 2011-09-20  Bruno Haible  <bruno@clisp.org>
7766
7767         utimensat tests: EBADF tests.
7768         * tests/test-utimensat.c (main): Add tests for EBADF.
7769
7770         renameat tests: EBADF tests.
7771         * tests/test-renameat.c (main): Add tests for EBADF.
7772
7773         mkfifoat tests: EBADF tests.
7774         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7775
7776         readlinkat tests: EBADF tests.
7777         * tests/test-readlinkat.c (main): Add tests for EBADF.
7778
7779         symlinkat tests: EBADF tests.
7780         * tests/test-symlinkat.c (main): Add tests for EBADF.
7781
7782         linkat tests: EBADF tests.
7783         * tests/test-linkat.c (main): Add tests for EBADF.
7784
7785         Tests for module 'faccessat'.
7786         * modules/faccessat-tests: New file.
7787         * tests/test-faccessat.c: New file.
7788
7789         fdopendir tests: EBADF tests.
7790         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7791
7792         openat tests: EBADF tests.
7793         * tests/test-fchownat.c (main): Add tests for EBADF.
7794         * tests/test-fstatat.c (main): Likewise.
7795         * tests/test-mkdirat.c (main): Likewise.
7796         * tests/test-openat.c (main): Likewise.
7797         * tests/test-unlinkat.c (main): Likewise.
7798         * tests/test-fchmodat.c: New file.
7799         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7800         (Makefile.am): Also run 'test-fchmodat'.
7801
7802 2011-09-20  Bruno Haible  <bruno@clisp.org>
7803
7804         utimens, futimens, fdutimensat tests: EBADF tests.
7805         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7806
7807         Tests for function fstat().
7808         * modules/fstat-tests: New file.
7809         * tests/test-fstat.c: New file.
7810         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7811
7812 2011-09-20  Bruno Haible  <bruno@clisp.org>
7813
7814         test-ttyname_r tests: EBADF tests.
7815         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7816
7817         Tests for module 'isatty'.
7818         * modules/isatty-tests: New file.
7819         * tests/test-isatty.c: New file.
7820
7821         Tests for module 'write'.
7822         * modules/write-tests: New file.
7823         * tests/test-write.c: New file.
7824
7825         Tests for module 'read'.
7826         * modules/read-tests: New file.
7827         * tests/test-read.c: New file.
7828
7829         pwrite tests: EBADF tests.
7830         * tests/test-pwrite.c (main): Add tests for EBADF.
7831
7832         pread tests: EBADF tests.
7833         * tests/test-pread.c (main): Add tests for EBADF.
7834
7835         lseek tests: EBADF tests.
7836         * tests/test-lseek.c (main): Add more tests for EBADF.
7837
7838         Tests for module 'ftruncate'.
7839         * modules/ftruncate-tests: New file.
7840         * tests/test-ftruncate.sh: New file.
7841         * tests/test-ftruncate.c: New file.
7842
7843         fsync tests: EBADF tests.
7844         * tests/test-fsync.c (main): Add more tests for EBADF.
7845
7846         fdatasync tests: EBADF tests.
7847         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7848
7849         Tests for module 'fchown'.
7850         * modules/fchown-tests: New file.
7851         * tests/test-fchown.c: New file.
7852
7853         Tests for module 'fchmod'.
7854         * modules/fchmod-tests: New file.
7855         * tests/test-fchmod.c: New file.
7856
7857         fchdir tests: EBADF tests.
7858         * tests/test-fchdir.c (main): Add more tests for EBADF.
7859
7860         dup2 tests: EBADF tests.
7861         * tests/test-dup2.c (main): Add more tests for EBADF.
7862
7863         Tests for module 'dup'.
7864         * modules/dup-tests: New file.
7865         * tests/test-dup.c: New file.
7866
7867         Tests for module 'close'.
7868         * modules/close-tests: New file.
7869         * tests/test-close.c: New file.
7870
7871 2011-09-20  Bruno Haible  <bruno@clisp.org>
7872
7873         Tests for module 'shutdown'.
7874         * modules/shutdown-tests: New file.
7875         * tests/test-shutdown.c: New file.
7876
7877         Tests for module 'setsockopt'.
7878         * modules/setsockopt-tests: New file.
7879         * tests/test-setsockopt.c: New file.
7880
7881         Tests for module 'sendto'.
7882         * modules/sendto-tests: New file.
7883         * tests/test-sendto.c: New file.
7884
7885         Tests for module 'send'.
7886         * modules/send-tests: New file.
7887         * tests/test-send.c: New file.
7888
7889         Tests for module 'recvfrom'.
7890         * modules/recvfrom-tests: New file.
7891         * tests/test-recvfrom.c: New file.
7892
7893         Tests for module 'recv'.
7894         * modules/recv-tests: New file.
7895         * tests/test-recv.c: New file.
7896
7897         Tests for module 'listen'.
7898         * modules/listen-tests: New file.
7899         * tests/test-listen.c: New file.
7900
7901         Tests for module 'getsockopt'.
7902         * modules/getsockopt-tests: New file.
7903         * tests/test-getsockopt.c: New file.
7904
7905         Tests for module 'getsockname'.
7906         * modules/getsockname-tests: New file.
7907         * tests/test-getsockname.c: New file.
7908
7909         Tests for module 'getpeername'.
7910         * modules/getpeername-tests: New file.
7911         * tests/test-getpeername.c: New file.
7912
7913         Tests for module 'connect'.
7914         * modules/connect-tests: New file.
7915         * tests/test-connect.c: New file.
7916
7917         Tests for module 'bind'.
7918         * modules/bind-tests: New file.
7919         * tests/test-bind.c: New file.
7920
7921         accept4 tests: Fix for native Windows.
7922         * tests/test-accept4.c: Include sockets.h.
7923         (main): Invoke gl_sockets_startup.
7924         * modules/accept4-tests (Depends-on): Add sockets.
7925
7926         accept tests: Fix for native Windows.
7927         * tests/test-accept.c: Include sockets.h.
7928         (main): Invoke gl_sockets_startup.
7929         * modules/accept-tests (Depends-on): Add sockets.
7930
7931 2011-09-19  Bruno Haible  <bruno@clisp.org>
7932
7933         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7934         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7935         do...while(0).
7936         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7937         Suggested by Paul Eggert.
7938
7939 2011-09-19  Bruno Haible  <bruno@clisp.org>
7940
7941         sched: Ensure pid_t is defined.
7942         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7943         not define pid_t.
7944         * lib/sched.in.h: Include <sys/types.h>.
7945         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7946         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7947
7948 2011-09-19  Bruno Haible  <bruno@clisp.org>
7949
7950         msvc-inval: Ensure the entire expansion is a single statement.
7951         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7952         of braces.
7953
7954 2011-09-19  Jim Meyering  <meyering@redhat.com>
7955
7956         tests: use printf, not echo in init.sh's warn_ function
7957         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7958         misbehave when given strings containing a backslash or starting
7959         with e.g., -n.  James Youngman suggested setting IFS.
7960
7961 2011-09-19  Eric Blake  <eblake@redhat.com>
7962
7963         futimens: enhance test
7964         * tests/test-futimens.h (test_futimens): Also check for EBADF on
7965         closed non-negative fd.
7966
7967         date: accept 'hence' as opposite of 'ago'
7968         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
7969         * tests/test-parse-datetime.c (main): Enhance test.
7970         Suggested by Jesse Wilson.
7971
7972 2011-09-19  Jim Meyering  <meyering@redhat.com>
7973
7974         getcwd: don't fail in a deep directory on a system without openat
7975         Before this change, getcwd would fail when called from a directory
7976         of depth PATH_MAX / 3 or greater.  That was due to the fact that
7977         the non-openat implementation used "..", "../..", "../../..", etc.
7978         to access ancestor directories.  With too many, that string would
7979         be longer than PATH_MAX.
7980         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
7981         using gnulib's openat replacement.
7982         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
7983         we're using the replacement function.
7984
7985 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
7986
7987         maint.mk: avoid warnings from perl about missing files
7988         * top/maint.mk (def_sym_regex): Ignore files listed in
7989         $(gl_other_headers_) that do not exist, say because a project
7990         does not use a corresponding module.
7991
7992 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7993
7994         stat: use pathmax.h only if needed
7995         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
7996         This is better for Emacs, which does not have a mingw port and
7997         therefore can avoid the pathmax module.
7998
7999         utimens: remove dependency on dup2
8000         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
8001         to work around the Linux kernel bug.
8002         * modules/utimens (Depends-on): Remove dup2.
8003
8004 2011-09-18  Bruno Haible  <bruno@clisp.org>
8005
8006         inet_ntop, inet_pton: Look for it also in libresolv.
8007         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
8008         libnsl, search for it in libresolv.
8009         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8010         Needed on Solaris 7.
8011
8012 2011-09-18  Bruno Haible  <bruno@clisp.org>
8013
8014         accept, accept4 tests: Avoid link error on Solaris.
8015         * modules/accept-tests (Makefile.am): Link test-accept against
8016         $(LIBSOCKET).
8017         * modules/accept4-tests (Makefile.am): Link test-accept4 against
8018         $(LIBSOCKET).
8019
8020         accept4: Avoid link error on Solaris.
8021         * modules/accept4 (Link): New section.
8022
8023         socket functions: Avoid link errors on Solaris.
8024         * modules/accept (Depends-on): Add socketlib.
8025         (Link): New section.
8026         * modules/bind (Depends-on): Add socketlib.
8027         (Link): New section.
8028         * modules/connect (Depends-on): Add socketlib.
8029         (Link): New section.
8030         * modules/getpeername (Depends-on): Add socketlib.
8031         (Link): New section.
8032         * modules/getsockname (Depends-on): Add socketlib.
8033         (Link): New section.
8034         * modules/getsockopt (Depends-on): Add socketlib.
8035         (Link): New section.
8036         * modules/listen (Depends-on): Add socketlib.
8037         (Link): New section.
8038         * modules/recv (Depends-on): Add socketlib.
8039         (Link): New section.
8040         * modules/recvfrom (Depends-on): Add socketlib.
8041         (Link): New section.
8042         * modules/send (Depends-on): Add socketlib.
8043         (Link): New section.
8044         * modules/sendto (Depends-on): Add socketlib.
8045         (Link): New section.
8046         * modules/setsockopt (Depends-on): Add socketlib.
8047         (Link): New section.
8048         * modules/shutdown (Depends-on): Add socketlib.
8049         (Link): New section.
8050         * modules/socket (Depends-on): Add socketlib.
8051         (Link): New section.
8052
8053 2011-09-18  Bruno Haible  <bruno@clisp.org>
8054
8055         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
8056         * tests/test-ptsname.c (main): Terminate the test if it takes longer
8057         than 5 seconds.
8058         * modules/ptsname-tests (configure.ac): Test for alarm.
8059
8060 2011-09-18  Bruno Haible  <bruno@clisp.org>
8061
8062         posix_spawn_file_actions_add*: Fix module dependencies.
8063         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
8064         posix_spawn_file_actions_init.
8065         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
8066         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
8067
8068 2011-09-18  Bruno Haible  <bruno@clisp.org>
8069
8070         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
8071         * tests/test-rename.h (test_rename): Allow error code EEXIST.
8072         * tests/test-renameat.c (main): Likewise.
8073
8074 2011-09-18  Bruno Haible  <bruno@clisp.org>
8075
8076         Tests for module 'accept4'.
8077         * modules/accept4-tests: New file.
8078         * tests/test-accept4.c: New file.
8079
8080 2011-09-18  Bruno Haible  <bruno@clisp.org>
8081
8082         Tests for module 'accept'.
8083         * modules/accept-tests: New file.
8084         * tests/test-accept.c: New file.
8085
8086 2011-09-18  Bruno Haible  <bruno@clisp.org>
8087
8088         dup2: Support for MSVC.
8089         * lib/dup2.c: Include msvc-inval.h.
8090         (rpl_dup2): Handle invalid parameter notifications during dup2 and
8091         _get_osfhandle calls.
8092         * modules/dup2 (Depends-on): Add msvc-inval.
8093         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
8094
8095         New module 'msvc-inval'.
8096         * lib/msvc-inval.h: New file.
8097         * lib/msvc-inval.c: New file.
8098         * m4/msvc-inval.m4: New file.
8099         * modules/msvc-inval: New file.
8100
8101 2011-09-17  Bruno Haible  <bruno@clisp.org>
8102
8103         Tests for module 'pclose'.
8104         * modules/pclose-tests: New file.
8105
8106         New module 'pclose'.
8107         * lib/stdio.in.h (pclose): New declaration.
8108         * lib/pclose.c: New file.
8109         * m4/pclose.m4: New file.
8110         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
8111         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
8112         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
8113         * modules/pclose: New file.
8114         * modules/popen-tests (Depends-on): Add pclose.
8115         * modules/popen-safer-tests (Depends-on): Likewise.
8116         * doc/posix-functions/pclose.texi: Mention the new module.
8117
8118 2011-09-17  Bruno Haible  <bruno@clisp.org>
8119
8120         popen: Support for MSVC.
8121         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
8122         * lib/popen.c (popen): Provide alternate definition for native Windows.
8123         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
8124         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
8125         * modules/popen (Depends-on, configure.ac): Update condition.
8126         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
8127         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
8128         fixed.
8129
8130 2011-09-17  Bruno Haible  <bruno@clisp.org>
8131
8132         isnanl, isnand, isnanf: Work around MSVC bug.
8133         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
8134
8135 2011-09-17  Bruno Haible  <bruno@clisp.org>
8136
8137         sys_socket tests: Fix recent mistake.
8138         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
8139
8140 2011-09-17  Bruno Haible  <bruno@clisp.org>
8141
8142         putenv: Support for MSVC.
8143         * modules/putenv (Depends-on): Add environ.
8144         * lib/putenv.c (environ): Disable declaration.
8145         * lib/unistd.in.h: Update comment.
8146
8147 2011-09-17  Bruno Haible  <bruno@clisp.org>
8148
8149         math: Avoid macro redefinition warnings on MSVC.
8150         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
8151         Undefine before redefining.
8152
8153 2011-09-17  Bruno Haible  <bruno@clisp.org>
8154
8155         doc: Mention functions which are declared as macros.
8156         * doc/posix-functions/*[fl].texi: Mention that some functions are
8157         defined as macros with arguments only.
8158
8159 2011-09-17  Bruno Haible  <bruno@clisp.org>
8160
8161         Add dependencies to new dirent related modules.
8162         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
8163         * modules/fts (Depends-on): Likewise.
8164         * modules/glob (Depends-on): Likewise.
8165         * modules/savedir (Depends-on): Likewise.
8166         * modules/scandir (Depends-on): Likewise.
8167         * modules/dirent-safer (Depends-on): Add opendir, closedir.
8168         * modules/fdopendir (Depends-on): Add opendir.
8169
8170 2011-09-17  Bruno Haible  <bruno@clisp.org>
8171
8172         inet_pton: Support for MSVC on Windows Vista or newer.
8173         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
8174         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
8175         HAVE_DECL_INET_PTON is defined.
8176         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8177         On platforms with <winsock2.h>, test whether inet_pton is declared in
8178         <ws2tcpip.h>. If so, arrange to replace it.
8179         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8180         REPLACE_INET_PTON.
8181         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
8182         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
8183         (Depends-on, configure.ac): Update condition.
8184         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
8185
8186 2011-09-17  Bruno Haible  <bruno@clisp.org>
8187
8188         inet_ntop: Support for MSVC on Windows Vista or newer.
8189         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
8190         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
8191         HAVE_DECL_INET_NTOP is defined.
8192         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8193         On platforms with <winsock2.h>, test whether inet_ntop is declared in
8194         <ws2tcpip.h>. If so, arrange to replace it.
8195         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8196         REPLACE_INET_NTOP.
8197         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
8198         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
8199         (Depends-on, configure.ac): Update condition.
8200         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
8201
8202 2011-09-16  Eric Blake  <eblake@redhat.com>
8203
8204         test-fsync: yet another enhancement
8205         * tests/test-fsync.c (main): Also test behavior on read-only text
8206         file.
8207
8208 2011-09-16  Bruno Haible  <bruno@clisp.org>
8209
8210         Enhance fsync, fdatasync tests.
8211         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
8212         * tests/test-fdatasync.c (main): Likewise.
8213
8214 2011-09-16  Bruno Haible  <bruno@clisp.org>
8215
8216         Support for MSVC compiler: Ensure mode_t gets defined.
8217         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
8218         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8219         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8220         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
8221         * tests/test-fcntl-h.c: Check that mode_t is defined.
8222         * tests/test-sys_stat.c: Likewise.
8223         * tests/test-sys_types.c: Likewise.
8224         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
8225         * doc/posix-headers/sys_stat.texi: Likewise.
8226         * doc/posix-headers/sys_types.texi: Likewise.
8227
8228 2011-09-16  Bruno Haible  <bruno@clisp.org>
8229
8230         sys_stat: Support for MSVC.
8231         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
8232         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
8233         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
8234         MSVC.
8235
8236 2011-09-16  Bruno Haible  <bruno@clisp.org>
8237
8238         Support for MSVC compiler: Ensure off_t gets defined.
8239         * lib/unistd.in.h: Include <sys/types.h>.
8240         * tests/test-fcntl-h.c: Check that off_t is defined.
8241         * tests/test-sys_stat.c: Likewise.
8242         * tests/test-sys_types.c: Likewise.
8243
8244 2011-09-16  Eric Blake  <eblake@redhat.com>
8245
8246         fdatasync: port to Solaris
8247         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
8248         * modules/fdatasync (Link): Document it.
8249         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
8250
8251         fdatasync: port to MacOS X 10.7
8252         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
8253         declared.
8254         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
8255         * modules/unistd (Makefile.am): Substitute it.
8256         * lib/unistd.in.h (fdatasync): Declare on MacOS.
8257         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
8258
8259         fdatasync: minor improvements
8260         * modules/fdatasync (Depends-on): Add condition for fsync.
8261         * lib/fdatasync.c (fdatasync): Add comment.
8262         * tests/test-unistd-c++.cc: Test fdatasync.
8263
8264         unistd: update refs to newer POSIX
8265         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
8266         Suggested by Bruno Haible.
8267
8268         fdatasync: new module
8269         * modules/fsync (Description): Document difference to fdatasync.
8270         * modules/fdatasync: New module.
8271         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
8272         * lib/fdatasync.c (fdatasync): Likewise.
8273         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
8274         defaults.
8275         * modules/unistd (Makefile.am): Set witnesses.
8276         * lib/unistd.in.h (fdatasync): Declare.
8277         * MODULES.html.sh: Document it.
8278         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
8279         * modules/fdatasync-tests: New test.
8280         * tests/test-fdatasync.c: Likewise.
8281
8282 2011-09-16  Eric Blake  <eblake@redhat.com>
8283
8284         test-fsync: enhance tests
8285         * modules/fsync-tests (Depends-on): Add errno, for mingw.
8286         * tests/test-fsync.c (main): Enhance test.
8287
8288 2011-09-15  Bruno Haible  <bruno@clisp.org>
8289
8290         Support for MSVC compiler: Ensure ssize_t gets defined.
8291         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
8292         * doc/posix-headers/stdio.texi: Likewise.
8293         * modules/stdio (Depends-on): Add ssize_t.
8294         * modules/sys_socket (Depends-on): Likewise.
8295         * modules/sys_types (Depends-on): Likewise.
8296         * modules/sys_uio (Depends-on): Likewise.
8297         * modules/unistd (Depends-on): Likewise.
8298         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
8299         * tests/test-sys_types.c: Check that ssize_t is defined.
8300
8301 2011-09-14  Bruno Haible  <bruno@clisp.org>
8302
8303         Avoid using #, the m4 comment starter character, near brackets.
8304         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
8305         delimiter character in sed expressions.
8306         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8307         Suggested by Eric Blake.
8308
8309         Properly quote AC_CHECK_DECLS' 4th argument.
8310         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
8311         argument.
8312         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8313         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8314         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8315         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8316         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
8317         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
8318         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
8319         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
8320         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
8321         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8322         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
8323         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8324         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8325         * m4/isinf.m4 (gl_ISINF): Likewise.
8326         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8327         * m4/readutmp.m4 (gl_READUTMP): Likewise.
8328         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8329         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8330         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8331         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8332         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8333         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8334         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
8335         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8336         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8337         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8338         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
8339         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8340         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8341         Reported by Eric Blake.
8342
8343         Properly quote AC_CHECK_DECL's 4th argument.
8344         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
8345         argument.
8346         * m4/argp.m4 (gl_ARGP): Likewise.
8347         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8348         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8349         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8350         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8351         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
8352         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
8353         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
8354         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8355         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8356         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8357         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8358         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8359         Reported by Eric Blake.
8360
8361 2011-09-14  Eric Blake  <eblake@redhat.com>
8362
8363         opendir: avoid compile warning
8364         * lib/opendir.c (includes): Always include errno.h.
8365         Reported by Tatsuro MATSUOKA.
8366
8367 2011-09-14  Jim Meyering  <meyering@redhat.com>
8368
8369         maint.mk: sc_tight_scope: propagate failure from sub-make
8370         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
8371         Reported by Martin von Gagern.
8372
8373 2011-09-13  Bruno Haible  <bruno@clisp.org>
8374
8375         tempname: Support for MSVC.
8376         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
8377         MSVC.
8378         * modules/tempname (Depends-on): Add fcntl-h.
8379
8380 2011-09-13  Bruno Haible  <bruno@clisp.org>
8381
8382         sys_time: Support for MSVC.
8383         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
8384         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
8385         include <winsock2.h>.
8386         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
8387         function declarations that collide with POSIX.
8388         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
8389         (Makefile.am): Substitute HAVE_WINSOCK2_H.
8390
8391 2011-09-13  Bruno Haible  <bruno@clisp.org>
8392
8393         stat: Support for MSVC.
8394         * lib/stat.c: Include pathmax.h.
8395         * modules/stat (Depends-on): Add pathmax.
8396
8397         pathmax: Support for native Windows.
8398         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
8399
8400 2011-09-12  Bruno Haible  <bruno@clisp.org>
8401
8402         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
8403         * lib/dirent.in.h (struct dirent): New type.
8404         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
8405         DT_WHT): New macros.
8406         (DIR): New type.
8407         (opendir, closedir): Declare only if the module 'opendir' is enabled.
8408         (readdir, rewinddir): New declarations.
8409         * lib/dirent-private.h: New file.
8410         * lib/opendir.c: New file.
8411         * lib/readdir.c: New file.
8412         * lib/rewinddir.c: New file.
8413         * lib/closedir.c: New file.
8414         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
8415         * m4/opendir.m4: New file.
8416         * m4/readdir.m4: New file.
8417         * m4/rewinddir.m4: New file.
8418         * m4/closedir.m4: New file.
8419         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
8420         REPLACE_CLOSEDIR here.
8421         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
8422         readdir, rewinddir are declared.
8423         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
8424         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
8425         HAVE_REWINDDIR, HAVE_CLOSEDIR.
8426         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
8427         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
8428         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
8429         * modules/opendir: New file.
8430         * modules/readdir: New file.
8431         * modules/rewinddir: New file.
8432         * modules/closedir: New file.
8433         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
8434         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
8435         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
8436         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
8437         * NEWS: Mention the 'fchdir' change.
8438
8439 2011-09-11  Bruno Haible  <bruno@clisp.org>
8440
8441         asm-underscore.m4: Support for MSVC.
8442         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
8443         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
8444
8445 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
8446
8447         Doc about crypt functions.
8448         * doc/posix-functions/crypt.texi: Expand range of glibc versions
8449         needing for _GNU_SOURCE to get crypt.
8450         * doc/posix-functions/encrypt.texi: Likewise.
8451         * doc/posix-functions/setkey.texi: Likewise.
8452
8453 2011-09-11  Bruno Haible  <bruno@clisp.org>
8454
8455         doc: Update regarding MSVC 9.
8456         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
8457         tested".
8458         * doc/posix-functions/*.texi: Update with info about MSVC 9.
8459         * doc/posix-headers/*.texi: Likewise.
8460         * doc/pastposix-functions/*.texi: Likewise.
8461         * doc/glibc-functions/*.texi: Likewise.
8462         * doc/glibc-headers/*.texi: Likewise.
8463
8464 2011-09-11  Bruno Haible  <bruno@clisp.org>
8465
8466         unistd et al.: Don't assume <unistd.h> exists.
8467         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
8468         does not exist.
8469         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
8470         exist. But include <stdlib.h>.
8471         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
8472         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
8473         symlink() does not exist.
8474         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
8475         include <io.h> instead.
8476         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
8477         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
8478         include <direct.h> instead.
8479         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8480         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8481         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
8482         <io.h> instead.
8483         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
8484         correctly if the system does not have hard links.
8485         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
8486         <direct.h> instead.
8487         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
8488         it when looking for function declarations.
8489         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
8490         <direct.h> and <io.h> instead.
8491         * doc/posix-headers/unistd.texi: More details about MSVC problem.
8492
8493 2011-09-11  Bruno Haible  <bruno@clisp.org>
8494
8495         strcase: Support for MSVC.
8496         * modules/strcase (Status, Notice): Remove obsoletion mark.
8497         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
8498         * doc/posix-functions/strncasecmp.texi: Likewise.
8499
8500         strings: Don't assume <strings.h> exists.
8501         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
8502         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
8503         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
8504         * doc/posix-headers/strings.texi: Mention the MSVC problem.
8505
8506 2011-09-11  Bruno Haible  <bruno@clisp.org>
8507
8508         dirent: Don't assume <dirent.h> exists.
8509         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
8510         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
8511         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
8512         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
8513
8514 2011-09-11  Bruno Haible  <bruno@clisp.org>
8515
8516         Fix wint_t on MSVC.
8517         * lib/wchar.in.h (wint_t): On MSVC, override it.
8518         * lib/wctype.in.h (wint_t): Likewise.
8519         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
8520         MSVC.
8521         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
8522         * doc/posix-headers/wctype.texi: Likewise.
8523
8524 2011-09-11  Bruno Haible  <bruno@clisp.org>
8525
8526         sys_types: Fix typo.
8527         * lib/sys_types.in.h: Fix typo in comment.
8528         Reported by Paul Eggert.
8529
8530         Support for MSVC compiler: Ensure size_t gets defined.
8531         * modules/strings (Depends-on): Add 'sys_types'.
8532         * modules/sys_uio (Depends-on): Likewise.
8533         * lib/sys_uio.in.h: Update comment.
8534
8535         C++ tests for module 'sys_types'.
8536         * modules/sys_types-c++-tests: New file.
8537         * tests/test-sys_types-c++.cc: New file.
8538
8539         Tests for module 'sys_types'.
8540         * modules/sys_types-tests: New file.
8541         * tests/test-sys_types.c: New file.
8542
8543         New module 'sys_types'.
8544         * lib/sys_types.in.h: New file.
8545         * m4/sys_types_h.m4: New file.
8546         * modules/sys_types: New file.
8547         * doc/posix-headers/sys_types.texi: Mention the new module and the
8548         size_t problem on MSVC 9.
8549
8550 2011-09-11  Bruno Haible  <bruno@clisp.org>
8551
8552         Support for MSVC compiler: Avoid division by a literal 0.
8553         * lib/math.in.h (NAN): Define through a function call also on MSVC.
8554         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
8555         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
8556         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
8557         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
8558         * tests/infinity.h: New file.
8559         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
8560         on MSVC.
8561         * tests/test-ceilf1.c: Include infinity.h.
8562         (main): Use Infinityf.
8563         * tests/test-ceil1.c: Include infinity.h.
8564         (main): Use Infinityd.
8565         * tests/test-ceill.c: Include infinity.h.
8566         (main): Use Infinityl.
8567         * tests/test-dprintf-posix.c: Include infinity.h.
8568         (test_function): Use Infinityd.
8569         * tests/test-floorf1.c: Include infinity.h.
8570         (main): Use Infinityf.
8571         * tests/test-floor1.c: Include infinity.h.
8572         (main): Use Infinityd.
8573         * tests/test-floorl.c: Include infinity.h.
8574         (main): Use Infinityl.
8575         * tests/test-fprintf-posix.c: Include infinity.h.
8576         (test_function): Use Infinityd.
8577         * tests/test-frexp.c: Include infinity.h.
8578         (main): Use Infinityd.
8579         * tests/test-frexpl.c: Include infinity.h.
8580         (main): Use Infinityl.
8581         * tests/test-isfinite.c: Include infinity.h.
8582         (test_isfinitef): Use Infinityf.
8583         (test_isfinited): Use Infinityd.
8584         (test_isfinitel): Use Infinityl.
8585         * tests/test-isinf.c: Include infinity.h.
8586         (test_isinff): Use Infinityf.
8587         (test_isinfd): Use Infinityd.
8588         (test_isinfl): Use Infinityl.
8589         * tests/test-isnan.c: Include infinity.h.
8590         (test_float): Use Infinityf.
8591         (test_double): Use Infinityd.
8592         (test_long_double): Use Infinityl.
8593         * tests/test-isnanf.h: Include infinity.h.
8594         (main): Use Infinityf.
8595         * tests/test-isnand.h: Include infinity.h.
8596         (main): Use Infinityd.
8597         * tests/test-isnanl.h: Include infinity.h.
8598         (main): Use Infinityl.
8599         * tests/test-ldexpl.c: Include infinity.h.
8600         (main): Use Infinityl.
8601         * tests/test-printf-posix.h: Include infinity.h.
8602         (test_function): Use Infinityd.
8603         * tests/test-roundf1.c: Include infinity.h.
8604         (main): Use Infinityf.
8605         * tests/test-round1.c: Include infinity.h.
8606         (main): Use Infinityd.
8607         * tests/test-roundl.c: Include infinity.h.
8608         (main): Use Infinityl.
8609         * tests/test-signbit.c: Include infinity.h.
8610         (test_signbitf): Use Infinityf.
8611         (test_signbitd): Use Infinityd.
8612         (test_signbitl): Use Infinityl.
8613         * tests/test-snprintf-posix.h: Include infinity.h.
8614         (test_function): Use Infinityd, Infinityl.
8615         * tests/test-sprintf-posix.h: Include infinity.h.
8616         (test_function): Use Infinityd, Infinityl.
8617         * tests/test-truncf1.c: Include infinity.h.
8618         (main): Use Infinityf.
8619         * tests/test-trunc1.c: Include infinity.h.
8620         (main): Use Infinityd.
8621         * tests/test-truncl.c: Include infinity.h.
8622         (main): Use Infinityl.
8623         * tests/test-vasnprintf-posix.c: Include infinity.h.
8624         (test_function): Use Infinityd, Infinityl.
8625         * tests/test-vasprintf-posix.c: Include infinity.h.
8626         (test_function): Use Infinityd, Infinityl.
8627         * modules/ceilf-tests (Files): Add tests/infinity.h.
8628         * modules/ceil-tests (Files): Likewise.
8629         * modules/ceill-tests (Files): Likewise.
8630         * modules/dprintf-posix-tests (Files): Likewise.
8631         * modules/floorf-tests (Files): Likewise.
8632         * modules/floor-tests (Files): Likewise.
8633         * modules/floorl-tests (Files): Likewise.
8634         * modules/fprintf-posix-tests (Files): Likewise.
8635         * modules/frexp-tests (Files): Likewise.
8636         * modules/frexp-nolibm-tests (Files): Likewise.
8637         * modules/frexpl-tests (Files): Likewise.
8638         * modules/frexpl-nolibm-tests (Files): Likewise.
8639         * modules/isfinite-tests (Files): Likewise.
8640         * modules/isinf-tests (Files): Likewise.
8641         * modules/isnan-tests (Files): Likewise.
8642         * modules/isnanf-tests (Files): Likewise.
8643         * modules/isnanf-nolibm-tests (Files): Likewise.
8644         * modules/isnand-tests (Files): Likewise.
8645         * modules/isnand-nolibm-tests (Files): Likewise.
8646         * modules/isnanl-tests (Files): Likewise.
8647         * modules/isnanl-nolibm-tests (Files): Likewise.
8648         * modules/ldexpl-tests (Files): Likewise.
8649         * modules/printf-posix-tests (Files): Likewise.
8650         * modules/roundf-tests (Files): Likewise.
8651         * modules/round-tests (Files): Likewise.
8652         * modules/roundl-tests (Files): Likewise.
8653         * modules/signbit-tests (Files): Likewise.
8654         * modules/snprintf-posix-tests (Files): Likewise.
8655         * modules/sprintf-posix-tests (Files): Likewise.
8656         * modules/truncf-tests (Files): Likewise.
8657         * modules/trunc-tests (Files): Likewise.
8658         * modules/truncl-tests (Files): Likewise.
8659         * modules/vasnprintf-posix-tests (Files): Likewise.
8660         * modules/vasprintf-posix-tests (Files): Likewise.
8661         * modules/vdprintf-posix-tests (Files): Likewise.
8662         * modules/vfprintf-posix-tests (Files): Likewise.
8663         * modules/vprintf-posix-tests (Files): Likewise.
8664         * modules/vsnprintf-posix-tests (Files): Likewise.
8665         * modules/vsprintf-posix-tests (Files): Likewise.
8666         * modules/xprintf-posix-tests (Files): Likewise.
8667
8668 2011-09-11  Bruno Haible  <bruno@clisp.org>
8669
8670         Ensure pid_t gets defined.
8671         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
8672         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8673         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8674         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8675         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
8676         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8677         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8678         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8679         * tests/test-fcntl-h.c: Check that pid_t is defined.
8680         * tests/test-sched.c: Likewise.
8681         * tests/test-termios.c: Likewise.
8682         * tests/test-time.c: Likewise.
8683         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8684         * doc/posix-headers/signal.texi: Likewise.
8685         * doc/posix-headers/sys_types.texi: Likewise.
8686         * doc/posix-headers/time.texi: Likewise.
8687
8688 2011-09-11  Bruno Haible  <bruno@clisp.org>
8689
8690         acl: Fix compilation on Solaris 10 (older version).
8691         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8692         of ACE_EVERYONE.
8693         * lib/set-mode-acl.c (qset_acl): Likewise.
8694         Reported by Christian Jullien <eligis@orange.fr>.
8695
8696 2011-09-10  Bruno Haible  <bruno@clisp.org>
8697
8698         iconv, unsetenv: Add support for MSVC compiler.
8699         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8700         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8701
8702 2011-09-10  Bruno Haible  <bruno@clisp.org>
8703
8704         *printf: Add support for MSVC compiler.
8705         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8706         handles the exception caused by the %n directive. When cross-compiling,
8707         guess no on native Windows.
8708         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8709         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8710         emulate it through vsnprintf.
8711         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8712         * doc/posix-functions/dprintf.texi: Update documentation regarding
8713         MSVC 9.
8714         * doc/posix-functions/fprintf.texi: Likewise.
8715         * doc/posix-functions/printf.texi: Likewise.
8716         * doc/posix-functions/snprintf.texi: Likewise.
8717         * doc/posix-functions/sprintf.texi: Likewise.
8718         * doc/posix-functions/swprintf.texi: Likewise.
8719         * doc/posix-functions/vdprintf.texi: Likewise.
8720         * doc/posix-functions/vfprintf.texi: Likewise.
8721         * doc/posix-functions/vprintf.texi: Likewise.
8722         * doc/posix-functions/vsnprintf.texi: Likewise.
8723         * doc/posix-functions/vsprintf.texi: Likewise.
8724         * doc/glibc-functions/asprintf.texi: Likewise.
8725         * doc/glibc-functions/obstack_printf.texi: Likewise.
8726         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8727         * doc/glibc-functions/vasprintf.texi: Likewise.
8728
8729 2011-09-10  Bruno Haible  <bruno@clisp.org>
8730
8731         nocrash: Add support for native Windows.
8732         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8733
8734 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8735             Bruno Haible  <bruno@clisp.org>
8736
8737         absolute-header, include-next: Add support for MSVC compiler.
8738         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8739         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8740         directory separator in #line directives.
8741         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8742         recognize also backslash as directory separator in #line directives.
8743
8744 2011-09-08  Jim Meyering  <meyering@redhat.com>
8745
8746         maint.mk: mark the post-release commit log with "maint: " prefix
8747         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8748         one-line commit-log summary.
8749
8750 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8751             Bruno Haible  <bruno@clisp.org>
8752
8753         Doc about crypt functions.
8754         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8755         systems.
8756         * doc/posix-functions/encrypt.texi: Likewise.
8757         * doc/posix-functions/setkey.texi: Likewise.
8758
8759 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8760
8761         * lib/gc.h: Fix copyright header.
8762
8763 2011-09-07  Bruno Haible  <bruno@clisp.org>
8764
8765         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8766         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8767         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8768
8769 2011-09-07  Bruno Haible  <bruno@clisp.org>
8770
8771         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8772         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8773         * lib/freopen.c: Likewise.
8774         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8775         * lib/lstat.c: Likewise.
8776         * lib/stat.c: Likewise.
8777         * lib/open.c: Use different syntax for include of <fcntl.h>.
8778         * lib/openat.c: Include fcntl.h again, explicitly.
8779
8780 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8781
8782         parse-datetime: document the newly accepted format
8783         * doc/parse-datetime.texi (Combined date and time of day items):
8784         New section.
8785
8786 2011-09-06  Bruno Haible  <bruno@clisp.org>
8787
8788         acl: Fix a test failure on newer Solaris 10 with ZFS.
8789         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8790         ENOSYS as no ACL.
8791         Reported by Jim Meyering.
8792
8793 2011-09-06  Bruno Haible  <bruno@clisp.org>
8794
8795         acl: Update for AIX >= 5.3 with NFS.
8796         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8797         ENOSYS as no ACL.
8798
8799         acl: Fix a test failure on AIX >= 5.3 with NFS.
8800         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8801         as no ACL.
8802
8803 2011-09-06  Bruno Haible  <bruno@clisp.org>
8804
8805         acl: Fix a test failure on IRIX 6.5 with NFS.
8806         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8807         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8808         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8809         * lib/copy-acl.c (qcopy_acl): Likewise.
8810
8811 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8812
8813         openat: port to AIX 7.1 with large files
8814         AIX 7.1 does a "#define openat open64at" if large files are in use,
8815         so we can't simply #undef openat.  Use the orig_openat trick (similar
8816         to orig_open in lib/open.c) to work around the problem.  Problem
8817         reported by Kevin Brott for GNU tar, in the thread containing
8818         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8819         * lib/openat.c (__need_system_fcntl_h): Define first.
8820         Include <fcntl.h> and <sys/types.h> before undefining.
8821         (orig_openat) [HAVE_OPENAT]: New inline function.
8822         (openat) [HAVE_OPENAT]: Do not undef.
8823         (rpl_openat): Use orig_openat, not openat.
8824
8825 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8826             Bruno Haible  <bruno@clisp.org>
8827
8828         acl: Avoid errors on NonStop Kernel.
8829         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
8830         ENOTSUP errors.
8831
8832 2011-09-05  Bruno Haible  <bruno@clisp.org>
8833
8834         acl: Clean up Solaris code.
8835         * lib/acl-internal.h: Remove no-op #if.
8836         * lib/file-has-acl.c: Likewise.
8837         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
8838         * lib/copy-acl.c (qcopy_acl): Likewise.
8839
8840 2011-09-05  Bruno Haible  <bruno@clisp.org>
8841
8842         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
8843         binaries built on the original Solaris 10.
8844         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8845         trivial.
8846
8847 2011-09-05  Bruno Haible  <bruno@clisp.org>
8848
8849         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8850         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8851         10.
8852         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8853         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8854         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8855         instead of acl_get, facl_get, acl_set, facl_set.
8856
8857 2011-09-05  Bruno Haible  <bruno@clisp.org>
8858
8859         copy-file: Try unit tests on more file systems.
8860         * tests/test-copy-file-1.sh: New file.
8861         * tests/test-copy-file-2.sh: New file.
8862         * modules/copy-file-tests (Files): Add them.
8863         (Makefile.am): Add them to TESTS.
8864
8865         acl: Try unit tests on more file systems.
8866         * tests/test-file-has-acl-1.sh: New file.
8867         * tests/test-file-has-acl-2.sh: New file.
8868         * tests/test-set-mode-acl-1.sh: New file.
8869         * tests/test-set-mode-acl-2.sh: New file.
8870         * tests/test-copy-acl-1.sh: New file.
8871         * tests/test-copy-acl-2.sh: New file.
8872         * modules/acl-tests (Files): Add them.
8873         (Makefile.am): Add them to TESTS.
8874
8875 2011-09-04  Bruno Haible  <bruno@clisp.org>
8876
8877         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8878         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8879         10.
8880         (OLD_ALLOW, OLD_DENY): New macros.
8881         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8882         ACE_ACCESS_ALLOWED_ACE_TYPE.
8883         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8884         ACE_ACCESS_DENIED_ACE_TYPE.
8885         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8886         (NEW_ACE_EXECUTE): Fix value.
8887         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8888         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8889         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8890         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8891         NEW_ACE_SYNCHRONIZE): New macros.
8892         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8893         instead of acl_fromtext, acl_set, facl_set.
8894         Fixes a coreutils/tests/cp/perm failure.
8895
8896 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8897
8898         openat: test for fstatat (..., 0) bug
8899         Further testing with tar suggests that fstatat (..., 0)
8900         does not work in general, on AIX 7.1; see
8901         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8902         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8903         replacement fstatat (which is what older AIX releases were using
8904         anyway).
8905         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8906         use is now changed to orig_fstatat.  This was probably the right
8907         thing to do anyway.
8908         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8909         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8910         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8911         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8912         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8913         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8914         if the bug is found.
8915
8916         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8917         This tests for another fstatat bug on AIX 7.1:
8918         fstatat (AT_FDCWD, ..., 0) does not work.  See
8919         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8920         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8921         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8922         (rpl_fstatat): Adjust so that it works around either (or both)
8923         bugs if present.
8924         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8925
8926 2011-09-03  Karl Berry  <karl@gnu.org>
8927
8928         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8929         in index entries.
8930
8931 2011-09-02  Bruno Haible  <bruno@clisp.org>
8932
8933         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8934         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8935         values of AR, ARFLAGS, RANLIB.
8936         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8937
8938 2011-09-02  Bruno Haible  <bruno@clisp.org>
8939
8940         Find 'ar' program that fits with --host argument.
8941         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8942
8943 2011-09-02  Bruno Haible  <bruno@clisp.org>
8944
8945         tests: init.sh: Support any non-GNU diff.
8946         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8947         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8948         Solaris 8.
8949
8950 2011-09-02  Bruno Haible  <bruno@clisp.org>
8951
8952         tests: init.sh: work also with any non-GNU diff that supports -u
8953         * tests/init.sh: Relax check for diff -u support.
8954         Rather than checking for GNU diff via --version, simply check
8955         for support for -u itself.  Useful at least on OpenBSD 4.9,
8956         AIX 7.1, IRIX 6.5, and Solaris 10.
8957
8958 2011-09-01  Bruno Haible  <bruno@clisp.org>
8959
8960         strtoimax, strtoumax: Document problem on HP-UX 11.
8961         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
8962         * doc/posix-functions/strtoumax.texi: Likewise.
8963
8964 2011-09-01  Bruno Haible  <bruno@clisp.org>
8965
8966         strtoumax: Avoid link error on OSF/1 with DTK cc.
8967         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
8968         defined as a function.
8969         * modules/strtoumax (Depends-on, configure.ac): Test only whether
8970         strtoumax is defined, not whether it is declared.
8971
8972 2011-09-01  Bruno Haible  <bruno@clisp.org>
8973
8974         strtoimax: Avoid link error on OSF/1 with DTK cc.
8975         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
8976         defined as a function.
8977         * modules/strtoimax (Depends-on, configure.ac): Test only whether
8978         strtoimax is defined, not whether it is declared.
8979
8980 2011-09-01  Bruno Haible  <bruno@clisp.org>
8981
8982         imaxdiv: Avoid link error on OSF/1 with DTK cc.
8983         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
8984         as a function.
8985         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
8986         whether it is declared.
8987
8988 2011-09-01  Bruno Haible  <bruno@clisp.org>
8989
8990         imaxabs: Avoid link error on OSF/1 with DTK cc.
8991         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
8992         as a function.
8993         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
8994         whether it is declared.
8995
8996 2011-09-01  Bruno Haible  <bruno@clisp.org>
8997
8998         Tests for module 'strtoumax'.
8999         * modules/strtoumax-tests: New file.
9000         * tests/test-strtoumax.c: New file.
9001
9002         Tests for module 'strtoimax'.
9003         * modules/strtoimax-tests: New file.
9004         * tests/test-strtoimax.c: New file.
9005
9006         Tests for module 'imaxdiv'.
9007         * modules/imaxdiv-tests: New file.
9008         * tests/test-imaxdiv.c: New file.
9009
9010         Tests for module 'imaxabs'.
9011         * modules/imaxabs-tests: New file.
9012         * tests/test-imaxabs.c: New file.
9013
9014 2011-09-01  Bruno Haible  <bruno@clisp.org>
9015
9016         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
9017         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
9018         pthread_create.
9019
9020 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9021
9022         openat: work around AIX 7.1 fstatat issue
9023         This should fix the problem that was not properly fixed
9024         in the previous change, dated 2011-08-30.
9025         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
9026         __need_system_stat_h defined.
9027         (orig_fstatat) [HAVE_FSTATAT]: New function.
9028         (rpl_fstatat): Go back to the old way of doing things,
9029         except call orig_fstatat instead of fstatat.
9030         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
9031         Remove unnecessary check whether fstatat fills in st_size etc.
9032
9033 2011-09-01  Bruno Haible  <bruno@clisp.org>
9034
9035         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
9036         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
9037         just include the system's header.
9038
9039 2011-08-31  Jim Meyering  <meyering@redhat.com>
9040
9041         tests: avoid spurious assertion failure in test-float.c on ppc64
9042         * tests/test-float.c (test_long_double): Comment out an assertion,
9043         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
9044         with gcc-4.4.4.
9045
9046         maint: indent with spaces, not TABs
9047         I need to get in the habit of running gnulib's "make check".
9048         Both of these would have been caught.
9049         * m4/largefile.m4: Indent with spaces, not TABs.
9050         * lib/parse-datetime.y (iso_8601_time): Likewise.
9051         Spotted by Pádraig Brady.
9052
9053         test-parse-datetime.c: accommodate a relatively strict gcc warning
9054         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
9055         to avoid a warning from gcc's -Werror=missing-declarations.
9056         Insert a few spaces-before-funcall-parenthesis.
9057
9058 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
9059
9060         parse-datetime: accept ISO 8601 date and time rep with "T" separator
9061         The parser now accepts ISO 8601 date-time strings with "T" as the
9062         separator.  It has long parsed dates like "2004-02-29 16:21:42"
9063         with a space between the date and time strings.  Now it also parses
9064         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
9065         variants like "2004-02-29T16:21:42.333-07:00"
9066         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
9067         of day representation using the 'T' separator character.
9068         * doc/parse-datetime.texi (General date syntax): replace use of
9069         deprecated --iso-8601 option with --rfc-3339 in example of date
9070         command output formats that can be parsed.
9071         * tests/test-parse-datetime.c (tm_diff): New function, taken from
9072         lib/parse-datetime.y.
9073         (gmt_offset): New function.
9074         (main): Add additional test cases to validate ISO8601 extended
9075         date and time of day parsing.
9076
9077 2011-08-31  Bruno Haible  <bruno@clisp.org>
9078
9079         freopen: Documentation.
9080         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
9081         name.
9082         Reported by Claudio Bley <claudio.bley@gmail.com>.
9083
9084 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
9085
9086         freopen: Don't crash if the filename argument is NULL.
9087         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
9088         NULL.
9089
9090 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9091
9092         openat: work around AIX 7.1 fstatat bug
9093         Problem reported by Kevin Brott for GNU tar, in the thread containing
9094         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
9095         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
9096         FSTATAT_ST_SIZE_ETC_BROKEN.
9097         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
9098         rpl_fstatat.
9099         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
9100         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
9101         AC_CHECK_FUNCS_ONCE for fstatat.
9102         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
9103         fchmodat, mkdirat, openat and unlinkat.
9104
9105 2011-08-30  Bruno Haible  <bruno@clisp.org>
9106
9107         Avoid endless recursions if config.h includes some header files.
9108         * lib/fopen.c (__need_FILE): Define already before including config.h.
9109         * lib/freopen.c (__need_FILE): Likewise.
9110         * lib/open.c (__need_system_fcntl_h): Likewise.
9111         * lib/stat.c (__need_system_sys_stat_h): Likewise.
9112         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
9113         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9114
9115 2011-08-25  Karl Berry  <karl@gnu.org>
9116
9117         * config/srclist.txt (ylwrap): new try.
9118         * build-aux/ylwrap: new file.
9119
9120 2011-08-23  Bruno Haible  <bruno@clisp.org>
9121
9122         tmpdir: Use a good default directory on native Windows.
9123         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
9124         (P_tmpdir): Default to _P_tmpdir on native Windows.
9125         (path_search): On native Windows, try the value returned by GetTempPath
9126         before trying P_tmpdir.
9127         * modules/tmpdir (Depends-on): Add pathmax.
9128         Suggested by John Darrington <john@darrington.wattle.id.au>.
9129
9130 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
9131
9132         doc: fix typo in README-release
9133         * top/README-release: Capitalize first word of a sentence.
9134
9135 2011-08-19  Jim Meyering  <meyering@redhat.com>
9136
9137         fts: do not exhaust memory when processing million-entry directories
9138         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
9139         directory would require about 256*N bytes of memory.  Thus, it was
9140         easy to construct a directory too large to be processed by any of
9141         those tools.  With this change, fts' maximum memory utilization is
9142         now limited to around 30MB.
9143         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
9144         (fts_read): When we've processed the final entry (i.e., when
9145         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
9146         using the parent entry to read any remaining entries.  Dispatch
9147         depending on what fts_build returns:
9148         - NULL+stop, aka failure: stop
9149         - NULL otherwise: move up in the dir hierarchy
9150         - non-NULL: handle this new entry
9151         (fts_build): Declare and use new local, continue_readdir.
9152         Prepare to be called from fts_read, when the entries
9153         from a partially-read directory have just been exhausted.
9154         In that case, we'll skip the opendir and instead use the parent's
9155         fts_dirp and derive dir_fd from that.
9156         Finally, in the readdir loop, if we read max_entries entries,
9157         exit the loop ensuring *not* to call closedir.  This is required
9158         so that fts_dirp can be reused on a subsequent call.
9159         Prompted by Ben England's report of memory exhaustion in find
9160         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
9161
9162         maint: fts: move decl of `dp' down into while loop; split a long line
9163         * lib/fts.c (fts_build): No semantic change.
9164
9165         fts: add/use new struct member, fts_dirp
9166         We are about to use this to manage any directory with
9167         too many entries to read all of them into memory at once.
9168         To do that, we'll need to save the DIR* pointer in each
9169         affected FTSENT struct.
9170         * lib/fts_.h: Include <dirent.h>.
9171         (struct FTSENT) [fts_dirp]: New member.
9172         * lib/fts.c (closedir_and_clear): Define.
9173         Use it in place of closedir so that we are sure to
9174         clear the new fts_dirp member when done with it.
9175         (fts_alloc): Initialize the new member.
9176         (fts_lfree): Free, if needed.
9177
9178         maint: fts: give __opendir2 a new parameter and rename
9179         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
9180         than surreptitiously using sole caller's "dir_fd".
9181         (fts_opendir): Rename from __opendir2.
9182
9183         maint: fts.c: remove __opendir2's now-unused parameter, oflag
9184         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
9185
9186         maint: fts.c: correct off-by-one indentation
9187         * lib/fts.c (fts_build): Correct indentation, change style
9188         of a couple of block comments, and bracing style.
9189
9190         maint: fts.c: move __opendir2 #define "up" out of function body
9191         * lib/fts.c (__opendir2): Move "up".  No semantic change.
9192
9193         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
9194         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
9195         out for a long time and besides was useful only on BSD systems.
9196
9197 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9198
9199         regex: port to Stratus OpenVOS
9200         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
9201         define to empty, rather than attempting nonportable optimizations.
9202         Problem reported by Paul Green in:
9203         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
9204         and fix suggested by Eric Blake in:
9205         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
9206
9207 2011-08-17  Eric Blake  <eblake@redhat.com>
9208
9209         getcwd: fix test failures on mingw
9210         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
9211         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
9212         test if long directory cannot be created, and allow mingw errno.
9213
9214         getcwd-lgpl: fix m4 to match relaxed test for BSD
9215         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
9216         (gl_FUNC_GETCWD_SIGNATURE): New macro.
9217         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
9218         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
9219         signature problem.
9220
9221         getcwd: fix compilation on mingw64
9222         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
9223         getcwd.
9224         Reported by Marc-André Lureau.
9225
9226         pipe2: silence compiler warning
9227         * lib/pipe2.c (pipe2): Hide label if it is not used.
9228
9229 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
9230
9231         relocatable-prog: fix link error
9232         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
9233         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
9234         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
9235         into modules/relocatable-lib without noticing that
9236         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
9237         also needs to build relocatable.c.
9238
9239 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
9240
9241         getaddrinfo: fix sh typo in gai_strerrorA decl checking
9242         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
9243         shell code: it contained a 'break' that was not in a loop.
9244         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
9245         via a shell-language loop; this may have been true in old Autoconf
9246         versions, but it's not true in Autoconf 2.68.  I found this bug
9247         when testing coreutils git on Solaris 8, whose shell complains
9248         about the syntax error.
9249
9250 2011-08-12  Simon Josefsson  <simon@josefsson.org>
9251
9252         * lib/base64.c: Fix comment to reference RFC 4648.
9253         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
9254         <gvtulder@gmail.com>.
9255
9256 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9257
9258         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
9259
9260         po/Makefile.in.in: fix make -q problem
9261         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
9262         rule, since there's no file named 'check-macro-version' and its
9263         use as a file breaks make -q.
9264         (all): Don't depend on check-macro-version.
9265         (CHECK_MACRO_VERSION): New macro.
9266         (stamp-po): Use it.
9267
9268         configmake: fix make -q problem
9269         * modules/configmake (configmake.h): Update configmake.h's time stamp
9270         even if the file does not change.  Otherwise, 'make -q' fails.
9271         Problem reported by Simon Josefsson in
9272         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
9273
9274 2011-08-11  Jim Meyering  <meyering@redhat.com>
9275
9276         git-version-gen: correct the advice in a comment
9277         * build-aux/git-version-gen: Correct comment.
9278         Don't recommend to list .tarball-version in .gitignore.
9279
9280 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9281
9282         base64: fix off-by-one buffer size bug
9283         Problem and (trivial) fix reported by Gijs van Tulder in
9284         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
9285         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
9286         * tests/test-base64.c (main): Catch the bug.
9287
9288 2011-08-10  Eric Blake  <eblake@redhat.com>
9289
9290         closein: correct comments
9291         * lib/closein.c (close_stdin): Improve comments.
9292
9293 2011-08-09  Bruno Haible  <bruno@clisp.org>
9294
9295         More tests for 'fseeko'.
9296         * tests/test-fseeko3.c: New file, from Eric Blake.
9297         * tests/test-fseeko3.sh: New file.
9298         * modules/fseeko-tests (Files): Add them.
9299         (TESTS): Add test-fseeko3.sh.
9300         (check_PROGRAMS): Add test-fseeko3.
9301
9302 2011-08-09  Eric Blake  <eblake@redhat.com>
9303
9304         fseeko: remove unneeded hack
9305         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
9306
9307         fseeko: fix bug on glibc
9308         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
9309         Reported by John W. Eaton.
9310
9311 2011-08-08  Bruno Haible  <bruno@clisp.org>
9312
9313         unictype/base: Fix interoperability with preinstalled libunistring.
9314         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
9315         Reported by Simon Josefsson.
9316
9317 2011-08-08  Bruno Haible  <bruno@clisp.org>
9318
9319         iswblank: Detect declaration correctly.
9320         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
9321         AC_CHECK_DECLS invocation.
9322
9323 2011-08-08  Bruno Haible  <bruno@clisp.org>
9324
9325         tcgetsid: Detect declaration correctly.
9326         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
9327         AC_CHECK_DECLS invocation.
9328         Reported by Simon Josefsson.
9329
9330 2011-08-08  Eric Blake  <eblake@redhat.com>
9331
9332         largefile: fix typo that regressed large file support
9333         * modules/largefile (configure.ac-early): Fix section name.
9334
9335 2011-08-06  Karl Berry  <karl@gnu.org>
9336
9337         * MODULES.html.sh (func_all_files): _Noreturn is no longer
9338         a separate module.
9339
9340 2011-08-05  Simon Josefsson  <simon@josefsson.org>
9341
9342         openat: Fix warnings and commens when building unlinkat.c on Hurd.
9343         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
9344         get prototype for free.
9345
9346 2011-08-04  Bruno Haible  <bruno@clisp.org>
9347
9348         Tests for module 'pathmax'.
9349         * modules/pathmax-tests: New file.
9350         * tests/test-pathmax.c: New file.
9351
9352         canonicalize-lgpl: Support larger filenames on the Hurd.
9353         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
9354         Reported by Paul Eggert.
9355
9356         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
9357         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
9358         * lib/chdir-long.h: Include pathmax.h.
9359         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
9360         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
9361         (PATH_MAX): Remove code that is done by pathmax.h.
9362         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
9363         * lib/tmpfile.c: Add a comment.
9364         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
9365         * modules/chdir-long (Depends-on): Add pathmax.
9366         * modules/getcwd (Depends-on): Add pathmax.
9367         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
9368         is not defined.
9369         * doc/posix-headers/limits.texi: Mention the pathmax module.
9370         * NEWS: Mention the change.
9371
9372 2011-08-02  Bruno Haible  <bruno@clisp.org>
9373
9374         pthread_sigmask: Actually use results of gl_THREADLIB.
9375         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
9376         gl_THREADLIB, not gl_[]THREADLIB.
9377         Reported by Eric Blake.
9378
9379 2011-08-02  Jim Meyering  <meyering@redhat.com>
9380
9381         maint.mk: relax the default _gl_TS_function_match regexp
9382         * top/maint.mk (_gl_TS_function_match): Don't require at least one
9383         space between function name and "(" in an "extern" declaration.
9384         That would fail to match a decl with no space there: extern void foo();
9385
9386 2011-07-31  Iain Nicol  <iain@thenicols.net>
9387
9388         git-version-gen: document that EXTRA_DIST must include .version
9389         * build-aux/git-version-gen: In the how-to-use comment, document
9390         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
9391         will fail when run from an unpacked distribution tarball.
9392
9393 2011-08-01  Bruno Haible  <bruno@clisp.org>
9394
9395         wctype-h: Fix last change.
9396         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
9397         REPLACE_TOWLOWER to 0.
9398         Reported by Sam Steingold <sds@gnu.org>.
9399
9400 2011-07-31  Bruno Haible  <bruno@clisp.org>
9401
9402         frexpl: Update autoconf test.
9403         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
9404         according to changes of 2011-06-20.
9405
9406 2011-07-31  Bruno Haible  <bruno@clisp.org>
9407
9408         sys_utsname: Add support for Minix.
9409         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
9410         <sys/utsname.h>.
9411         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9412         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
9413
9414 2011-07-31  Bruno Haible  <bruno@clisp.org>
9415
9416         strings: Add support for Minix.
9417         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
9418         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
9419         * doc/posix-headers/strings.texi: Document the Minix problem.
9420
9421 2011-07-31  Bruno Haible  <bruno@clisp.org>
9422
9423         wctype-h: Add support for Minix.
9424         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
9425         REPLACE_TOWLOWER.
9426         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
9427         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
9428         REPLACE_ISWCNTRL.
9429
9430 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
9431
9432         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
9433         This is a performance improvement for 64-bit hosts: it causes the
9434         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
9435
9436 2011-07-31  Bruno Haible  <bruno@clisp.org>
9437
9438         stdioext: Add support for Minix.
9439         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
9440         * lib/fpurge.c (fpurge): Likewise.
9441         * lib/freadahead.c (freadahead): Likewise.
9442         * lib/freadable.c (freadable): Likewise.
9443         * lib/freading.c (freading): Likewise.
9444         * lib/freadptr.c (freadptr): Likewise.
9445         * lib/freadseek.c (freadptrinc): Likewise.
9446         * lib/fseeko.c (rpl_fseeko): Likewise.
9447         * lib/fseterr.c (fseterr): Likewise.
9448         * lib/fwritable.c (fwritable): Likewise.
9449         * lib/fwriting.c (fwriting): Likewise.
9450         * lib/fflush.c (clear_ungetc_buffer): Update comment.
9451         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
9452
9453 2011-07-31  Bruno Haible  <bruno@clisp.org>
9454
9455         errno: Port to Minix.
9456         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
9457         ECONNABORTED are defined.
9458         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
9459         GNULIB_defined_ECONNABORTED): New macros.
9460         * lib/strerror-override.h (strerror_override): Test also
9461         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
9462         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
9463         ECONNABORTED.
9464         * doc/posix-headers/errno.texi: Mention the Minix problem.
9465
9466 2011-07-31  Bruno Haible  <bruno@clisp.org>
9467
9468         Work around declaration collisions on Minix.
9469         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
9470         defined, set REPLACE_MBSINIT.
9471         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
9472         defined, set REPLACE_MBRTOWC.
9473         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
9474         set REPLACE_MBRLEN.
9475         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
9476         defined, set REPLACE_MBSRTOWCS.
9477         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
9478         defined, set REPLACE_WCRTOMB.
9479         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
9480         defined, set REPLACE_WCSRTOMBS.
9481
9482 2011-07-31  Bruno Haible  <bruno@clisp.org>
9483
9484         Add support for Minix with ACK compiler.
9485         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
9486         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
9487         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
9488
9489 2011-07-31  Bruno Haible  <bruno@clisp.org>
9490
9491         Documentation about Minix.
9492         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
9493         * doc/glibc-headers/*.texi: Likewise.
9494         * doc/posix-functions/*.texi: Likewise.
9495         * doc/glibc-functions/*.texi: Likewise.
9496
9497 2011-07-31  Bruno Haible  <bruno@clisp.org>
9498
9499         snippet/warn-on-use: Fix indentation.
9500         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
9501
9502 2011-07-25  Jim Meyering  <meyering@redhat.com>
9503
9504         tests: test-update-copyright.sh: remove unnecessary "rm" commands
9505         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
9506         commands.
9507
9508 2011-07-27  Jim Meyering  <meyering@redhat.com>
9509
9510         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
9511         * top/maint.mk (gl_extract_significant_defines_): Now that
9512         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
9513         gnulib/lib/signal.in.h, and now that we recommend to
9514         define-if-undefined those two symbols in application code,
9515         we must filter them out of the "significant" list.
9516         This avoids a "make syntax-check" failure in coreutils.
9517
9518 2011-07-26  Eric Blake  <eblake@redhat.com>
9519
9520         warnings: add comments about previous patch
9521         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
9522         * m4/include_next.m4: Likewise.
9523         * m4/warn-on-use.m4: Likewise.
9524         * m4/warnings.m4: Likewise, and simplify use.
9525         Suggested by Stefano Lattarini.
9526
9527         include-next, warnings: support older autoconf
9528         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
9529         AS_VAR_PUSHDEF in a way that works with older autoconf.
9530         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
9531         Reported by Daniel P. Berrange.
9532
9533 2011-07-25  Bruno Haible  <bruno@clisp.org>
9534
9535         fseek, ftell: Fix doc.
9536         * doc/posix-functions/fseek.texi: Reword statement about
9537         AC_SYS_LARGEFILE.
9538         * doc/posix-functions/ftell.texi: Likewise.
9539
9540 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9541             Bruno Haible  <bruno@clisp.org>
9542
9543         Add dependencies to the 'largefile' module.
9544         * modules/fopen (Depends-on): Add 'largefile'.
9545         * modules/freopen (Depends-on): Likewise.
9546         * modules/fseeko (Depends-on): Likewise.
9547         * modules/ftello (Depends-on): Likewise.
9548         * modules/glob (Depends-on): Likewise.
9549         * modules/lseek (Depends-on): Likewise.
9550         * modules/lstat (Depends-on): Likewise.
9551         * modules/mkostemp (Depends-on): Likewise.
9552         * modules/mkostemps (Depends-on): Likewise.
9553         * modules/mkstemp (Depends-on): Likewise.
9554         * modules/mkstemps (Depends-on): Likewise.
9555         * modules/open (Depends-on): Likewise.
9556         * modules/openat (Depends-on): Likewise.
9557         * modules/pread (Depends-on): Likewise.
9558         * modules/pwrite (Depends-on): Likewise.
9559         * modules/scandir (Depends-on): Likewise.
9560         * modules/stat (Depends-on): Likewise.
9561         * modules/tmpfile (Depends-on): Likewise.
9562         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
9563         since the containing module now depends on the largefile module.
9564         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
9565         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
9566         off_t is fixed by gnulib.
9567         * doc/posix-functions/freopen.texi: Likewise.
9568         * doc/posix-functions/fseeko.texi: Likewise.
9569         * doc/posix-functions/fstatat.texi: Likewise.
9570         * doc/posix-functions/ftello.texi: Likewise.
9571         * doc/posix-functions/glob.texi: Likewise.
9572         * doc/posix-functions/lseek.texi: Likewise.
9573         * doc/posix-functions/lstat.texi: Likewise.
9574         * doc/posix-functions/mkstemp.texi: Likewise.
9575         * doc/posix-functions/open.texi: Likewise.
9576         * doc/posix-functions/openat.texi: Likewise.
9577         * doc/posix-functions/pread.texi: Likewise.
9578         * doc/posix-functions/pwrite.texi: Likewise.
9579         * doc/posix-functions/scandir.texi: Likewise.
9580         * doc/posix-functions/stat.texi: Likewise.
9581         * doc/posix-functions/tmpfile.texi: Likewise.
9582         * doc/glibc-functions/mkostemp.texi: Likewise.
9583         * doc/glibc-functions/mkostemps.texi: Likewise.
9584         * doc/glibc-functions/mkstemps.texi: Likewise.
9585
9586 2011-07-25  Bruno Haible  <bruno@clisp.org>
9587
9588         fcntl: Move AC_LIBOBJ invocation to module description.
9589         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
9590         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
9591
9592         fcntl: Remove call-in from fchdir.m4.
9593         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
9594         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
9595
9596         dup3: Remove potential call-in from fchdir.m4.
9597         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
9598         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
9599
9600         dup2: Move AC_LIBOBJ invocation to module description.
9601         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
9602         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
9603         Don't invoke AC_LIBOBJ.
9604         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
9605
9606         dup2: Remove call-in from fchdir.m4.
9607         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
9608         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
9609
9610         fclose: Move AC_LIBOBJ invocation to module description.
9611         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
9612         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
9613         to 1.
9614         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
9615
9616         fclose: Remove call-in from close.m4.
9617         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
9618         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
9619
9620         close: Move AC_LIBOBJ invocation to module description.
9621         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
9622         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
9623         1.
9624         * modules/close (configure.ac): Invoke AC_LIBOBJ.
9625
9626         close: Remove call-in from fchdir.m4.
9627         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
9628         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
9629
9630         open: Move AC_LIBOBJ invocation to module description.
9631         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
9632         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
9633         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
9634
9635         open: Remove call-in from fchdir.m4.
9636         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
9637         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
9638
9639         fchdir: Start to remove gl_REPLACE_* idiom.
9640         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
9641         (gl_FUNC_FCHDIR): Invoke it.
9642
9643 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9644
9645         * lib/ftell.c (ftell): Comment out cast.
9646
9647         close: use gl_REPLACE_FCLOSE only if defined
9648         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
9649         is defined.  The close module doesn't depend on the fclose module
9650         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
9651         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
9652         I reproduced the problem with "./gnulib-tool --test close sys_socket".
9653
9654 2011-07-24  Jim Meyering  <meyering@redhat.com>
9655
9656         test-select.h: avoid warning when using gcc's -Wmissing-declarations
9657         * tests/test-select.h (test_function): Declare as "static".
9658
9659 2011-07-24  Bruno Haible  <bruno@clisp.org>
9660
9661         doc: Mention the effects of AC_SYS_LARGEFILE.
9662         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
9663         on this function.
9664         * doc/posix-functions/aio_error.texi: Likewise.
9665         * doc/posix-functions/aio_fsync.texi: Likewise.
9666         * doc/posix-functions/aio_read.texi: Likewise.
9667         * doc/posix-functions/aio_return.texi: Likewise.
9668         * doc/posix-functions/aio_suspend.texi: Likewise.
9669         * doc/posix-functions/aio_write.texi: Likewise.
9670         * doc/posix-functions/fgetpos.texi: Likewise.
9671         * doc/posix-functions/fopen.texi: Likewise.
9672         * doc/posix-functions/freopen.texi: Likewise.
9673         * doc/posix-functions/fsetpos.texi: Likewise.
9674         * doc/posix-functions/fstatvfs.texi: Likewise.
9675         * doc/posix-functions/ftruncate.texi: Likewise.
9676         * doc/posix-functions/ftw.texi: Likewise.
9677         * doc/posix-functions/getrlimit.texi: Likewise.
9678         * doc/posix-functions/glob.texi: Likewise.
9679         * doc/posix-functions/lio_listio.texi: Likewise.
9680         * doc/posix-functions/lockf.texi: Likewise.
9681         * doc/posix-functions/mkstemp.texi: Likewise.
9682         * doc/posix-functions/mmap.texi: Likewise.
9683         * doc/posix-functions/nftw.texi: Likewise.
9684         * doc/posix-functions/openat.texi: Likewise.
9685         * doc/posix-functions/opendir.texi: Likewise.
9686         * doc/posix-functions/posix_fadvise.texi: Likewise.
9687         * doc/posix-functions/posix_fallocate.texi: Likewise.
9688         * doc/posix-functions/pread.texi: Likewise.
9689         * doc/posix-functions/pwrite.texi: Likewise.
9690         * doc/posix-functions/readdir.texi: Likewise.
9691         * doc/posix-functions/readdir_r.texi: Likewise.
9692         * doc/posix-functions/rewinddir.texi: Likewise.
9693         * doc/posix-functions/scandir.texi: Likewise.
9694         * doc/posix-functions/seekdir.texi: Likewise.
9695         * doc/posix-functions/setrlimit.texi: Likewise.
9696         * doc/posix-functions/statvfs.texi: Likewise.
9697         * doc/posix-functions/telldir.texi: Likewise.
9698         * doc/posix-functions/tmpfile.texi: Likewise.
9699         * doc/posix-functions/truncate.texi: Likewise.
9700         * doc/glibc-functions/fallocate.texi: Likewise.
9701         * doc/glibc-functions/fstatfs.texi: Likewise.
9702         * doc/glibc-functions/fts_children.texi: Likewise.
9703         * doc/glibc-functions/fts_read.texi: Likewise.
9704         * doc/glibc-functions/getdirentries.texi: Likewise.
9705         * doc/glibc-functions/mkostemp.texi: Likewise.
9706         * doc/glibc-functions/mkostemps.texi: Likewise.
9707         * doc/glibc-functions/mkstemps.texi: Likewise.
9708         * doc/glibc-functions/preadv.texi: Likewise.
9709         * doc/glibc-functions/pwritev.texi: Likewise.
9710         * doc/glibc-functions/sendfile.texi: Likewise.
9711         * doc/glibc-functions/statfs.texi: Likewise.
9712
9713 2011-07-24  Bruno Haible  <bruno@clisp.org>
9714
9715         doc: Fix typo.
9716         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9717
9718 2011-07-24  Bruno Haible  <bruno@clisp.org>
9719
9720         doc: Mention fsusage.
9721         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9722
9723 2011-07-24  Bruno Haible  <bruno@clisp.org>
9724
9725         doc: Mention new glibc headers and functions.
9726         * doc/glibc-headers/gshadow.texi: New file.
9727         * doc/glibc-functions/endsgent.texi: New file.
9728         * doc/glibc-functions/fgetsgent.texi: New file.
9729         * doc/glibc-functions/fgetsgent_r.texi: New file.
9730         * doc/glibc-functions/getsgent.texi: New file.
9731         * doc/glibc-functions/getsgent_r.texi: New file.
9732         * doc/glibc-functions/getsgnam.texi: New file.
9733         * doc/glibc-functions/getsgnam_r.texi: New file.
9734         * doc/glibc-functions/putsgent.texi: New file.
9735         * doc/glibc-functions/setsgent.texi: New file.
9736         * doc/glibc-functions/sgetsgent.texi: New file.
9737         * doc/glibc-functions/sgetsgent_r.texi: New file.
9738         * doc/glibc-functions/malloc_info.texi: New file.
9739         * doc/glibc-functions/preadv.texi: New file.
9740         * doc/glibc-functions/pwritev.texi: New file.
9741         * doc/glibc-functions/register_printf_modifier.texi: New file.
9742         * doc/glibc-functions/register_printf_specifier.texi: New file.
9743         * doc/glibc-functions/register_printf_type.texi: New file.
9744         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9745         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9746         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9747         * doc/glibc-functions/pthread_getname_np.texi: New file.
9748         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9749         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9750         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9751         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9752         * doc/glibc-functions/pthread_setname_np.texi: New file.
9753         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9754         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9755         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9756         * doc/glibc-functions/qsort_r.texi: New file.
9757         * doc/glibc-functions/quick_exit.texi: New file.
9758         * doc/glibc-functions/syncfs.texi: New file.
9759         * doc/gnulib.texi: Include them.
9760         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9761         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9762         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9763         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9764         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9765         * doc/glibc-functions/execvpe.texi: Likewise.
9766
9767 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9768
9769         ftell: don't include <unistd.h>
9770         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9771         guaranteed to define off_t, and the ftell module depends on the
9772         stdio module.
9773
9774         ftell: do not assume wraparound signed arithmetic
9775         * lib/ftell.c: Include <limits.h>.
9776         (ftell): Don't assume wraparound signed arithmetic.
9777
9778 2011-07-24  Bruno Haible  <bruno@clisp.org>
9779
9780         close: No longer depend on module 'fclose'.
9781         * modules/close (Depends-on): Remove fclose.
9782         * NEWS: Mention the change.
9783         Suggested by Sam Steingold <sds@gnu.org>.
9784
9785 2011-07-24  Bruno Haible  <bruno@clisp.org>
9786
9787         fsusage: Enable large volume support on AIX >= 5.2.
9788         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9789         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9790         instead of STAT_STATVFS.
9791         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9792
9793         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9794         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9795         f_blocks field only on MacOS X.
9796
9797         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9798         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9799         * modules/fsusage (Depends-on): Add largefile.
9800
9801 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9802
9803         * README: Modernize discussion of signed integers.
9804         Assuming overflow wraparound is no longer safe.
9805         Mention ones' complement and signed magnitude.
9806
9807 2011-07-22  Bruno Haible  <bruno@clisp.org>
9808
9809         select tests, pselect tests: Refactor.
9810         * tests/test-select.h: New file, extracted from tests/test-select.c.
9811         (select_fn): New type.
9812         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9813         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9814         test_pipe): Add my_select argument.
9815         (test_function): Renamed from main. Add my_select argument.
9816         * tests/test-select.c: Move most code to tests/test-select.h. Include
9817         test-select.h.
9818         * modules/select-tests (Files): Add tests/test-select.h.
9819         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
9820         (my_select, main): New functions.
9821         * modules/pselect-tests (Files): Add tests/test-select.h,
9822         tests/macros.h, tests/signature.h.
9823         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
9824         (configure.ac): Check for <sys/wait.h>.
9825
9826 2011-07-22  Bruno Haible  <bruno@clisp.org>
9827
9828         sys_select tests: Check the signature of FD_*.
9829         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
9830         signature tests from here...
9831         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
9832         here.
9833         * modules/sys_select-tests (Files): Add tests/signature.h.
9834
9835 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9836
9837         largefile: new module, replacing large-inode
9838         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
9839         * MODULES.html.sh: Add largefile, remove large-inode.
9840         * modules/largefile, m4/largefile.m4: New files.
9841         * modules/large-inode, m4/large-inode.m4: Remove.
9842
9843         fsusage: port to MacOS X 10.7 with 4 TiB file systems
9844         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9845         implementations that use only 32 bits to count blocks.
9846         On typical hosts with 1024-byte blocks, this fails with file
9847         systems as small as 4 TiB.  Problem reported by Herb Wartens
9848         <http://debbugs.gnu.org/9140> and this should also fix a similar
9849         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9850
9851         large-inode: New module
9852         * MODULES.html.sh: Add it.
9853         * modules/large-inode, m4/large-inode.m4: New files.
9854
9855         extensions: Enable extensions on MacOS X 10.5 and later.
9856         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9857
9858 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9859
9860         file-has-acl: use acl_extended_file_nofollow if available
9861         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9862         (acl_extended_file): New macro.
9863         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9864         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9865
9866 2011-07-21  Bruno Haible  <bruno@clisp.org>
9867
9868         Declare system functions in a way that works with C++.
9869         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9870         declare fdopendir as extern "C".
9871         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9872         declare frexpl as extern "C".
9873         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9874         declare gai_strerror as extern "C".
9875         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9876         programs, declare gai_strerror as extern "C".
9877         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9878         declare getlogin_r as extern "C".
9879         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9880         as extern "C".
9881         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9882         declare ldexpl as extern "C".
9883         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9884         as extern "C".
9885         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9886         program, declare getmntinfo as extern "C".
9887         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9888         stpncpy as extern "C".
9889         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9890         program, declare __xpg_strerror_r as extern "C".
9891         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9892         strndup as extern "C".
9893         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9894         declare memset and bzero as extern "C".
9895         Reported by Sam Steingold <sds@gnu.org>.
9896
9897 2011-07-12  Jim Meyering  <meyering@redhat.com>
9898
9899         maint.mk: prohibit inclusion of "verify.h" without use
9900         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9901
9902 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9903
9904         timer-time: A new module to check for timer_settime()
9905         * m4/timer_time.m4: Check for the posix function.
9906         * modules/timer-time: Add the new module.
9907         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9908         Mention it.
9909
9910 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9911             Bruno Haible  <bruno@clisp.org>
9912
9913         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9914         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9915         not defined, assume POSIX threads and look for pthread_sigmask in
9916         $LIBS, without changing $CPPFLAGS.
9917
9918 2011-07-19  Bruno Haible  <bruno@clisp.org>
9919
9920         strstr: Update cross-compilation guess.
9921         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9922         CPUs, guess no, in view of glibc
9923         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9924         Suggested by Eric Blake. Reported by Reuben Thomas.
9925
9926 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9927
9928         getopt-gnu: suppress core dumps from detection code
9929         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9930         to suppress core dumps that may well occur on glibc systems.
9931         * modules/getopt-gnu: Depend on nocrash.
9932
9933 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9934
9935         pthread_sigmask: ensure usleep is declared
9936         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9937         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9938
9939 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9940
9941         doc: Document NonStop portability issues.
9942         * doc/posix-functions/sigaction.texi (sigaction):
9943         * doc/posix-headers/signal.texi (signal.h):
9944         Document NonStop.  See Joachim Schmitz in
9945         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9946
9947 2011-07-15  Bruno Haible  <bruno@clisp.org>
9948
9949         ffsl, ffsll: Avoid unportable behaviour.
9950         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9951
9952 2011-07-15  Bruno Haible  <bruno@clisp.org>
9953
9954         ffs: More tests.
9955         * tests/test-ffs.c (NBITS): New macro.
9956         (main): Add more tests.
9957         * tests/test-ffsl.c (NBITS): New macro.
9958         (main): Add more tests.
9959         * tests/test-ffsll.c (NBITS): New macro.
9960         (main): Add more tests.
9961
9962 2011-07-15  Eric Blake  <eblake@redhat.com>
9963
9964         ffsl, ffsll: new modules
9965         * modules/ffsl: New file.
9966         * modules/ffsll: Likewise.
9967         * m4/ffsl.m4: Likewise.
9968         * m4/ffsll.m4: Likewise.
9969         * lib/ffsl.c: Likewise.
9970         * lib/ffsl.h: Likewise.
9971         * lib/ffsll.c: Likewise.
9972         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
9973         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
9974         * modules/string (Makefile.am): Substitute witnesses.
9975         * lib/strings.in.h (ffsl, ffsll): Declare.
9976         * modules/ffsl-tests: New test file.
9977         * modules/ffsll-tests: Likewise.
9978         * tests/test-ffsl.c: Likewise.
9979         * tests/test-ffsll.c: Likewise.
9980         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9981         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
9982         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
9983
9984         ffs: fix m4 prerequisite
9985         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
9986
9987         ffs: avoid undefined behavior
9988         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
9989         * tests/test-ffs.c (naive, main): Avoid signed shifts.
9990         Reported by Bruno Haible.
9991
9992 2011-07-12  Bruno Haible  <bruno@clisp.org>
9993
9994         pthread_sigmask: Rely on module 'threadlib'.
9995         * modules/pthread_sigmask (Depends-on): Add threadlib.
9996         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
9997         is defined.
9998
9999 2011-07-12  Bruno Haible  <bruno@clisp.org>
10000
10001         regex: Depend on module 'strcase'.
10002         * modules/regex (Depends-on): Add strcase, for strcasecmp().
10003
10004 2011-07-12  Jim Meyering  <meyering@redhat.com>
10005
10006         warn-on-use: fix typo in file name
10007         * modules/snippet/warn-on-use (Files): Correct file name:
10008         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
10009
10010 2011-07-12  Bruno Haible  <bruno@clisp.org>
10011
10012         strings: Document module.
10013         * doc/posix-headers/strings.texi: Mention module 'strings'.
10014
10015 2011-07-12  Bruno Haible  <bruno@clisp.org>
10016
10017         Rename module '_Noreturn' to 'snippet/_Noreturn'.
10018         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
10019         (Files, Makefile.am): Update.
10020         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
10021         * modules/stdlib (Depends-on): Update.
10022
10023 2011-07-12  Bruno Haible  <bruno@clisp.org>
10024
10025         * NEWS: Mention the changes.
10026
10027         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
10028         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
10029         (Files, Makefile.am): Update.
10030         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
10031         * modules/arpa_inet (Depends-on): Update.
10032         * modules/ctype (Depends-on): Update.
10033         * modules/dirent (Depends-on): Update.
10034         * modules/fcntl-h (Depends-on): Update.
10035         * modules/glob (Depends-on): Update.
10036         * modules/iconv-h (Depends-on): Update.
10037         * modules/inttypes-incomplete (Depends-on): Update.
10038         * modules/langinfo (Depends-on): Update.
10039         * modules/locale (Depends-on): Update.
10040         * modules/math (Depends-on): Update.
10041         * modules/netdb (Depends-on): Update.
10042         * modules/poll-h (Depends-on): Update.
10043         * modules/pty (Depends-on): Update.
10044         * modules/search (Depends-on): Update.
10045         * modules/signal (Depends-on): Update.
10046         * modules/spawn (Depends-on): Update.
10047         * modules/stdio (Depends-on): Update.
10048         * modules/stdlib (Depends-on): Update.
10049         * modules/string (Depends-on): Update.
10050         * modules/strings (Depends-on): Update.
10051         * modules/sys_file (Depends-on): Update.
10052         * modules/sys_ioctl (Depends-on): Update.
10053         * modules/sys_select (Depends-on): Update.
10054         * modules/sys_socket (Depends-on): Update.
10055         * modules/sys_stat (Depends-on): Update.
10056         * modules/sys_time (Depends-on): Update.
10057         * modules/sys_times (Depends-on): Update.
10058         * modules/sys_utsname (Depends-on): Update.
10059         * modules/sys_wait (Depends-on): Update.
10060         * modules/termios (Depends-on): Update.
10061         * modules/time (Depends-on): Update.
10062         * modules/unistd (Depends-on): Update.
10063         * modules/wchar (Depends-on): Update.
10064         * modules/wctype-h (Depends-on): Update.
10065         * MODULES.html.sh (Support for building libraries and executables):
10066         Update.
10067
10068         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
10069         * modules/snippet/unused-parameter: Renamed from
10070         modules/unused-parameter.
10071         (Files, Makefile.am): Update.
10072         * build-aux/snippet/unused-parameter.h: Renamed from
10073         build-aux/unused-parameter.h.
10074         * modules/selinux-h (Depends-on): Update.
10075         * modules/unistr/base (Depends-on): Update.
10076         * MODULES.html.sh (Core language properties): Update.
10077
10078         Rename module 'link-warning' to 'snippet/link-warning'.
10079         * modules/snippet/link-warning: Renamed from modules/link-warning.
10080         (Files, Makefile.am): Update.
10081         * build-aux/snippet/link-warning.h: Renamed from
10082         build-aux/link-warning.h.
10083         * MODULES.html.sh (Support for building libraries and executables):
10084         Update.
10085
10086         Rename module 'c++defs' to 'snippet/c++defs'.
10087         * modules/snippet/c++defs: Renamed from modules/c++defs.
10088         (Files, Makefile.am): Update.
10089         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
10090         * modules/arpa_inet (Depends-on): Update.
10091         * modules/ctype (Depends-on): Update.
10092         * modules/dirent (Depends-on): Update.
10093         * modules/fcntl-h (Depends-on): Update.
10094         * modules/glob (Depends-on): Update.
10095         * modules/iconv-h (Depends-on): Update.
10096         * modules/langinfo (Depends-on): Update.
10097         * modules/locale (Depends-on): Update.
10098         * modules/math (Depends-on): Update.
10099         * modules/netdb (Depends-on): Update.
10100         * modules/poll-h (Depends-on): Update.
10101         * modules/pty (Depends-on): Update.
10102         * modules/search (Depends-on): Update.
10103         * modules/signal (Depends-on): Update.
10104         * modules/spawn (Depends-on): Update.
10105         * modules/stdio (Depends-on): Update.
10106         * modules/stdlib (Depends-on): Update.
10107         * modules/string (Depends-on): Update.
10108         * modules/strings (Depends-on): Update.
10109         * modules/sys_ioctl (Depends-on): Update.
10110         * modules/sys_select (Depends-on): Update.
10111         * modules/sys_socket (Depends-on): Update.
10112         * modules/sys_stat (Depends-on): Update.
10113         * modules/sys_time (Depends-on): Update.
10114         * modules/sys_wait (Depends-on): Update.
10115         * modules/termios (Depends-on): Update.
10116         * modules/time (Depends-on): Update.
10117         * modules/unistd (Depends-on): Update.
10118         * modules/wchar (Depends-on): Update.
10119         * modules/wctype-h (Depends-on): Update.
10120
10121         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
10122         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
10123         (Files, Makefile.am): Update.
10124         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
10125         * modules/argv-iter (Depends-on): Update.
10126         * modules/arpa_inet (Depends-on): Update.
10127         * modules/dirent (Depends-on): Update.
10128         * modules/fcntl-h (Depends-on): Update.
10129         * modules/fnmatch (Depends-on): Update.
10130         * modules/getopt-posix (Depends-on): Update.
10131         * modules/glob (Depends-on): Update.
10132         * modules/iconv-h (Depends-on): Update.
10133         * modules/inttypes-incomplete (Depends-on): Update.
10134         * modules/locale (Depends-on): Update.
10135         * modules/math (Depends-on): Update.
10136         * modules/netdb (Depends-on): Update.
10137         * modules/search (Depends-on): Update.
10138         * modules/signal (Depends-on): Update.
10139         * modules/spawn (Depends-on): Update.
10140         * modules/stdio (Depends-on): Update.
10141         * modules/stdlib (Depends-on): Update.
10142         * modules/string (Depends-on): Update.
10143         * modules/strings (Depends-on): Update.
10144         * modules/sys_socket (Depends-on): Update.
10145         * modules/sys_stat (Depends-on): Update.
10146         * modules/sys_time (Depends-on): Update.
10147         * modules/sys_times (Depends-on): Update.
10148         * modules/sys_utsname (Depends-on): Update.
10149         * modules/time (Depends-on): Update.
10150         * modules/unistd (Depends-on): Update.
10151         * modules/wchar (Depends-on): Update.
10152         * MODULES.html.sh (Support for building libraries and executables):
10153         Update.
10154
10155 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10156
10157         Improvements on _Noreturn and related modules.
10158
10159         modules/_Exit-tests: test _Noreturn too
10160         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
10161         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
10162         (main): Use them.
10163
10164         stdnoreturn, stdnoreturn-tests: remove modules
10165         They're not needed here and a bit premature for use elsewhere.  See
10166         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
10167         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
10168         * tests/test-stdnoreturn.c: Remove files.
10169         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
10170         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
10171         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
10172         and using noreturn.
10173         * modules/openat, modules/sigpipe-die, modules/xalloc:
10174         * modules/xmemdup0, modules/xstrtol:
10175         Remove dependency on stdnoreturn.
10176
10177         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
10178         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
10179         Reparenthesize to avoid GCC warning.
10180         Support Microsoft's syntax.
10181         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
10182
10183         _Noreturn-tests: remove module
10184         * modules/_Noreturn-tests: Remove.
10185         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
10186         * tests/test-_Noreturn.c: Remove.
10187         * tests/test-stdnoreturn.c: Merge from the old
10188         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
10189
10190 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10191
10192         _Noreturn, stdnoreturn, and related modules.
10193
10194         * top/maint.mk: Adjust to new noreturn support.
10195         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
10196         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
10197
10198         xalloc: use stdnoreturn.h
10199         * lib/xalloc.h: Include <stdnoreturn.h>.
10200         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10201         * modules/xalloc (Depends-on): Add stdnoreturn.
10202
10203         xstrtol: use stdnoreturn.h
10204         * lib/xstrtol.h: Include <stdnoreturn.h>.
10205         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10206         * modules/xstrtol (Depends-on): Add stdnoreturn.
10207
10208         xmemdup0: use stdnoreturn.h
10209         * lib/xmemdup0.h: Include <stdnoreturn.h>.
10210         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10211         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
10212
10213         sigpipe-die: use stdnoreturn.h
10214         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
10215         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10216         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
10217
10218         openat: use stdnoreturn.h
10219         * lib/openat.h: Include <stdnoreturn.h>.
10220         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10221         * modules/openat (Depends-on): Add stdnoreturn.
10222
10223         * lib/openat-die.c (openat_save_fail): Modernize comment.
10224
10225         * lib/xalloc-die.c (xalloc_die): Modernize comment.
10226
10227         * lib/glthread/thread.h: Modernize comment.
10228
10229         obstack: use _Noreturn
10230         * lib/obstack.c (__attribute__): Remove macro.
10231         (print_and_abort): Use _Noreturn.
10232
10233         c-stack: use _Noreturn
10234         * lib/c-stack.c (die, overflow_handler, segv_handler):
10235         Use _Noreturn rather than __attribute__((noreturn)).
10236
10237         argmatch-tests, exclude_tests: use _Noreturn
10238         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
10239         Remove.
10240         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
10241
10242         stdlib: use _Noreturn
10243         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
10244         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
10245         * modules/stdlib (Depends-on): Add _Noreturn.
10246         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
10247
10248         stdnoreturn-tests: new module
10249         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
10250
10251         stdnoreturn: new module
10252         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
10253         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
10254
10255         _Noreturn-tests: new module
10256         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
10257
10258         _Noreturn: new module
10259         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
10260         New section, mentioning it.
10261         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
10262
10263         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
10264
10265 2011-07-11  Eric Blake  <eblake@redhat.com>
10266
10267         ffs: new module
10268         * modules/ffs: New file.
10269         * m4/ffs.m4: Likewise.
10270         * lib/ffs.c: Likewise.
10271         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
10272         * modules/strings (Makefile.am): Substitute witness.
10273         (Depends-on): Add c++defs.
10274         * lib/strings.in.h (ffs): Declare.
10275         * modules/ffs-tests: New test file.
10276         * tests/test-ffs.c: Test new module.
10277         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10278         * doc/posix-functions/ffs.texi (ffs): Likewise.
10279
10280         regex: avoid compiler warning
10281         * lib/regex.c (includes): Include <strings.h>, for use of
10282         strcasecmp in regcomp.c.
10283         Reported by Joachim Schmitz.
10284
10285 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10286
10287         stdint: respect system's intmax_t if INTMAX_MAX
10288         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
10289         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
10290         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
10291         long but int64_t is long long, and where we will clash with the
10292         system intmax_t if we override it.  See
10293         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
10294         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
10295         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
10296         similarly for UINTMAX_C.
10297
10298 2011-07-08  Bruno Haible  <bruno@clisp.org>
10299
10300         pthread_sigmask tests: Avoid a compiler warning.
10301         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
10302         non-zero.
10303
10304         sigprocmask tests: A better way to avoid a compiler warning.
10305         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
10306         (main): Complain if system() returns non-zero.
10307         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
10308
10309 2011-07-08  Bruno Haible  <bruno@clisp.org>
10310
10311         pthread_sigmask: Work around IRIX bug.
10312         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
10313         bug.
10314         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
10315         there may be unblocked pending signals.
10316         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
10317
10318 2011-07-08  Bruno Haible  <bruno@clisp.org>
10319
10320         pthread_sigmask: Work around Cygwin bug.
10321         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
10322         bug.
10323         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
10324         the system's pthread_sigmask function.
10325         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
10326
10327 2011-07-08  Bruno Haible  <bruno@clisp.org>
10328
10329         pthread_sigmask: Work around bug in single-threaded implementation.
10330         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
10331         FreeBSD, HP-UX, Solaris bug.
10332         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
10333         * lib/pthread_sigmask.c: Include <stddef.h>.
10334         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
10335         the system's pthread_sigmask function.
10336         * modules/pthread_sigmask (configure.ac): Invoke
10337         gl_PREREQ_PTHREAD_SIGMASK.
10338         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
10339         HP-UX, Solaris.
10340
10341 2011-07-08  Eric Blake  <eblake@redhat.com>
10342
10343         test-sigprocmask: avoid compiler warning
10344         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
10345         * tests/test-sigprocmask.c (main): Use it to silence warning.
10346         Reported by Jim Meyering.
10347
10348         test-snprintf: avoid compiler warning
10349         * tests/test-snprintf.c (main): Avoid shadowed declaration.
10350         * tests/test-vsnprintf.c (main): Likewise.
10351         Reported by Jim Meyering.
10352
10353 2011-07-08  Bruno Haible  <bruno@clisp.org>
10354
10355         Tests for module 'pthread_sigmask'.
10356         * modules/pthread_sigmask-tests: New file.
10357         * tests/test-pthread_sigmask1.c: New file, based on
10358         tests/test-sigprocmask.c.
10359         * tests/test-pthread_sigmask2.c: New file.
10360
10361 2011-07-08  Jim Meyering  <meyering@redhat.com>
10362
10363         test-getopt.h: avoid warning about an unused variable
10364         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
10365
10366 2011-07-07  Jim Meyering  <meyering@redhat.com>
10367
10368         maint: reduce list of files exempt from sc_prohibit_leading_TABs
10369         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
10370         now that it no longer contains leading TABs.
10371         Remove unused "url=FIXME" statement.
10372
10373 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10374
10375         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
10376         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10377         When gl_THREADLIB is not in use, assume that the POSIX sematics
10378         are desired.  This is better for Emacs, which uses POSIX semantics
10379         on GNUish and/or POSIXish platforms, and does not use threads at
10380         all otherwise.
10381
10382         pthread_sigmask: fix typo when testing for libraries
10383         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10384         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
10385
10386 2011-07-08  Eric Blake  <eblake@redhat.com>
10387
10388         fts: introduce FTS_NOATIME
10389         * lib/fts_.h (FTS_NOATIME): New bit flag.
10390         (FTS_OPTIONMASK): Adjust.
10391         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
10392         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
10393
10394 2011-07-08  Bruno Haible  <bruno@clisp.org>
10395
10396         Tests for module 'thread'.
10397         * modules/thread-tests: New file.
10398         * tests/test-thread_self.c: New file.
10399         * tests/test-thread_create.cc: New file.
10400
10401 2011-07-08  Bruno Haible  <bruno@clisp.org>
10402
10403         thread: Avoid gcc warnings when using gl_thread_self().
10404         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
10405         'void *'.
10406         (gl_thread_self_pointer): Update.
10407
10408 2011-07-07  Bruno Haible  <bruno@clisp.org>
10409
10410         signal-c++-tests: Check declaration of pthread_sigmask.
10411         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
10412         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
10413         $(LIB_PTHREAD_SIGMASK).
10414
10415 2011-07-07  Bruno Haible  <bruno@clisp.org>
10416
10417         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
10418         * lib/signal.in.h (pthread_sigmask): Override if
10419         REPLACE_PTHREAD_SIGMASK is 1.
10420         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10421         REPLACE_PTHREAD_SIGMASK.
10422         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
10423         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
10424         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
10425         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10426         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
10427
10428 2011-07-07  Bruno Haible  <bruno@clisp.org>
10429
10430         pthread_sigmask: Ensure declaration in <signal.h>.
10431         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
10432         include <pthread.h>.
10433         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
10434         problem.
10435
10436 2011-07-07  Bruno Haible  <bruno@clisp.org>
10437
10438         pthread_sigmask: Document the module.
10439         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
10440
10441 2011-07-07  Bruno Haible  <bruno@clisp.org>
10442
10443         pthread_sigmask: Follow gnulib conventions.
10444         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
10445         gl_PTHREAD_SIGMASK.
10446         * modules/pthread_sigmask (configure.ac): Update.
10447
10448 2011-07-07  Bruno Haible  <bruno@clisp.org>
10449
10450         pthread_sigmask: Make declaration C++ safe.
10451         * lib/signal.in.h: In two special conditions, just do an #include_next.
10452         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10453         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
10454         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10455         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10456         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
10457         not REPLACE_PTHREAD_MASK.
10458         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
10459         not REPLACE_PTHREAD_MASK.
10460         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10461
10462 2011-07-07  Bruno Haible  <bruno@clisp.org>
10463
10464         pthread_sigmask: Fix return value.
10465         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
10466         * lib/pthread_sigmask.c: New file.
10467         * modules/pthread_sigmask (Files): Add it.
10468         (configure.ac): Invoke AC_LIBOBJ.
10469
10470 2011-07-07  Eric Blake  <eblake@redhat.com>
10471
10472         getopt: more portable argv creation
10473         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
10474         const, use char arrays rather than strings.
10475         Suggested by Paul Eggert.
10476
10477 2011-07-07  Bruno Haible  <bruno@clisp.org>
10478
10479         Tests for module 'sigprocmask'.
10480         * modules/sigprocmask-tests: New file.
10481         * tests/test-sigprocmask.c: New file.
10482
10483 2011-07-07  Bruno Haible  <bruno@clisp.org>
10484
10485         float tests: Tweak.
10486         * tests/test-float.c (main): Tweak skip message.
10487
10488 2011-07-07  Eric Blake  <eblake@redhat.com>
10489
10490         getopt: avoid compiler warning during configure
10491         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
10492         assigning string literals to non-const pointer.
10493
10494         getopt-gnu: avoid crash in glibc getopt
10495         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
10496         * tests/test-getopt.h (test_getopt): Enhance test.
10497         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10498         * doc/posix-functions/getopt.texi (getopt): Document it.
10499         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10500         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10501         Likewise.
10502
10503 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
10504
10505         getopt: handle W; without long options in getopt [BZ #12922]
10506         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
10507         but no long options are defined, just return 'W'.
10508
10509 2011-07-07  Bruno Haible  <bruno@clisp.org>
10510
10511         Avoid literal tabs.
10512         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
10513         variable containing a tab instead of a literal tab.
10514         Reported by Jim Meyering.
10515
10516 2011-07-07  Bruno Haible  <bruno@clisp.org>
10517
10518         Comments.
10519         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
10520
10521 2011-07-06  Bruno Haible  <bruno@clisp.org>
10522
10523         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
10524         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
10525         <winsock2.h>.
10526         (rpl_fd_isset, FD_ISSET): New definitions, copied from
10527         lib/sys_socket.in.h.
10528         (close, gethostname): Hide declarations from <winsock2.h>.
10529         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10530         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
10531         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
10532         (select): Don't override if gnulib's <sys/select.h> was already
10533         included.
10534         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10535         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10536         setsockopt, shutdown, select): Tweak indentation.
10537
10538 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10539
10540         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
10541         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
10542         in an application that does not use the sys_select module.
10543
10544 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
10545
10546         poll: do not return 0 on timeout=-1
10547         * lib/poll.c: Loop with yield if no events occured
10548
10549 2011-07-06  Eric Blake  <eblake@redhat.com>
10550
10551         pthread_sigmask: always replace when not using pthread
10552         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
10553         replacement when using some threading other than pthread.  Fix
10554         logic bug.
10555
10556 2011-07-06  Bruno Haible  <bruno@clisp.org>
10557
10558         Comments.
10559         * m4/printf.m4: Update comments about mingw.
10560
10561 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10562
10563         sys_select: define sigset_t more portably
10564         * lib/sys_select.in.h: Always include <sys/types.h>, since
10565         we now need sigset_t and mingw defines it there.
10566         Include <signal.h> before split inclusion guard, to avoid
10567         mishaps on Solaris, whose <signal.h> eventually includes us.
10568         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
10569         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
10570         which come from ...
10571         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10572         gl_CHECK_TYPE_SIGSET_T.
10573         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
10574         does the real work.
10575         * modules/sys_select (Depends-on): Add 'signal'.
10576
10577         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
10578         Suggested by Bruno Haible.
10579
10580         pselect: Use pthread_sigmask, not sigprocmask.
10581         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
10582         multithreaded apps better than sigprocmask does.
10583         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10584         sigprocmask directly.
10585
10586 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10587
10588         * lib/pselect.c (pselect): Use plain name, without "rpl_".
10589         Don't #undef,  since we don't need any underlying pselect.
10590         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
10591         (Depends-on): Add select.
10592         (Link): Add $(LIBSOCKET).
10593         These changes suggested by Bruno Haible.
10594
10595         pselect: document better
10596         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10597         * doc/posix-functions/pselect.texi (pselect): Document new module.
10598
10599         pthread_sigmask: new module
10600         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10601         * doc/posix-functions/pthread_sigmask.texi: Document new module.
10602         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
10603         This is done only as a macro; I don't know how well that'll
10604         work for C++.  Move <sys/types.h> include before the include_next,
10605         to avoid mishap on Solaris.
10606         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
10607         * modules/signal (Makefile.am): Substitute the check's results.
10608         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
10609
10610         test-pselect: new module
10611         * modules/pselect-tests, tests/test-pselect.c: New files.
10612         * tests/test-select.c, tests/test-sys_select-c++.cc:
10613         If TEST_PSELECT is defined, test pselect instead of testing select.
10614
10615         * tests/test-sys_select.c (sigset_t): Test for it, too.
10616         Suggested by Bruno Haible.
10617
10618 2011-07-05  Eric Blake  <eblake@redhat.com>
10619
10620         snprintf: guarantee %1$d, for libintl
10621         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
10622         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
10623         * doc/posix-functions/snprintf.texi (snprintf): Update.
10624         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10625         * tests/test-snprintf.c (main): Enhance test.
10626         * tests/test-vsnprintf.c (main): Likewise.
10627
10628 2011-07-05  Jim Meyering  <meyering@redhat.com>
10629
10630         maint: exempt stdio-read.c and stdio-write.c from the cppi check
10631         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
10632         per Bruno's request, to accommodate this idiom (no space after "#")
10633         even when the function is inside an #if block:
10634         char *
10635         gets (char *s)
10636         #undef gets
10637         {
10638           ...
10639         }
10640
10641 2011-07-04  Jim Meyering  <meyering@redhat.com>
10642
10643         maint: indent with spaces, not TABs, and add a rule to check this
10644         * tests/test-userspec.c: Indent with spaces, not TABs.
10645         * tests/test-argp.c: Likewise.
10646         * tests/test-c-stack2.sh: Likewise.
10647         * tests/test-parse-duration.sh: Likewise
10648         * m4/strtod.m4: Likewise.
10649         * m4/alloca.m4: Likewise.
10650         * m4/pselect.m4: Likewise.
10651         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
10652
10653 2011-07-03  Jim Meyering  <meyering@redhat.com>
10654
10655         maint.mk: correct omissions in prohibit_argmatch_without_use check
10656         This rule would mistakenly report that argmatch.h is included without
10657         use even when both the argmatch and invalid_arg macro were used.
10658         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
10659         of argmatch and invalid_arg.
10660
10661 2011-07-03  Bruno Haible  <bruno@clisp.org>
10662
10663         Comments about EINTR.
10664         * lib/safe-read.h: Explain the purpose of this module.
10665         * lib/safe-write.h: Likewise.
10666         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
10667         module.
10668         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
10669         module.
10670         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10671
10672 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10673
10674         xnanosleep: Rewrite to use new dtotimespec module.
10675         It has the conversion code that used to be in xnanosleep.
10676         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
10677         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
10678         (TIME_T_MAX): Remove.
10679         (xnanosleep): Rewrite in terms of dtotimespec.
10680         * modules/xnanosleep (Depends-on): Add dtotimespec.
10681         Remove intprops, stdbool.
10682
10683         timespec-add, timespec-sub: new modules
10684         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10685         * lib/timespec-add.c, lib/timespec-sub.c:
10686         * modules/timespec-add, modules/timespec-sub: New files.
10687
10688         dtotimespec: new module
10689         * lib/timespec.h (dtotimespec): New decl.
10690         * lib/dtotimespec.c, modules/dtotimespec: New files.
10691
10692         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10693
10694         pselect: new module
10695         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10696         (pselect): New decls.
10697         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10698         since the standard pselect decl uses 'restrict'.
10699         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10700         HAVE_PSELECT, REPLACE_PSELECT.
10701         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10702         HAVE_PSELECT, REPLACE_PSELECT.
10703         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10704
10705         sys_select: don't depend on sys_socket
10706         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10707         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10708         This fix works on GNU and GNU-like platforms, but has not been tested
10709         on native Windows.
10710         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10711         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10712         gl_HEADER_SYS_SOCKET.
10713         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10714         gl_PREREQ_SYS_H_WINSOCK2.
10715
10716 2011-06-29  Eric Blake  <eblake@redhat.com>
10717
10718         pipe2: fix C89 compile problem
10719         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10720         Reported by Bruno Haible.
10721
10722         pipe, pipe2: don't corrupt fd on error
10723         * lib/pipe.c (pipe): Leave fd unchanged on error.
10724         * lib/pipe2.c (pipe2): Likewise.
10725         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10726         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10727
10728 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10729
10730         mmap-anon: do not use regular expressions inadvertently
10731         * m4/mmap-anon.m4: Remove trailing period from strings sought
10732         in the output.
10733
10734 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10735
10736         nanosleep: fix integer overflow problem
10737         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10738         arithmetic wraps around on overflow.
10739
10740         nanosleep: simplify carrying
10741         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10742         first call to the underyling nanosleep, not for the last one.
10743         This doesn't fix any bugs, but it simplifies the computation of
10744         the remaining delay.  Found while auditing integer overflow issues.
10745
10746         dup2: remove test for existence of fcntl
10747         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10748         "#if HAVE_FCNTL", in the configure-time test program.
10749         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10750         and therefore speeds up "configure" a bit.  Found while
10751         adding the dup2 module to Emacs.
10752
10753 2011-06-24  Eric Blake  <eblake@redhat.com>
10754
10755         maint.mk: enhance useless header checks
10756         * top/maint.mk (_sc_header_without_use): Check both include
10757         styles.
10758         (sc_prohibit_assert_without_use)
10759         (sc_prohibit_close_stream_without_use)
10760         (sc_prohibit_getopt_without_use)
10761         (sc_prohibit_quotearg_without_use)
10762         (sc_prohibit_quote_without_use)
10763         (sc_prohibit_long_options_without_use)
10764         (sc_prohibit_inttostr_without_use)
10765         (sc_prohibit_ignore_value_without_use)
10766         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10767         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10768         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10769         (sc_prohibit_hash_pjw_without_use)
10770         (sc_prohibit_safe_read_without_use)
10771         (sc_prohibit_argmatch_without_use)
10772         (sc_prohibit_canonicalize_without_use)
10773         (sc_prohibit_root_dev_ino_without_use)
10774         (sc_prohibit_openat_without_use)
10775         (sc_prohibit_c_ctype_without_use)
10776         (sc_prohibit_signal_without_use)
10777         (sc_prohibit_stdio--_without_use)
10778         (sc_prohibit_stdio-safer_without_use)
10779         (sc_prohibit_strings_without_use)
10780         (sc_prohibit_intprops_without_use)
10781         (sc_prohibit_stddef_without_use)
10782         (sc_prohibit_xfreopen_without_use): Update clients.
10783
10784 2011-06-24  Jim Meyering  <meyering@redhat.com>
10785
10786         syntax-check: keep one maint.mk rule in sync with its header
10787         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10788         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10789         I prefer to avoid temporary files here, so use <(...), but that
10790         is not supported by /bin/sh, so...
10791         (SHELL): Define to /bin/bash.
10792
10793 2011-06-24  Eric Blake  <eblake@redhat.com>
10794
10795         maint.mk: update sc_prohibit_intprops_without_use
10796         * top/maint.mk (_intprops_names): Match recent changes.
10797
10798 2011-06-24  Bruno Haible  <bruno@clisp.org>
10799
10800         strerror-override: No-op tweak.
10801         * lib/strerror-override.h (strerror_override): Reorder conditions,
10802         for consistency with lib/strerror-override.c.
10803
10804 2011-06-23  Eric Blake  <eblake@redhat.com>
10805
10806         maint.mk: test further PATH_MAX issues
10807         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10808         (sc_prohibit_path_max_allocation): ...and also test alloca.
10809         Suggested by Jim Meyering.
10810
10811 2011-06-22  Eric Blake  <eblake@redhat.com>
10812
10813         maint.mk: add syntax-check to avoid char[PATH_MAX]
10814         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10815
10816         stat: be robust to PATH_MAX definition
10817         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10818         * modules/stat (Depends-on): Add verify.
10819
10820         link: work around IRIX bug
10821         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
10822         * lib/link.c (rpl_link): Work around it.
10823         * tests/test-link.h (test_link): Enhance test.
10824         * doc/posix-functions/link.texi (link): Document the bug.
10825
10826         getopt: silence clang warning
10827         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
10828         dereference.
10829         Reported by Gustavo Martin Domato.
10830
10831 2011-06-22  Jim Meyering  <meyering@redhat.com>
10832
10833         bootstrap: do not insert a blank line into each .gitignore file
10834         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
10835
10836 2011-06-21  Eric Blake  <eblake@redhat.com>
10837
10838         perror: test for output mismatch
10839         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
10840         perror on IRIX.
10841
10842         strerror_r: fix OpenBSD behavior on out-of-range
10843         * lib/strerror_r.c (strerror_r): Always use maximal string.
10844         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10845
10846         strerror_r: fix OpenBSD behavior on 0
10847         * lib/strerror-override.c (strerror_override): Also override 0
10848         when needed.
10849         * lib/strerror-override.h (strerror_override): Likewise.
10850         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10851         earlier.
10852         * lib/strerror_r.c (strerror_r): Likewise.
10853         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10854         behavior...
10855         (gl_FUNC_STRERROR_0): ...into new macro.
10856         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10857         is overridden.
10858         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10859         * modules/strerror-override (Files): Add strerror.m4.
10860         (configure.ac): Also provide override for 0 when needed.
10861         * doc/posix-functions/strerror.texi (strerror): Document this.
10862         * doc/posix-functions/perror.texi (perror): Likewise.
10863
10864         perror: adjust array size
10865         * modules/perror (Depends-on): Add strerror-override.
10866         * lib/perror.c (perror): Use it to avoid magic number.
10867
10868         strerror-override: reduce size
10869         * lib/strerror-override.c (strerror_override): Use fewer lines.
10870
10871 2011-06-20  Bruno Haible  <bruno@clisp.org>
10872
10873         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10874         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10875
10876 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10877
10878         alloca: port to compilers that can optimize like GCC 4.6.0
10879         * lib/alloca.c (find_stack_direction): New signature, taken from
10880         Autoconf git.  This works with GCC 4.6.0.  This code should never
10881         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10882         be used with other compilers that optimize as well as GCC 4.6.0 does.
10883         (alloca): Adjust to new signature.
10884         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10885         New macro, which patches Autoconf in a similar way.
10886
10887         c-stack: stop worrying about stack direction
10888         * lib/c-stack.c (find_stack_direction): Remove.
10889         (segv_handler): Don't worry about stack direction growth, as it's
10890         too much of a pain to configure this correctly, given how compilers
10891         are optimizing-away our stack-growth detection code.  Instead, assume
10892         that any access to just before or just after the stack is OK.
10893         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10894         Don't require AC_FUNC_ALLOCA; no longer needed.
10895
10896 2011-06-20  Eric Blake  <eblake@redhat.com>
10897
10898         test-stat: don't allocate PATH_MAX bytes
10899         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10900         PATH_MAX-sized buffer.
10901         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10902         * modules/stat-tests (Depends-on): Likewise.
10903         * tests/test-fstatat.c (includes): Drop pathmax.h.
10904         * tests/test-stat.c (includes): Likewise.
10905         Reported by Bruno Haible.
10906
10907 2011-06-20  Bruno Haible  <bruno@clisp.org>
10908
10909         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10910         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10911         * lib/float.c: New file.
10912         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10913         REPLACE_FLOAT_LDBL.
10914         * modules/float (Files): Add lib/float.c.
10915         (configure.ac): Invoke AC_LIBOBJ.
10916         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10917
10918 2011-06-20  Bruno Haible  <bruno@clisp.org>
10919
10920         Tests for module 'float'.
10921         * modules/float-tests: New file.
10922         * tests/test-float.c: New file.
10923
10924 2011-06-19  Bruno Haible  <bruno@clisp.org>
10925
10926         isinf: Coding style.
10927         * lib/isinf.c: Use GNU coding style.
10928
10929 2011-06-19  Bruno Haible  <bruno@clisp.org>
10930
10931         linkat test: Avoid test failure on AIX 7.1.
10932         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10933         * tests/test-link.h (test_link): Likewise.
10934
10935 2011-06-19  Bruno Haible  <bruno@clisp.org>
10936
10937         pread test: Avoid test failure on OpenBSD 4.9.
10938         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10939
10940 2011-06-19  Bruno Haible  <bruno@clisp.org>
10941
10942         sprintf-posix: Fix test failure on AIX 7.1.
10943         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10944         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10945         on AIX.
10946         * doc/posix-functions/fprintf.texi: Likewise.
10947         * doc/posix-functions/printf.texi: Likewise.
10948         * doc/posix-functions/snprintf.texi: Likewise.
10949         * doc/posix-functions/sprintf.texi: Likewise.
10950         * doc/posix-functions/vdprintf.texi: Likewise.
10951         * doc/posix-functions/vfprintf.texi: Likewise.
10952         * doc/posix-functions/vprintf.texi: Likewise.
10953         * doc/posix-functions/vsnprintf.texi: Likewise.
10954         * doc/posix-functions/vsprintf.texi: Likewise.
10955
10956 2011-06-19  Bruno Haible  <bruno@clisp.org>
10957
10958         roundl-ieee: Fix test failure on AIX 7.1.
10959         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
10960         * doc/posix-functions/roundl.texi: Mention problem with negative
10961         arguments.
10962
10963 2011-06-19  Bruno Haible  <bruno@clisp.org>
10964
10965         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10966         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
10967         * doc/posix-functions/round.texi: Mention problem with negative
10968         arguments.
10969         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
10970
10971 2011-06-19  Bruno Haible  <bruno@clisp.org>
10972
10973         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10974         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
10975         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
10976         * doc/posix-functions/roundf.texi: Mention problem with negative
10977         arguments.
10978         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
10979
10980 2011-06-19  Bruno Haible  <bruno@clisp.org>
10981
10982         ceilf-ieee: Work around bug on MacOS X 10.5.
10983         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
10984
10985         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
10986         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
10987         IEEE compliant, avoid compiler optimizations.
10988         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
10989         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10990         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
10991         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10992         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10993         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10994         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10995         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10996         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10997         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10998
10999 2011-06-19  Bruno Haible  <bruno@clisp.org>
11000
11001         ceilf-ieee: Work around bug on AIX 7.1.
11002         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
11003         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
11004
11005 2011-06-19  Bruno Haible  <bruno@clisp.org>
11006
11007         ceil-ieee: Work around bug on AIX 7.1.
11008         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
11009         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
11010
11011 2011-06-18  Bruno Haible  <bruno@clisp.org>
11012
11013         fsync test: Avoid test failure on MacOS X and AIX.
11014         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
11015         EINVAL.
11016
11017 2011-06-18  Bruno Haible  <bruno@clisp.org>
11018
11019         openat, fdopendir tests: Fix link errors.
11020         * modules/openat-tests (Depends-on): Add progname.
11021         * modules/fdopendir-tests (Depends-on): Likewise.
11022         * tests/test-fchownat.c: Include progname.h.
11023         (main): Call set_program_name.
11024         * tests/test-fstatat.c: Include progname.h.
11025         (main): Call set_program_name.
11026         * tests/test-mkdirat.c: Include progname.h.
11027         (main): Call set_program_name.
11028         * tests/test-openat.c: Include progname.h.
11029         (main): Call set_program_name.
11030         * tests/test-unlinkat.c: Include progname.h.
11031         (main): Call set_program_name.
11032         * tests/test-fdopendir.c: Include progname.h.
11033         (main): Call set_program_name.
11034
11035 2011-06-18  Bruno Haible  <bruno@clisp.org>
11036
11037         Doc update.
11038         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
11039         HP-UX.
11040         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
11041
11042 2011-06-18  Bruno Haible  <bruno@clisp.org>
11043
11044         getcwd tests: Avoid compilation error on HP-UX 11.31.
11045         * modules/getcwd-tests (Depends-on): Add pathmax.
11046         * tests/test-getcwd.c: Include pathmax.h.
11047
11048 2011-06-18  Bruno Haible  <bruno@clisp.org>
11049
11050         isfinite, isinf: Fix link error on AIX 6 and 7.
11051         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
11052         needed, also test the macro with a 'float' argument.
11053         * m4/isinf.m4 (gl_ISINF): Likewise.
11054
11055 2011-06-18  Bruno Haible  <bruno@clisp.org>
11056
11057         getloadavg: Don't clobber LIBS. Regression from previous commit.
11058         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
11059         AC_CHECK_LIB from here...
11060         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
11061         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
11062         gl_func_getloadavg_done.
11063         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11064
11065 2011-06-18  Bruno Haible  <bruno@clisp.org>
11066
11067         clean-temp: Improve documentation.
11068         * lib/clean-temp.h: Explain better how to use this module.
11069         Reported by John Darrington <john@darrington.wattle.id.au>.
11070
11071 2011-06-17  Bruno Haible  <bruno@clisp.org>
11072
11073         pread, pwrite: Avoid cc warning on AIX.
11074         * lib/unistd.in.h (pread): Undefine before defining as a macro.
11075         (pwrite): Likewise.
11076
11077 2011-06-17  Bruno Haible  <bruno@clisp.org>
11078
11079         spawn-pipe tests: Fix link error.
11080         * tests/test-spawn-pipe-child.c: Undefine fprintf.
11081         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11082
11083 2011-06-17  Bruno Haible  <bruno@clisp.org>
11084
11085         Tests: Remove unnecessary dependency.
11086         * modules/canonicalize-tests (Depends-on): Remove progname.
11087         * modules/chown-tests (Depends-on): Likewise.
11088         * modules/dirname-tests (Depends-on): Likewise.
11089         * modules/fdopendir-tests (Depends-on): Likewise.
11090         * modules/fdutimensat-tests (Depends-on): Likewise.
11091         * modules/hash-tests (Depends-on): Likewise.
11092         * modules/lchown-tests (Depends-on): Likewise.
11093         * modules/linkat-tests (Depends-on): Likewise.
11094         * modules/renameat-tests (Depends-on): Likewise.
11095         * modules/spawn-pipe-tests (Depends-on): Likewise.
11096         * modules/utimensat-tests (Depends-on): Likewise.
11097
11098 2011-06-17  Bruno Haible  <bruno@clisp.org>
11099
11100         spawn-pipe tests: Fix link error.
11101         * tests/test-spawn-pipe-child.c: Undefine fflush.
11102
11103 2011-06-17  Bruno Haible  <bruno@clisp.org>
11104
11105         Fix tests link errors.
11106         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
11107         * modules/chown-tests (Makefile.am): Don't link test-chown with
11108         LIBINTL.
11109         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
11110         LIBINTL.
11111         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
11112         LIBINTL.
11113         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
11114         LIBINTL.
11115
11116 2011-06-16  Bruno Haible  <bruno@clisp.org>
11117
11118         crypto/gc-sha1: Fix recent regression.
11119         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
11120         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
11121
11122         crypto/gc-md5: Fix recent regression.
11123         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
11124
11125         crypto/gc-md4: Fix recent regression.
11126         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
11127         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
11128
11129         crypto/gc-arctwo: Fix recent regression.
11130         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
11131         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
11132
11133         crypto/gc-rijndael: Fix recent regression.
11134         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
11135         (configure.ac): Invoke AC_LIBOBJ here.
11136         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
11137         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11138
11139         crypto/gc-hmac-sha1: Fix recent regression.
11140         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
11141         (configure.ac): Invoke AC_LIBOBJ here.
11142         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
11143         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11144
11145         crypto/gc-hmac-md5: Fix recent regression.
11146         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
11147         (configure.ac): Invoke AC_LIBOBJ here.
11148         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
11149         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11150
11151         crypto/gc-des: Fix recent regression.
11152         * modules/crypto/gc-des (Files): Remove m4/des.m4.
11153         (configure.ac): Invoke AC_LIBOBJ here.
11154         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
11155         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11156
11157         crypto/gc-arcfour: Fix recent regression.
11158         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
11159         (configure.ac): Invoke AC_LIBOBJ here.
11160         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
11161         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11162
11163 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
11164
11165         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
11166         After the 2011-05-21 change, this macro requires
11167         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
11168         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11169
11170 2011-06-16  Bruno Haible  <bruno@clisp.org>
11171
11172         fprintftime: Move AC_LIBOBJ invocations to module description.
11173         * m4/fprintftime.m4: Remove file.
11174         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
11175         (configure.ac): Remove gl_FPRINTFTIME call.
11176         (Makefile.am): Augment lib_SOURCES.
11177         Reported by Jim Meyering.
11178
11179 2011-06-16  Bruno Haible  <bruno@clisp.org>
11180
11181         tmpfile-safer: Finish 2011-05-23 commit.
11182         * m4/stdio-safer.m4: Really remove file.
11183         Reported by Jim Meyering.
11184
11185 2011-06-16  Bruno Haible  <bruno@clisp.org>
11186
11187         syntax-check: Fix typo.
11188         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
11189         printf-posix.m4.
11190         Reported by Jim Meyering.
11191
11192 2011-06-13  Jim Meyering  <meyering@redhat.com>
11193
11194         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
11195         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
11196
11197 2011-05-23  Bruno Haible  <bruno@clisp.org>
11198
11199         yesno: Move AC_LIBOBJ invocations to module description.
11200         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
11201         * modules/yesno (Makefile.am): Augment lib_SOURCES.
11202
11203 2011-05-23  Bruno Haible  <bruno@clisp.org>
11204
11205         xstrtol: Move AC_LIBOBJ invocations to module description.
11206         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
11207         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
11208
11209 2011-05-23  Bruno Haible  <bruno@clisp.org>
11210
11211         xstrtold: Move AC_LIBOBJ invocations to module description.
11212         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
11213         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
11214
11215 2011-05-23  Bruno Haible  <bruno@clisp.org>
11216
11217         xstrtod: Move AC_LIBOBJ invocations to module description.
11218         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
11219         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
11220
11221 2011-05-23  Bruno Haible  <bruno@clisp.org>
11222
11223         xnanosleep: Move AC_LIBOBJ invocations to module description.
11224         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
11225         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
11226
11227 2011-05-23  Bruno Haible  <bruno@clisp.org>
11228
11229         xgetcwd: Move AC_LIBOBJ invocations to module description.
11230         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
11231         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
11232
11233 2011-05-23  Bruno Haible  <bruno@clisp.org>
11234
11235         xalloc: Move AC_LIBOBJ invocations to module description.
11236         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
11237         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
11238
11239 2011-05-23  Bruno Haible  <bruno@clisp.org>
11240
11241         write-any-file: Move AC_LIBOBJ invocations to module description.
11242         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
11243         invocation.
11244         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
11245
11246 2011-05-23  Bruno Haible  <bruno@clisp.org>
11247
11248         utimens: Move AC_LIBOBJ invocations to module description.
11249         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
11250         * modules/utimens (Makefile.am): Augment lib_SOURCES.
11251
11252 2011-05-23  Bruno Haible  <bruno@clisp.org>
11253
11254         utimecmp: Move AC_LIBOBJ invocations to module description.
11255         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
11256         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
11257
11258 2011-05-23  Bruno Haible  <bruno@clisp.org>
11259
11260         userspec: Move AC_LIBOBJ invocations to module description.
11261         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
11262         * modules/userspec (Makefile.am): Augment lib_SOURCES.
11263
11264 2011-05-23  Bruno Haible  <bruno@clisp.org>
11265
11266         unlinkdir: Move AC_LIBOBJ invocations to module description.
11267         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
11268         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
11269
11270 2011-05-23  Bruno Haible  <bruno@clisp.org>
11271
11272         unistd-safer: Move AC_LIBOBJ invocations to module description.
11273         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
11274         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
11275
11276 2011-05-23  Bruno Haible  <bruno@clisp.org>
11277
11278         tempname: Move AC_LIBOBJ invocations to module description.
11279         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
11280         * modules/tempname (Makefile.am): Augment lib_SOURCES.
11281
11282 2011-05-23  Bruno Haible  <bruno@clisp.org>
11283
11284         strftime: Move AC_LIBOBJ invocations to module description.
11285         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
11286         * modules/strftime (Makefile.am): Augment lib_SOURCES.
11287
11288 2011-05-23  Bruno Haible  <bruno@clisp.org>
11289
11290         stdlib-safer: Move AC_LIBOBJ invocations to module description.
11291         * m4/stdlib-safer.m4: Remove file.
11292         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
11293         (configure.ac): Remove gl_STDLIB_SAFER call.
11294         (Makefile.am): Augment lib_SOURCES.
11295
11296 2011-05-23  Bruno Haible  <bruno@clisp.org>
11297
11298         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
11299         * m4/stdio-safer.m4: Remove file.
11300         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
11301         (configure.ac): Remove gl_TMPFILE_SAFER call.
11302         (Makefile.am): Augment lib_SOURCES.
11303
11304 2011-05-23  Bruno Haible  <bruno@clisp.org>
11305
11306         popen-safer: Move AC_LIBOBJ invocations to module description.
11307         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
11308         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
11309         (configure.ac): Remove gl_POPEN_SAFER call.
11310         (Makefile.am): Augment lib_SOURCES.
11311
11312 2011-05-23  Bruno Haible  <bruno@clisp.org>
11313
11314         freopen-safer: Move AC_LIBOBJ invocations to module description.
11315         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
11316         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
11317         (configure.ac): Remove gl_FREOPEN_SAFER call.
11318         (Makefile.am): Augment lib_SOURCES.
11319
11320 2011-05-23  Bruno Haible  <bruno@clisp.org>
11321
11322         fopen-safer: Move AC_LIBOBJ invocations to module description.
11323         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
11324         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
11325         (configure.ac): Remove gl_FOPEN_SAFER call.
11326         (Makefile.am): Augment lib_SOURCES.
11327
11328 2011-05-23  Bruno Haible  <bruno@clisp.org>
11329
11330         crypto/sha512: Move AC_LIBOBJ invocations to module description.
11331         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
11332         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
11333
11334 2011-05-23  Bruno Haible  <bruno@clisp.org>
11335
11336         crypto/sha256: Move AC_LIBOBJ invocations to module description.
11337         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
11338         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
11339
11340 2011-05-23  Bruno Haible  <bruno@clisp.org>
11341
11342         crypto/sha1: Move AC_LIBOBJ invocations to module description.
11343         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
11344         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
11345
11346 2011-05-23  Bruno Haible  <bruno@clisp.org>
11347
11348         settime: Move AC_LIBOBJ invocations to module description.
11349         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
11350         * modules/settime (Makefile.am): Augment lib_SOURCES.
11351
11352 2011-05-23  Bruno Haible  <bruno@clisp.org>
11353
11354         savedir: Move AC_LIBOBJ invocations to module description.
11355         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
11356         * modules/savedir (Makefile.am): Augment lib_SOURCES.
11357
11358 2011-05-23  Bruno Haible  <bruno@clisp.org>
11359
11360         save-cwd: Move AC_LIBOBJ invocations to module description.
11361         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
11362         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
11363
11364 2011-05-23  Bruno Haible  <bruno@clisp.org>
11365
11366         same: Move AC_LIBOBJ invocations to module description.
11367         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
11368         * modules/same (Makefile.am): Augment lib_SOURCES.
11369
11370 2011-05-23  Bruno Haible  <bruno@clisp.org>
11371
11372         safe-write: Move AC_LIBOBJ invocations to module description.
11373         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
11374         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
11375         instead of gl_SAFE_WRITE.
11376         (Makefile.am): Augment lib_SOURCES.
11377
11378 2011-05-23  Bruno Haible  <bruno@clisp.org>
11379
11380         safe-read: Move AC_LIBOBJ invocations to module description.
11381         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
11382         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
11383         of gl_SAFE_READ.
11384         (Makefile.am): Augment lib_SOURCES.
11385
11386 2011-05-23  Bruno Haible  <bruno@clisp.org>
11387
11388         safe-alloc: Move AC_LIBOBJ invocations to module description.
11389         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
11390         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
11391
11392 2011-05-23  Bruno Haible  <bruno@clisp.org>
11393
11394         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
11395         * m4/rijndael.m4: Remove file.
11396         * modules/crypto/rijndael (Files): Remove it.
11397         (configure.ac): Remove gl_RIJNDAEL call.
11398         (Makefile.am): Augment lib_SOURCES.
11399
11400 2011-05-23  Bruno Haible  <bruno@clisp.org>
11401
11402         readtokens: Move AC_LIBOBJ invocations to module description.
11403         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
11404         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
11405
11406 2011-05-23  Bruno Haible  <bruno@clisp.org>
11407
11408         read-file: Move AC_LIBOBJ invocations to module description.
11409         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
11410         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
11411         of gl_FUNC_READ_FILE.
11412         (Makefile.am): Augment lib_SOURCES.
11413
11414 2011-05-23  Bruno Haible  <bruno@clisp.org>
11415
11416         quotearg: Move AC_LIBOBJ invocations to module description.
11417         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
11418         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
11419
11420 2011-05-23  Bruno Haible  <bruno@clisp.org>
11421
11422         quote: Move AC_LIBOBJ invocations to module description.
11423         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
11424         * modules/quote (Makefile.am): Augment lib_SOURCES.
11425
11426 2011-05-23  Bruno Haible  <bruno@clisp.org>
11427
11428         posixver: Move AC_LIBOBJ invocations to module description.
11429         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
11430         * modules/posixver (Makefile.am): Augment lib_SOURCES.
11431
11432 2011-05-23  Bruno Haible  <bruno@clisp.org>
11433
11434         posixtm: Move AC_LIBOBJ invocations to module description.
11435         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
11436         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
11437
11438 2011-05-23  Bruno Haible  <bruno@clisp.org>
11439
11440         physmem: Move AC_LIBOBJ invocations to module description.
11441         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
11442         * modules/physmem (Makefile.am): Augment lib_SOURCES.
11443
11444 2011-05-23  Bruno Haible  <bruno@clisp.org>
11445
11446         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
11447         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
11448         invocation.
11449         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
11450
11451 2011-05-23  Bruno Haible  <bruno@clisp.org>
11452
11453         mpsort: Move AC_LIBOBJ invocations to module description.
11454         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
11455         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
11456
11457 2011-05-23  Bruno Haible  <bruno@clisp.org>
11458
11459         modechange: Move AC_LIBOBJ invocations to module description.
11460         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
11461         * modules/modechange (Makefile.am): Augment lib_SOURCES.
11462
11463 2011-05-23  Bruno Haible  <bruno@clisp.org>
11464
11465         mkdir-p: Move AC_LIBOBJ invocations to module description.
11466         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
11467         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
11468
11469 2011-05-23  Bruno Haible  <bruno@clisp.org>
11470
11471         mkancesdirs: Move AC_LIBOBJ invocations to module description.
11472         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
11473         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
11474
11475 2011-05-23  Bruno Haible  <bruno@clisp.org>
11476
11477         mgetgroups: Move AC_LIBOBJ invocations to module description.
11478         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
11479         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
11480
11481 2011-05-23  Bruno Haible  <bruno@clisp.org>
11482
11483         memxor: Move AC_LIBOBJ invocations to module description.
11484         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
11485         * modules/memxor (Makefile.am): Augment lib_SOURCES.
11486
11487 2011-05-23  Bruno Haible  <bruno@clisp.org>
11488
11489         memcoll: Move AC_LIBOBJ invocations to module description.
11490         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
11491         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
11492
11493 2011-05-23  Bruno Haible  <bruno@clisp.org>
11494
11495         memcasecmp: Move AC_LIBOBJ invocations to module description.
11496         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
11497         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
11498
11499 2011-05-23  Bruno Haible  <bruno@clisp.org>
11500
11501         crypto/md5: Move AC_LIBOBJ invocations to module description.
11502         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
11503         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
11504
11505 2011-05-23  Bruno Haible  <bruno@clisp.org>
11506
11507         crypto/md4: Move AC_LIBOBJ invocations to module description.
11508         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
11509         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
11510
11511 2011-05-23  Bruno Haible  <bruno@clisp.org>
11512
11513         crypto/md2: Move AC_LIBOBJ invocations to module description.
11514         * m4/md2.m4: Remove file.
11515         * modules/crypto/md2 (Files): Remove it.
11516         (configure.ac): Remove gl_MD2 call.
11517         (Makefile.am): Augment lib_SOURCES.
11518
11519 2011-05-23  Bruno Haible  <bruno@clisp.org>
11520
11521         long-options: Move AC_LIBOBJ invocations to module description.
11522         * m4/long-options.m4: Remove file.
11523         * modules/long-options (Files): Remove it.
11524         (configure.ac): Remove gl_LONG_OPTIONS call.
11525         (Makefile.am): Augment lib_SOURCES.
11526
11527 2011-05-23  Bruno Haible  <bruno@clisp.org>
11528
11529         i-ring: Move AC_LIBOBJ invocations to module description.
11530         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
11531         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
11532
11533 2011-05-23  Bruno Haible  <bruno@clisp.org>
11534
11535         idcache: Move AC_LIBOBJ invocations to module description.
11536         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11537         * modules/idcache (Makefile.am): Augment lib_SOURCES.
11538
11539 2011-05-23  Bruno Haible  <bruno@clisp.org>
11540
11541         human: Move AC_LIBOBJ invocations to module description.
11542         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
11543         * modules/human (Makefile.am): Augment lib_SOURCES.
11544
11545 2011-05-23  Bruno Haible  <bruno@clisp.org>
11546
11547         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
11548         * m4/hmac-sha1.m4: Remove file.
11549         * modules/crypto/hmac-sha1 (Files): Remove it.
11550         (configure.ac): Remove gl_HMAC_SHA1 call.
11551         (Makefile.am): Augment lib_SOURCES.
11552
11553 2011-05-23  Bruno Haible  <bruno@clisp.org>
11554
11555         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
11556         * m4/hmac-md5.m4: Remove file.
11557         * modules/crypto/hmac-md5 (Files): Remove it.
11558         (configure.ac): Remove gl_HMAC_MD5 call.
11559         (Makefile.am): Augment lib_SOURCES.
11560
11561 2011-05-23  Bruno Haible  <bruno@clisp.org>
11562
11563         hash: Move AC_LIBOBJ invocations to module description.
11564         * m4/hash.m4: Remove file.
11565         * modules/hash (Files): Remove it.
11566         (configure.ac): Remove gl_HASH call.
11567         (Makefile.am): Augment lib_SOURCES.
11568
11569 2011-05-23  Bruno Haible  <bruno@clisp.org>
11570
11571         hard-locale: Move AC_LIBOBJ invocations to module description.
11572         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
11573         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
11574
11575 2011-05-23  Bruno Haible  <bruno@clisp.org>
11576
11577         getugroups: Move AC_LIBOBJ invocations to module description.
11578         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
11579         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
11580
11581 2011-05-23  Bruno Haible  <bruno@clisp.org>
11582
11583         gettime: Move AC_LIBOBJ invocations to module description.
11584         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
11585         * modules/gettime (Makefile.am): Augment lib_SOURCES.
11586
11587 2011-05-23  Bruno Haible  <bruno@clisp.org>
11588
11589         getndelim2: Move AC_LIBOBJ invocations to module description.
11590         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
11591         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
11592
11593 2011-05-23  Bruno Haible  <bruno@clisp.org>
11594
11595         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
11596         * m4/gc-pbkdf2-sha1.m4: Remove file.
11597         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
11598         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
11599         (Makefile.am): Augment lib_SOURCES.
11600
11601 2011-05-23  Bruno Haible  <bruno@clisp.org>
11602
11603         fts: Move AC_LIBOBJ invocations to module description.
11604         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
11605         * modules/fts (configure.ac): ... to here.
11606
11607 2011-05-23  Bruno Haible  <bruno@clisp.org>
11608
11609         file-type: Move AC_LIBOBJ invocations to module description.
11610         * m4/file-type.m4: Remove file.
11611         * modules/file-type (Files): Remove it.
11612         (configure.ac): Remove gl_FILE_TYPE call.
11613         (Makefile.am): Augment lib_SOURCES.
11614
11615 2011-05-23  Bruno Haible  <bruno@clisp.org>
11616
11617         filenamecat*: Respect rules for use of AC_LIBOBJ.
11618         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
11619         Remove AC_LIBOBJ invocation.
11620         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
11621         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
11622
11623 2011-05-23  Bruno Haible  <bruno@clisp.org>
11624
11625         filemode: Move AC_LIBOBJ invocations to module description.
11626         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
11627         * modules/filemode (Makefile.am): Augment lib_SOURCES.
11628
11629 2011-05-23  Bruno Haible  <bruno@clisp.org>
11630
11631         openat-safer: Move AC_LIBOBJ invocations to module description.
11632         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
11633         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
11634
11635 2011-05-23  Bruno Haible  <bruno@clisp.org>
11636
11637         fcntl-safer: Move AC_LIBOBJ invocations to module description.
11638         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
11639         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
11640
11641 2011-05-23  Bruno Haible  <bruno@clisp.org>
11642
11643         exclude: Move AC_LIBOBJ invocations to module description.
11644         * m4/exclude.m4: Remove file.
11645         * modules/exclude (Files): Remove it.
11646         (configure.ac): Remove gl_EXCLUDE call.
11647         (Makefile.am): Augment lib_SOURCES.
11648
11649 2011-05-23  Bruno Haible  <bruno@clisp.org>
11650
11651         dirname*: Respect rules for use of AC_LIBOBJ.
11652         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
11653         invocations.
11654         * modules/dirname (Makefile.am): Augment lib_SOURCES.
11655         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
11656
11657 2011-05-23  Bruno Haible  <bruno@clisp.org>
11658
11659         dirent-safer: Move AC_LIBOBJ invocations to module description.
11660         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
11661         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
11662
11663 2011-05-23  Bruno Haible  <bruno@clisp.org>
11664
11665         crypto/des: Move AC_LIBOBJ invocations to module description.
11666         * m4/des.m4: Remove file.
11667         * modules/crypto/des (Files): Remove it.
11668         (configure.ac): Remove gl_DES call.
11669         (Makefile.am): Augment lib_SOURCES.
11670
11671 2011-05-23  Bruno Haible  <bruno@clisp.org>
11672
11673         cycle-check: Move AC_LIBOBJ invocations to module description.
11674         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
11675         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
11676
11677 2011-05-23  Bruno Haible  <bruno@clisp.org>
11678
11679         c-strtold: Move AC_LIBOBJ invocations to module description.
11680         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11681         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11682
11683 2011-05-23  Bruno Haible  <bruno@clisp.org>
11684
11685         c-strtod: Move AC_LIBOBJ invocations to module description.
11686         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11687         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11688
11689 2011-05-23  Bruno Haible  <bruno@clisp.org>
11690
11691         crc: Move AC_LIBOBJ invocations to module description.
11692         * m4/crc.m4: Remove file.
11693         * modules/crc (Files): Remove it.
11694         (configure.ac): Remove gl_CRC call.
11695         (Makefile.am): Augment lib_SOURCES.
11696
11697 2011-05-23  Bruno Haible  <bruno@clisp.org>
11698
11699         close-stream: Move AC_LIBOBJ invocations to module description.
11700         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11701         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11702
11703 2011-05-23  Bruno Haible  <bruno@clisp.org>
11704
11705         closeout: Move AC_LIBOBJ invocations to module description.
11706         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11707         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11708
11709 2011-05-23  Bruno Haible  <bruno@clisp.org>
11710
11711         closein: Move AC_LIBOBJ invocations to module description.
11712         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11713         * modules/closein (Makefile.am): Augment lib_SOURCES.
11714
11715 2011-05-23  Bruno Haible  <bruno@clisp.org>
11716
11717         cloexec: Move AC_LIBOBJ invocations to module description.
11718         * m4/cloexec.m4: Remove file.
11719         * modules/cloexec (Files): Remove it.
11720         (configure.ac): Remove gl_CLOEXEC call.
11721         (Makefile.am): Augment lib_SOURCES.
11722
11723 2011-05-23  Bruno Haible  <bruno@clisp.org>
11724
11725         check-version: Move AC_LIBOBJ invocations to module description.
11726         * m4/check-version.m4: Remove file.
11727         * modules/check-version (Files): Remove it.
11728         (configure.ac): Remove gl_CHECK_VERSION call.
11729         (Makefile.am): Augment lib_SOURCES.
11730
11731 2011-05-23  Bruno Haible  <bruno@clisp.org>
11732
11733         chdir-safer: Move AC_LIBOBJ invocations to module description.
11734         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11735         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11736
11737 2011-05-23  Bruno Haible  <bruno@clisp.org>
11738
11739         canonicalize: Move AC_LIBOBJ invocations to module description.
11740         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11741         AC_LIBOBJ invocation.
11742         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11743
11744 2011-05-23  Bruno Haible  <bruno@clisp.org>
11745
11746         canon-host: Move AC_LIBOBJ invocations to module description.
11747         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11748         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11749         instead of gl_CANON_HOST.
11750         (Makefile.am): Augment lib_SOURCES.
11751
11752 2011-05-23  Bruno Haible  <bruno@clisp.org>
11753
11754         backupfile: Move AC_LIBOBJ invocations to module description.
11755         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11756         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11757
11758 2011-05-23  Bruno Haible  <bruno@clisp.org>
11759
11760         argmatch: Move AC_LIBOBJ invocations to module description.
11761         * m4/argmatch.m4: Remove file.
11762         * modules/argmatch (Files): Remove it.
11763         (configure.ac): Remove gl_ARGMATCH call.
11764         (Makefile.am): Augment lib_SOURCES.
11765
11766 2011-05-23  Bruno Haible  <bruno@clisp.org>
11767
11768         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11769         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11770         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11771
11772 2011-05-23  Bruno Haible  <bruno@clisp.org>
11773
11774         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11775         * m4/arcfour.m4: Remove file.
11776         * modules/crypto/arcfour (Files): Remove it.
11777         (configure.ac): Remove gl_ARCFOUR call.
11778         (Makefile.am): Augment lib_SOURCES.
11779
11780 2011-05-22  Bruno Haible  <bruno@clisp.org>
11781
11782         write: Move AC_LIBOBJ invocations to module description.
11783         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11784         * modules/write (configure.ac): ... to here.
11785
11786 2011-05-22  Bruno Haible  <bruno@clisp.org>
11787
11788         wmemset: Move AC_LIBOBJ invocations to module description.
11789         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11790         here...
11791         * modules/wmemset (configure.ac): ... to here.
11792
11793 2011-05-22  Bruno Haible  <bruno@clisp.org>
11794
11795         wmemmove: Move AC_LIBOBJ invocations to module description.
11796         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11797         here...
11798         * modules/wmemmove (configure.ac): ... to here.
11799
11800 2011-05-22  Bruno Haible  <bruno@clisp.org>
11801
11802         wmemcpy: Move AC_LIBOBJ invocations to module description.
11803         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11804         here...
11805         * modules/wmemcpy (configure.ac): ... to here.
11806
11807 2011-05-22  Bruno Haible  <bruno@clisp.org>
11808
11809         wmemcmp: Move AC_LIBOBJ invocations to module description.
11810         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11811         here...
11812         * modules/wmemcmp (configure.ac): ... to here.
11813
11814 2011-05-22  Bruno Haible  <bruno@clisp.org>
11815
11816         wmemchr: Move AC_LIBOBJ invocations to module description.
11817         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11818         here...
11819         * modules/wmemchr (configure.ac): ... to here.
11820
11821 2011-05-22  Bruno Haible  <bruno@clisp.org>
11822
11823         wcswidth: Move AC_LIBOBJ invocations to module description.
11824         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
11825         here...
11826         * modules/wcswidth (configure.ac): ... to here.
11827
11828 2011-05-22  Bruno Haible  <bruno@clisp.org>
11829
11830         wcwidth: Respect rules for use of AC_LIBOBJ.
11831         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
11832         invocation from here...
11833         * modules/wcwidth (configure.ac): ... to here.
11834         (Depends-on): Update conditions.
11835
11836 2011-05-22  Bruno Haible  <bruno@clisp.org>
11837
11838         wctype: Move AC_LIBOBJ invocations to module description.
11839         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
11840         invocation from here...
11841         * modules/wctype (configure.ac): ... to here.
11842         (Depends-on): Update conditions.
11843
11844 2011-05-22  Bruno Haible  <bruno@clisp.org>
11845
11846         wctrans: Move AC_LIBOBJ invocations to module description.
11847         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11848         invocation from here...
11849         * modules/wctrans (configure.ac): ... to here.
11850
11851 2011-05-22  Bruno Haible  <bruno@clisp.org>
11852
11853         wctomb: Move AC_LIBOBJ invocations to module description.
11854         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11855         invocations from here...
11856         * modules/wctomb (configure.ac): ... to here.
11857
11858 2011-05-22  Bruno Haible  <bruno@clisp.org>
11859
11860         wctob: Move AC_LIBOBJ invocations to module description.
11861         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11862         gl_PREREQ_WCTOB invocations from here...
11863         * modules/wctob (configure.ac): ... to here.
11864         (Depends-on): Update conditions.
11865
11866 2011-05-22  Bruno Haible  <bruno@clisp.org>
11867
11868         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11869         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11870         here...
11871         * modules/wcsxfrm (configure.ac): ... to here.
11872
11873 2011-05-22  Bruno Haible  <bruno@clisp.org>
11874
11875         wcstok: Move AC_LIBOBJ invocations to module description.
11876         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11877         * modules/wcstok (configure.ac): ... to here.
11878
11879 2011-05-22  Bruno Haible  <bruno@clisp.org>
11880
11881         wcsstr: Move AC_LIBOBJ invocations to module description.
11882         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11883         * modules/wcsstr (configure.ac): ... to here.
11884
11885 2011-05-22  Bruno Haible  <bruno@clisp.org>
11886
11887         wcsspn: Move AC_LIBOBJ invocations to module description.
11888         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11889         * modules/wcsspn (configure.ac): ... to here.
11890
11891 2011-05-22  Bruno Haible  <bruno@clisp.org>
11892
11893         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11894         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11895         gl_PREREQ_WCSRTOMBS invocations from here...
11896         * modules/wcsrtombs (configure.ac): ... to here.
11897
11898 2011-05-22  Bruno Haible  <bruno@clisp.org>
11899
11900         wcsrchr: Move AC_LIBOBJ invocations to module description.
11901         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11902         here...
11903         * modules/wcsrchr (configure.ac): ... to here.
11904
11905 2011-05-22  Bruno Haible  <bruno@clisp.org>
11906
11907         wcspbrk: Move AC_LIBOBJ invocations to module description.
11908         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11909         here...
11910         * modules/wcspbrk (configure.ac): ... to here.
11911
11912 2011-05-22  Bruno Haible  <bruno@clisp.org>
11913
11914         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11915         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11916         gl_PREREQ_WCSNRTOMBS invocations from here...
11917         * modules/wcsnrtombs (configure.ac): ... to here.
11918
11919 2011-05-22  Bruno Haible  <bruno@clisp.org>
11920
11921         wcsnlen: Move AC_LIBOBJ invocations to module description.
11922         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11923         here...
11924         * modules/wcsnlen (configure.ac): ... to here.
11925
11926 2011-05-22  Bruno Haible  <bruno@clisp.org>
11927
11928         wcsncpy: Move AC_LIBOBJ invocations to module description.
11929         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11930         here...
11931         * modules/wcsncpy (configure.ac): ... to here.
11932
11933 2011-05-22  Bruno Haible  <bruno@clisp.org>
11934
11935         wcsncmp: Move AC_LIBOBJ invocations to module description.
11936         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11937         here...
11938         * modules/wcsncmp (configure.ac): ... to here.
11939
11940 2011-05-22  Bruno Haible  <bruno@clisp.org>
11941
11942         wcsncat: Move AC_LIBOBJ invocations to module description.
11943         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11944         here...
11945         * modules/wcsncat (configure.ac): ... to here.
11946
11947 2011-05-22  Bruno Haible  <bruno@clisp.org>
11948
11949         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11950         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11951         from here...
11952         * modules/wcsncasecmp (configure.ac): ... to here.
11953
11954 2011-05-22  Bruno Haible  <bruno@clisp.org>
11955
11956         wcslen: Move AC_LIBOBJ invocations to module description.
11957         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11958         * modules/wcslen (configure.ac): ... to here.
11959
11960 2011-05-22  Bruno Haible  <bruno@clisp.org>
11961
11962         wcsdup: Move AC_LIBOBJ invocations to module description.
11963         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
11964         * modules/wcsdup (configure.ac): ... to here.
11965
11966 2011-05-22  Bruno Haible  <bruno@clisp.org>
11967
11968         wcscspn: Move AC_LIBOBJ invocations to module description.
11969         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
11970         here...
11971         * modules/wcscspn (configure.ac): ... to here.
11972
11973 2011-05-22  Bruno Haible  <bruno@clisp.org>
11974
11975         wcscpy: Move AC_LIBOBJ invocations to module description.
11976         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
11977         * modules/wcscpy (configure.ac): ... to here.
11978
11979 2011-05-22  Bruno Haible  <bruno@clisp.org>
11980
11981         wcscoll: Move AC_LIBOBJ invocations to module description.
11982         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
11983         here...
11984         * modules/wcscoll (configure.ac): ... to here.
11985
11986 2011-05-22  Bruno Haible  <bruno@clisp.org>
11987
11988         wcscmp: Move AC_LIBOBJ invocations to module description.
11989         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
11990         * modules/wcscmp (configure.ac): ... to here.
11991
11992 2011-05-22  Bruno Haible  <bruno@clisp.org>
11993
11994         wcschr: Move AC_LIBOBJ invocations to module description.
11995         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
11996         * modules/wcschr (configure.ac): ... to here.
11997
11998 2011-05-22  Bruno Haible  <bruno@clisp.org>
11999
12000         wcscat: Move AC_LIBOBJ invocations to module description.
12001         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
12002         * modules/wcscat (configure.ac): ... to here.
12003
12004 2011-05-22  Bruno Haible  <bruno@clisp.org>
12005
12006         wcscasecmp: Move AC_LIBOBJ invocations to module description.
12007         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
12008         here...
12009         * modules/wcscasecmp (configure.ac): ... to here.
12010
12011 2011-05-22  Bruno Haible  <bruno@clisp.org>
12012
12013         wcrtomb: Move AC_LIBOBJ invocations to module description.
12014         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
12015         invocations from here...
12016         * modules/wcrtomb (configure.ac): ... to here.
12017
12018 2011-05-22  Bruno Haible  <bruno@clisp.org>
12019
12020         wcpncpy: Move AC_LIBOBJ invocations to module description.
12021         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
12022         here...
12023         * modules/wcpncpy (configure.ac): ... to here.
12024
12025 2011-05-22  Bruno Haible  <bruno@clisp.org>
12026
12027         wcpcpy: Move AC_LIBOBJ invocations to module description.
12028         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
12029         * modules/wcpcpy (configure.ac): ... to here.
12030
12031 2011-05-22  Bruno Haible  <bruno@clisp.org>
12032
12033         waitpid: Move AC_LIBOBJ invocations to module description.
12034         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
12035         invocation from here...
12036         * modules/waitpid (configure.ac): ... to here.
12037
12038 2011-05-22  Bruno Haible  <bruno@clisp.org>
12039
12040         utimensat: Move AC_LIBOBJ invocations to module description.
12041         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
12042         here...
12043         * modules/utimensat (configure.ac): ... to here.
12044
12045 2011-05-22  Bruno Haible  <bruno@clisp.org>
12046
12047         usleep: Move AC_LIBOBJ invocations to module description.
12048         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
12049         here...
12050         * modules/usleep (configure.ac): ... to here.
12051
12052 2011-05-22  Bruno Haible  <bruno@clisp.org>
12053
12054         unlockpt: Move AC_LIBOBJ invocations to module description.
12055         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
12056         gl_PREREQ_UNLOCKPT invocations from here...
12057         * modules/unlockpt (configure.ac): ... to here.
12058
12059 2011-05-22  Bruno Haible  <bruno@clisp.org>
12060
12061         unlink: Respect rules for use of AC_LIBOBJ.
12062         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
12063         * modules/unlink (configure.ac): ... to here.
12064
12065 2011-05-22  Bruno Haible  <bruno@clisp.org>
12066
12067         uname: Move AC_LIBOBJ invocations to module description.
12068         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
12069         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
12070         here...
12071         * modules/uname (configure.ac): ... to here.
12072
12073 2011-05-22  Bruno Haible  <bruno@clisp.org>
12074
12075         ttyname_r: Move AC_LIBOBJ invocations to module description.
12076         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
12077         gl_PREREQ_TTYNAME_R invocations from here...
12078         * modules/ttyname_r (configure.ac): ... to here.
12079
12080 2011-05-22  Bruno Haible  <bruno@clisp.org>
12081
12082         tsearch: Move AC_LIBOBJ invocations to module description.
12083         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
12084         invocations from here...
12085         * modules/tsearch (configure.ac): ... to here.
12086
12087 2011-05-22  Bruno Haible  <bruno@clisp.org>
12088
12089         towctrans: Move AC_LIBOBJ invocations to module description.
12090         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
12091         AC_LIBOBJ invocation from here...
12092         * modules/towctrans (configure.ac): ... to here.
12093
12094 2011-05-22  Bruno Haible  <bruno@clisp.org>
12095
12096         tmpfile: Move AC_LIBOBJ invocations to module description.
12097         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
12098         invocations from here...
12099         * modules/tmpfile (configure.ac): ... to here.
12100
12101 2011-05-22  Bruno Haible  <bruno@clisp.org>
12102
12103         times: Move AC_LIBOBJ invocations to module description.
12104         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
12105         * modules/times (configure.ac): ... to here.
12106
12107 2011-05-22  Bruno Haible  <bruno@clisp.org>
12108
12109         time_r: Move AC_LIBOBJ invocations to module description.
12110         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
12111         invocations from here...
12112         * modules/time_r (configure.ac): ... to here.
12113
12114 2011-05-22  Bruno Haible  <bruno@clisp.org>
12115
12116         timegm: Move AC_LIBOBJ invocations to module description.
12117         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
12118         invocations from here...
12119         * modules/timegm (configure.ac): ... to here.
12120
12121 2011-05-22  Bruno Haible  <bruno@clisp.org>
12122
12123         tcgetsid: Move AC_LIBOBJ invocations to module description.
12124         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
12125         and gl_PREREQ_TCGETSID invocations from here...
12126         * modules/tcgetsid (configure.ac): ... to here.
12127         (Depends-on): Update conditions.
12128
12129 2011-05-22  Bruno Haible  <bruno@clisp.org>
12130
12131         symlinkat: Move AC_LIBOBJ invocations to module description.
12132         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
12133         here...
12134         * modules/symlinkat (configure.ac): ... to here.
12135
12136 2011-05-22  Bruno Haible  <bruno@clisp.org>
12137
12138         symlink: Move AC_LIBOBJ invocations to module description.
12139         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
12140         here...
12141         * modules/symlink (configure.ac): ... to here.
12142
12143 2011-05-22  Bruno Haible  <bruno@clisp.org>
12144
12145         strverscmp: Move AC_LIBOBJ invocations to module description.
12146         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
12147         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
12148         from here...
12149         * modules/strverscmp (configure.ac): ... to here.
12150
12151 2011-05-22  Bruno Haible  <bruno@clisp.org>
12152
12153         strtok_r: Move AC_LIBOBJ invocations to module description.
12154         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
12155         and gl_PREREQ_STRTOK_R invocations from here...
12156         * modules/strtok_r (configure.ac): ... to here.
12157         (Depends-on): Update conditions.
12158
12159 2011-05-22  Bruno Haible  <bruno@clisp.org>
12160
12161         strtoumax: Move AC_LIBOBJ invocations to module description.
12162         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
12163         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
12164         from here...
12165         * modules/strtoumax (configure.ac): ... to here.
12166
12167 2011-05-22  Bruno Haible  <bruno@clisp.org>
12168
12169         strtoimax: Move AC_LIBOBJ invocations to module description.
12170         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
12171         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
12172         from here...
12173         * modules/strtoimax (configure.ac): ... to here.
12174
12175 2011-05-22  Bruno Haible  <bruno@clisp.org>
12176
12177         strtoull: Move AC_LIBOBJ invocations to module description.
12178         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
12179         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
12180         from here...
12181         * modules/strtoull (configure.ac): ... to here.
12182
12183 2011-05-22  Bruno Haible  <bruno@clisp.org>
12184
12185         strtoll: Move AC_LIBOBJ invocations to module description.
12186         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
12187         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
12188         here...
12189         * modules/strtoll (configure.ac): ... to here.
12190
12191 2011-05-22  Bruno Haible  <bruno@clisp.org>
12192
12193         strtoul: Move AC_LIBOBJ invocations to module description.
12194         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
12195         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12196         * modules/strtoul (configure.ac): ... to here.
12197
12198 2011-05-22  Bruno Haible  <bruno@clisp.org>
12199
12200         strtol: Move AC_LIBOBJ invocations to module description.
12201         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
12202         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12203         * modules/strtol (configure.ac): ... to here.
12204
12205 2011-05-22  Bruno Haible  <bruno@clisp.org>
12206
12207         strtod: Move AC_LIBOBJ invocations to module description.
12208         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
12209         invocations from here...
12210         * modules/strtod (configure.ac): ... to here.
12211
12212 2011-05-22  Bruno Haible  <bruno@clisp.org>
12213
12214         strstr*: Move AC_LIBOBJ invocations to module description.
12215         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
12216         invocations from here...
12217         * modules/strstr-simple (configure.ac): ... to here.
12218         * modules/strstr (configure.ac): ... and here.
12219
12220 2011-05-22  Bruno Haible  <bruno@clisp.org>
12221
12222         strsignal: Move AC_LIBOBJ invocations to module description.
12223         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
12224         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
12225         * modules/strsignal (configure.ac): ... to here.
12226         (Depends-on): Update conditions.
12227
12228 2011-05-22  Bruno Haible  <bruno@clisp.org>
12229
12230         strsep: Move AC_LIBOBJ invocations to module description.
12231         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
12232         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
12233         here...
12234         * modules/strsep (configure.ac): ... to here.
12235
12236 2011-05-22  Bruno Haible  <bruno@clisp.org>
12237
12238         strptime: Move AC_LIBOBJ invocations to module description.
12239         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
12240         gl_PREREQ_STRPTIME invocations from here...
12241         * modules/strptime (configure.ac): ... to here.
12242
12243 2011-05-22  Bruno Haible  <bruno@clisp.org>
12244
12245         strpbrk: Move AC_LIBOBJ invocations to module description.
12246         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
12247         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
12248         here...
12249         * modules/strpbrk (configure.ac): ... to here.
12250
12251 2011-05-22  Bruno Haible  <bruno@clisp.org>
12252
12253         strnlen: Move AC_LIBOBJ invocations to module description.
12254         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
12255         invocations from here...
12256         * modules/strnlen (configure.ac): ... to here.
12257
12258 2011-05-22  Bruno Haible  <bruno@clisp.org>
12259
12260         strndup: Move AC_LIBOBJ invocations to module description.
12261         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
12262         invocations from here...
12263         * modules/strndup (configure.ac): ... to here.
12264         (Depends-on): Update conditions.
12265
12266 2011-05-22  Bruno Haible  <bruno@clisp.org>
12267
12268         strncat: Move AC_LIBOBJ invocations to module description.
12269         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
12270         invocations from here...
12271         * modules/strncat (configure.ac): ... to here.
12272
12273 2011-05-22  Bruno Haible  <bruno@clisp.org>
12274
12275         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
12276         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
12277         invocations from here...
12278         * modules/strdup (configure.ac): ... to here.
12279         * modules/strdup-posix (configure.ac): ... and here.
12280
12281 2011-05-22  Bruno Haible  <bruno@clisp.org>
12282
12283         strcspn: Move AC_LIBOBJ invocations to module description.
12284         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
12285         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
12286         here...
12287         * modules/strcspn (configure.ac): ... to here.
12288
12289 2011-05-22  Bruno Haible  <bruno@clisp.org>
12290
12291         strchrnul: Move AC_LIBOBJ invocations to module description.
12292         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
12293         gl_PREREQ_STRCHRNUL invocations from here...
12294         * modules/strchrnul (configure.ac): ... to here.
12295
12296 2011-05-22  Bruno Haible  <bruno@clisp.org>
12297
12298         strcasestr*: Move AC_LIBOBJ invocations to module description.
12299         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12300         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
12301         * modules/strcasestr-simple (configure.ac): ... to here.
12302         * modules/strcasestr (configure.ac): ... and here.
12303
12304 2011-05-22  Bruno Haible  <bruno@clisp.org>
12305
12306         strcase: Move AC_LIBOBJ invocations to module description.
12307         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
12308         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
12309         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
12310         gl_PREREQ_STRNCASECMP invocations from here...
12311         * modules/strcase (configure.ac): ... to here.
12312
12313 2011-05-22  Bruno Haible  <bruno@clisp.org>
12314
12315         stpncpy: Move AC_LIBOBJ invocations to module description.
12316         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
12317         here...
12318         * modules/stpncpy (configure.ac): ... to here.
12319
12320 2011-05-22  Bruno Haible  <bruno@clisp.org>
12321
12322         stpcpy: Move AC_LIBOBJ invocations to module description.
12323         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
12324         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
12325         here...
12326         * modules/stpcpy (configure.ac): ... to here.
12327
12328 2011-05-21  Bruno Haible  <bruno@clisp.org>
12329
12330         stat: Move AC_LIBOBJ invocations to module description.
12331         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
12332         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
12333         here...
12334         * modules/stat (configure.ac): ... to here.
12335
12336 2011-05-21  Bruno Haible  <bruno@clisp.org>
12337
12338         sleep: Move AC_LIBOBJ invocations to module description.
12339         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
12340         * modules/sleep (configure.ac): ... to here.
12341
12342 2011-05-21  Bruno Haible  <bruno@clisp.org>
12343
12344         signbit: Move AC_LIBOBJ invocations to module description.
12345         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
12346         * modules/signbit (configure.ac): ... to here.
12347
12348 2011-05-21  Bruno Haible  <bruno@clisp.org>
12349
12350         sigprocmask: Move AC_LIBOBJ invocations to module description.
12351         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
12352         gl_PREREQ_SIGPROMASK invocations from here...
12353         * modules/sigprocmask (configure.ac): ... to here.
12354
12355 2011-05-21  Bruno Haible  <bruno@clisp.org>
12356
12357         sigaction: Move AC_LIBOBJ invocations to module description.
12358         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
12359         gl_PREREQ_SIGACTION invocations from here...
12360         * modules/sigaction (configure.ac): ... to here.
12361
12362 2011-05-21  Bruno Haible  <bruno@clisp.org>
12363
12364         sig2str: Move AC_LIBOBJ invocations to module description.
12365         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
12366         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
12367         here...
12368         * modules/sig2str (configure.ac): ... to here.
12369
12370 2011-05-21  Bruno Haible  <bruno@clisp.org>
12371
12372         setlocale: Move AC_LIBOBJ invocations to module description.
12373         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
12374         gl_PREREQ_SETLOCALE invocations from here...
12375         * modules/setlocale (configure.ac): ... to here.
12376
12377 2011-05-21  Bruno Haible  <bruno@clisp.org>
12378
12379         unsetenv: Move AC_LIBOBJ invocations to module description.
12380         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
12381         and gl_PREREQ_UNSETENV invocations from here...
12382         * modules/unsetenv (configure.ac): ... to here.
12383         (Depends-on): Update.
12384
12385 2011-05-21  Bruno Haible  <bruno@clisp.org>
12386
12387         setenv: Move AC_LIBOBJ invocations to module description.
12388         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
12389         here...
12390         * modules/setenv (configure.ac): ... to here.
12391
12392 2011-05-21  Bruno Haible  <bruno@clisp.org>
12393
12394         selinux-h: Move AC_LIBOBJ invocations to module description.
12395         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
12396         AC_LIBOBJ invocation from here...
12397         * modules/selinux-h (configure.ac): ... to here.
12398
12399 2011-05-21  Bruno Haible  <bruno@clisp.org>
12400
12401         select: Respect rules for use of AC_LIBOBJ.
12402         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
12403         here...
12404         * modules/select (configure.ac): ... to here.
12405
12406 2011-05-21  Bruno Haible  <bruno@clisp.org>
12407
12408         scandir: Move AC_LIBOBJ invocations to module description.
12409         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
12410         invocations from here...
12411         * modules/scandir (configure.ac): ... to here.
12412
12413 2011-05-21  Bruno Haible  <bruno@clisp.org>
12414
12415         rpmatch: Move AC_LIBOBJ invocations to module description.
12416         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
12417         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
12418         here...
12419         * modules/rpmatch (configure.ac): ... to here.
12420
12421 2011-05-21  Bruno Haible  <bruno@clisp.org>
12422
12423         rmdir: Respect rules for use of AC_LIBOBJ.
12424         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
12425         * modules/rmdir (configure.ac): ... to here.
12426
12427 2011-05-21  Bruno Haible  <bruno@clisp.org>
12428
12429         renameat: Move AC_LIBOBJ invocations to module description.
12430         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
12431         here...
12432         * modules/renameat (configure.ac): ... to here.
12433
12434 2011-05-21  Bruno Haible  <bruno@clisp.org>
12435
12436         rename: Respect rules for use of AC_LIBOBJ.
12437         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
12438         here...
12439         * modules/rename (configure.ac): ... to here.
12440
12441 2011-05-21  Bruno Haible  <bruno@clisp.org>
12442
12443         remove: Move AC_LIBOBJ invocations to module description.
12444         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
12445         here...
12446         * modules/remove (configure.ac): ... to here.
12447
12448 2011-05-21  Bruno Haible  <bruno@clisp.org>
12449
12450         relocatable-lib: Move AC_LIBOBJ invocations to module description.
12451         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
12452         macro.
12453         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
12454         * modules/relocatable-lib (configure.ac): ... to here.
12455         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12456         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
12457
12458 2011-05-21  Bruno Haible  <bruno@clisp.org>
12459
12460         relocatable-prog: Move AC_LIBOBJ invocations to module description.
12461         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
12462         here...
12463         * modules/relocatable-prog (configure.ac): ... to here.
12464
12465 2011-05-21  Bruno Haible  <bruno@clisp.org>
12466
12467         regex: Move AC_LIBOBJ invocations to module description.
12468         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
12469         invocations from here...
12470         * modules/regex (configure.ac): ... to here.
12471
12472 2011-05-21  Bruno Haible  <bruno@clisp.org>
12473
12474         realloc-*: Move AC_LIBOBJ invocations to module description.
12475         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
12476         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
12477         AC_LIBOBJ invocations from here...
12478         * modules/realloc-gnu (configure.ac): ... to here.
12479         * modules/realloc-posix (configure.ac): ... and here.
12480
12481 2011-05-21  Bruno Haible  <bruno@clisp.org>
12482
12483         readutmp: Move AC_LIBOBJ invocations to module description.
12484         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
12485         * modules/readutmp (configure.ac): ... to here.
12486
12487 2011-05-21  Bruno Haible  <bruno@clisp.org>
12488
12489         readlinkat: Move AC_LIBOBJ invocations to module description.
12490         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
12491         here...
12492         * modules/readlinkat (configure.ac): ... to here.
12493
12494 2011-05-21  Bruno Haible  <bruno@clisp.org>
12495
12496         readlink: Move AC_LIBOBJ invocations to module description.
12497         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
12498         gl_PREREQ_READLINK invocations from here...
12499         * modules/readlink (configure.ac): ... to here.
12500
12501 2011-05-21  Bruno Haible  <bruno@clisp.org>
12502
12503         readline: Move AC_LIBOBJ invocations to module description.
12504         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
12505         gl_PREREQ_READLINE invocations from here...
12506         * modules/readline (configure.ac): ... to here.
12507
12508 2011-05-21  Bruno Haible  <bruno@clisp.org>
12509
12510         read: Move AC_LIBOBJ invocations to module description.
12511         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
12512         * modules/read (configure.ac): ... to here.
12513
12514 2011-05-21  Bruno Haible  <bruno@clisp.org>
12515
12516         rawmemchr: Move AC_LIBOBJ invocations to module description.
12517         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
12518         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
12519         from here...
12520         * modules/rawmemchr (configure.ac): ... to here.
12521
12522 2011-05-21  Bruno Haible  <bruno@clisp.org>
12523
12524         random_r: Move AC_LIBOBJ invocations to module description.
12525         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
12526         gl_PREREQ_RANDOM_R invocations from here...
12527         * modules/random_r (configure.ac): ... to here.
12528
12529 2011-05-21  Bruno Haible  <bruno@clisp.org>
12530
12531         pwrite: Move AC_LIBOBJ invocations to module description.
12532         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12533         * modules/pwrite (configure.ac): ... to here.
12534
12535 2011-05-21  Bruno Haible  <bruno@clisp.org>
12536
12537         putenv: Move AC_LIBOBJ invocations to module description.
12538         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
12539         * modules/putenv (configure.ac): ... to here.
12540
12541 2011-05-21  Bruno Haible  <bruno@clisp.org>
12542
12543         login_tty: Move AC_LIBOBJ invocations to module description.
12544         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
12545         * modules/login_tty (configure.ac): ... to here.
12546
12547 2011-05-21  Bruno Haible  <bruno@clisp.org>
12548
12549         openpty: Move AC_LIBOBJ invocations to module description.
12550         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
12551         * modules/openpty (configure.ac): ... to here.
12552
12553 2011-05-21  Bruno Haible  <bruno@clisp.org>
12554
12555         forkpty: Move AC_LIBOBJ invocations to module description.
12556         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
12557         * modules/forkpty (configure.ac): ... to here.
12558
12559 2011-05-21  Bruno Haible  <bruno@clisp.org>
12560
12561         ptsname: Move AC_LIBOBJ invocations to module description.
12562         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
12563         invocations from here...
12564         * modules/ptsname (configure.ac): ... to here.
12565
12566 2011-05-21  Bruno Haible  <bruno@clisp.org>
12567
12568         pread: Move AC_LIBOBJ invocations to module description.
12569         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
12570         * modules/pread (configure.ac): ... to here.
12571
12572 2011-05-21  Bruno Haible  <bruno@clisp.org>
12573
12574         posix_spawn*: Move AC_LIBOBJ invocations to module description.
12575         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
12576         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
12577         * modules/posix_spawn (configure.ac): ... to here.
12578         * modules/posix_spawnp (configure.ac): ... and here.
12579
12580 2011-05-21  Bruno Haible  <bruno@clisp.org>
12581
12582         popen: Move AC_LIBOBJ invocations to module description.
12583         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
12584         invocations from here...
12585         * modules/popen (configure.ac): ... to here.
12586
12587 2011-05-21  Bruno Haible  <bruno@clisp.org>
12588
12589         poll: Move AC_LIBOBJ invocations to module description.
12590         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
12591         invocations from here...
12592         * modules/poll (configure.ac): ... to here.
12593
12594 2011-05-21  Bruno Haible  <bruno@clisp.org>
12595
12596         pipe-posix: Move AC_LIBOBJ invocations to module description.
12597         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
12598         * modules/pipe-posix (configure.ac): ... to here.
12599
12600 2011-05-21  Bruno Haible  <bruno@clisp.org>
12601
12602         openat: Respect rules for use of AC_LIBOBJ.
12603         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
12604         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12605         * modules/openat (configure.ac): ... to here.
12606
12607 2011-05-21  Bruno Haible  <bruno@clisp.org>
12608
12609         obstack-printf*: Move AC_LIBOBJ invocations to module description.
12610         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
12611         invocation from here...
12612         * modules/obstack-printf (configure.ac): ... to here.
12613         * modules/obstack-printf-posix (configure.ac): ... and here.
12614
12615 2011-05-21  Bruno Haible  <bruno@clisp.org>
12616
12617         nl_langinfo: Move AC_LIBOBJ invocations to module description.
12618         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
12619         from here...
12620         * modules/nl_langinfo (configure.ac): ... to here.
12621
12622 2011-05-21  Bruno Haible  <bruno@clisp.org>
12623
12624         nanosleep: Move AC_LIBOBJ invocations to module description.
12625         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
12626         gl_PREREQ_NANOSLEEP invocations from here...
12627         * modules/nanosleep (configure.ac): ... to here.
12628
12629 2011-05-21  Bruno Haible  <bruno@clisp.org>
12630
12631         mountlist: Move AC_LIBOBJ invocations to module description.
12632         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
12633         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
12634         * modules/mountlist (configure.ac): ... to here.
12635
12636 2011-05-21  Bruno Haible  <bruno@clisp.org>
12637
12638         mktime: Respect rules for use of AC_LIBOBJ.
12639         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
12640         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
12641         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
12642         (gl_FUNC_MKTIME_INTERNAL): ... and here...
12643         * modules/mktime (configure.ac): ... to here.
12644         * modules/mktime-internal (configure.ac): ... and here.
12645         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
12646
12647 2011-05-21  Bruno Haible  <bruno@clisp.org>
12648
12649         mkstemps: Move AC_LIBOBJ invocations to module description.
12650         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
12651         here...
12652         * modules/mkstemps (configure.ac): ... to here.
12653
12654 2011-05-21  Bruno Haible  <bruno@clisp.org>
12655
12656         mkstemp: Move AC_LIBOBJ invocations to module description.
12657         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
12658         gl_PREREQ_MKSTEMP invocations from here...
12659         * modules/mkstemp (configure.ac): ... to here.
12660
12661 2011-05-21  Bruno Haible  <bruno@clisp.org>
12662
12663         mkostemps: Move AC_LIBOBJ invocations to module description.
12664         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
12665         here...
12666         * modules/mkostemps (configure.ac): ... to here.
12667
12668 2011-05-21  Bruno Haible  <bruno@clisp.org>
12669
12670         mkostemp: Move AC_LIBOBJ invocations to module description.
12671         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
12672         gl_PREREQ_MKOSTEMP invocations from here...
12673         * modules/mkostemp (configure.ac): ... to here.
12674
12675 2011-05-21  Bruno Haible  <bruno@clisp.org>
12676
12677         mknod: Move AC_LIBOBJ invocations to module description.
12678         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12679         * modules/mknod (configure.ac): ... to here.
12680
12681 2011-05-21  Bruno Haible  <bruno@clisp.org>
12682
12683         mkfifoat: Move AC_LIBOBJ invocations to module description.
12684         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12685         here...
12686         * modules/mkfifoat (configure.ac): ... to here.
12687
12688 2011-05-21  Bruno Haible  <bruno@clisp.org>
12689
12690         mkfifo: Respect rules for use of AC_LIBOBJ.
12691         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12692         here...
12693         * modules/mkfifo (configure.ac): ... to here.
12694
12695 2011-05-21  Bruno Haible  <bruno@clisp.org>
12696
12697         mkdtemp: Move AC_LIBOBJ invocations to module description.
12698         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12699         invocations from here...
12700         * modules/mkdtemp (configure.ac): ... to here.
12701
12702 2011-05-21  Bruno Haible  <bruno@clisp.org>
12703
12704         mkdir: Move AC_LIBOBJ invocations to module description.
12705         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12706         * modules/mkdir (configure.ac): ... to here.
12707
12708 2011-05-21  Bruno Haible  <bruno@clisp.org>
12709
12710         memset: Move AC_LIBOBJ invocations to module description.
12711         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12712         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12713         here...
12714         * modules/memset (configure.ac): ... to here.
12715
12716 2011-05-21  Bruno Haible  <bruno@clisp.org>
12717
12718         memrchr: Move AC_LIBOBJ invocations to module description.
12719         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12720         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12721         here...
12722         * modules/memrchr (configure.ac): ... to here.
12723
12724 2011-05-21  Bruno Haible  <bruno@clisp.org>
12725
12726         mempcpy: Move AC_LIBOBJ invocations to module description.
12727         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12728         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12729         here...
12730         * modules/mempcpy (configure.ac): ... to here.
12731
12732 2011-05-21  Bruno Haible  <bruno@clisp.org>
12733
12734         memmove: Move AC_LIBOBJ invocations to module description.
12735         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12736         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12737         here...
12738         * modules/memmove (configure.ac): ... to here.
12739
12740 2011-05-21  Bruno Haible  <bruno@clisp.org>
12741
12742         memmem*: Move AC_LIBOBJ invocations to module description.
12743         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12744         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12745         here...
12746         (gl_FUNC_MEMMEM): ... and here...
12747         * modules/memmem-simple (configure.ac): ... to here.
12748         * modules/memmem (configure.ac): ... and here.
12749
12750 2011-05-21  Bruno Haible  <bruno@clisp.org>
12751
12752         memcpy: Move AC_LIBOBJ invocations to module description.
12753         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12754         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12755         here...
12756         * modules/memcpy (configure.ac): ... to here.
12757
12758 2011-05-21  Bruno Haible  <bruno@clisp.org>
12759
12760         memcmp: Simplify autoconf macro.
12761         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12762         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12763         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12764
12765 2011-05-21  Bruno Haible  <bruno@clisp.org>
12766
12767         memcmp: Move AC_LIBOBJ invocations to module description.
12768         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12769         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12770         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12771         * modules/memcmp (configure.ac): ... to here.
12772         (Depends-on): Update conditions.
12773
12774 2011-05-21  Bruno Haible  <bruno@clisp.org>
12775
12776         memchr: Respect rules for use of AC_LIBOBJ.
12777         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12778         invocations from here...
12779         * modules/memchr (configure.ac): ... to here.
12780
12781 2011-05-21  Bruno Haible  <bruno@clisp.org>
12782
12783         mbtowc: Move AC_LIBOBJ invocations to module description.
12784         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12785         invocations from here...
12786         * modules/mbtowc (configure.ac): ... to here.
12787
12788 2011-05-21  Bruno Haible  <bruno@clisp.org>
12789
12790         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12791         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12792         gl_PREREQ_MBSRTOWCS invocations from here...
12793         * modules/mbsrtowcs (configure.ac): ... to here.
12794
12795 2011-05-21  Bruno Haible  <bruno@clisp.org>
12796
12797         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12798         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12799         gl_PREREQ_MBSNRTOWCS invocations from here...
12800         * modules/mbsnrtowcs (configure.ac): ... to here.
12801
12802 2011-05-21  Bruno Haible  <bruno@clisp.org>
12803
12804         mbsinit: Move AC_LIBOBJ invocations to module description.
12805         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12806         invocations from here...
12807         * modules/mbsinit (configure.ac): ... to here.
12808
12809 2011-05-21  Bruno Haible  <bruno@clisp.org>
12810
12811         mbrlen: Move AC_LIBOBJ invocations to module description.
12812         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12813         invocations from here...
12814         * modules/mbrlen (configure.ac): ... to here.
12815
12816 2011-05-21  Bruno Haible  <bruno@clisp.org>
12817
12818         mbrtowc: Respect rules for use of AC_LIBOBJ.
12819         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
12820         invocations from here...
12821         * modules/mbrtowc (configure.ac): ... to here.
12822
12823 2011-05-21  Bruno Haible  <bruno@clisp.org>
12824
12825         malloc-*: Move AC_LIBOBJ invocations to module description.
12826         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
12827         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
12828         AC_LIBOBJ invocations from here...
12829         * modules/malloc-gnu (configure.ac): ... to here.
12830         * modules/malloc-posix (configure.ac): ... and here.
12831
12832 2011-05-21  Bruno Haible  <bruno@clisp.org>
12833
12834         lstat, openat: Respect rules for use of AC_LIBOBJ.
12835         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
12836         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
12837         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
12838         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
12839         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
12840         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
12841         here.
12842         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12843
12844 2011-05-21  Bruno Haible  <bruno@clisp.org>
12845
12846         lseek: Move AC_LIBOBJ invocations to module description.
12847         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12848         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12849         * modules/lseek (configure.ac): ... to here.
12850
12851 2011-05-21  Bruno Haible  <bruno@clisp.org>
12852
12853         linkat: Move AC_LIBOBJ invocations to module description.
12854         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12855         here...
12856         * modules/linkat (configure.ac): ... to here.
12857
12858 2011-05-21  Bruno Haible  <bruno@clisp.org>
12859
12860         link: Respect rules for use of AC_LIBOBJ.
12861         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12862         * modules/link (configure.ac): ... to here.
12863
12864 2011-05-21  Bruno Haible  <bruno@clisp.org>
12865
12866         lchown: Move AC_LIBOBJ invocations to module description.
12867         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12868         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12869         * modules/lchown (configure.ac): ... to here.
12870
12871 2011-05-21  Bruno Haible  <bruno@clisp.org>
12872
12873         iswctype: Move AC_LIBOBJ invocations to module description.
12874         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12875         here...
12876         * modules/iswctype (configure.ac): ... to here.
12877
12878 2011-05-21  Bruno Haible  <bruno@clisp.org>
12879
12880         iswblank: Move AC_LIBOBJ invocations to module description.
12881         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12882         here...
12883         * modules/iswblank (configure.ac): ... to here.
12884
12885 2011-05-21  Bruno Haible  <bruno@clisp.org>
12886
12887         atanl: Move AC_LIBOBJ invocations to module description.
12888         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12889         * modules/atanl (configure.ac): ... to here.
12890
12891 2011-05-21  Bruno Haible  <bruno@clisp.org>
12892
12893         acosl: Move AC_LIBOBJ invocations to module description.
12894         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12895         * modules/acosl (configure.ac): ... to here.
12896
12897 2011-05-21  Bruno Haible  <bruno@clisp.org>
12898
12899         asinl: Respect rules for use of AC_LIBOBJ.
12900         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12901         * modules/asinl (configure.ac): ... to here.
12902
12903 2011-05-21  Bruno Haible  <bruno@clisp.org>
12904
12905         tanl: Move AC_LIBOBJ invocations to module description.
12906         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12907         * modules/tanl (configure.ac): ... to here.
12908
12909 2011-05-21  Bruno Haible  <bruno@clisp.org>
12910
12911         cosl: Move AC_LIBOBJ invocations to module description.
12912         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12913         * modules/cosl (configure.ac): ... to here.
12914
12915 2011-05-21  Bruno Haible  <bruno@clisp.org>
12916
12917         sinl: Move AC_LIBOBJ invocations to module description.
12918         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12919         * modules/sinl (configure.ac): ... to here.
12920
12921 2011-05-21  Bruno Haible  <bruno@clisp.org>
12922
12923         logl: Move AC_LIBOBJ invocations to module description.
12924         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12925         * modules/logl (configure.ac): ... to here.
12926
12927 2011-05-21  Bruno Haible  <bruno@clisp.org>
12928
12929         expl: Move AC_LIBOBJ invocations to module description.
12930         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12931         * modules/expl (configure.ac): ... to here.
12932
12933 2011-05-21  Bruno Haible  <bruno@clisp.org>
12934
12935         roundl: Move AC_LIBOBJ invocations to module description.
12936         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12937         * modules/roundl (configure.ac): ... to here.
12938
12939 2011-05-21  Bruno Haible  <bruno@clisp.org>
12940
12941         round: Move AC_LIBOBJ invocations to module description.
12942         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12943         * modules/round (configure.ac): ... to here.
12944
12945 2011-05-21  Bruno Haible  <bruno@clisp.org>
12946
12947         roundf: Move AC_LIBOBJ invocations to module description.
12948         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12949         * modules/roundf (configure.ac): ... to here.
12950
12951 2011-05-21  Bruno Haible  <bruno@clisp.org>
12952
12953         truncl: Move AC_LIBOBJ invocations to module description.
12954         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12955         * modules/truncl (configure.ac): ... to here.
12956
12957 2011-05-21  Bruno Haible  <bruno@clisp.org>
12958
12959         trunc: Move AC_LIBOBJ invocations to module description.
12960         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
12961         * modules/trunc (configure.ac): ... to here.
12962
12963 2011-05-21  Bruno Haible  <bruno@clisp.org>
12964
12965         truncf: Move AC_LIBOBJ invocations to module description.
12966         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
12967         * modules/truncf (configure.ac): ... to here.
12968
12969 2011-05-21  Bruno Haible  <bruno@clisp.org>
12970
12971         ceill: Move AC_LIBOBJ invocations to module description.
12972         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
12973         * modules/ceill (configure.ac): ... to here.
12974
12975 2011-05-21  Bruno Haible  <bruno@clisp.org>
12976
12977         ceil: Move AC_LIBOBJ invocations to module description.
12978         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
12979         * modules/ceil (configure.ac): ... to here.
12980
12981 2011-05-21  Bruno Haible  <bruno@clisp.org>
12982
12983         ceilf: Move AC_LIBOBJ invocations to module description.
12984         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
12985         * modules/ceilf (configure.ac): ... to here.
12986
12987 2011-05-21  Bruno Haible  <bruno@clisp.org>
12988
12989         floorl: Respect rules for use of AC_LIBOBJ.
12990         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
12991         * modules/floorl (configure.ac): ... to here.
12992
12993 2011-05-21  Bruno Haible  <bruno@clisp.org>
12994
12995         floor: Respect rules for use of AC_LIBOBJ.
12996         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
12997         * modules/floor (configure.ac): ... to here.
12998
12999 2011-05-21  Bruno Haible  <bruno@clisp.org>
13000
13001         floorf: Move AC_LIBOBJ invocations to module description.
13002         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
13003         * modules/floorf (configure.ac): ... to here.
13004
13005 2011-05-20  Bruno Haible  <bruno@clisp.org>
13006
13007         sqrtl: Respect rules for use of AC_LIBOBJ.
13008         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
13009         * modules/sqrtl (configure.ac): ... to here.
13010
13011 2011-05-20  Bruno Haible  <bruno@clisp.org>
13012
13013         ldexpl: Respect rules for use of AC_LIBOBJ.
13014         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
13015         * modules/ldexpl (configure.ac): ... to here.
13016
13017 2011-05-20  Bruno Haible  <bruno@clisp.org>
13018
13019         frexpl*: Respect rules for use of AC_LIBOBJ.
13020         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
13021         invocation from here...
13022         * modules/frexpl (configure.ac): ... to here.
13023         * modules/frexpl-nolibm (configure.ac): ... and here.
13024
13025 2011-05-20  Bruno Haible  <bruno@clisp.org>
13026
13027         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
13028         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
13029         invocation from here...
13030         * modules/frexp (configure.ac): ... to here.
13031         * modules/frexp-nolibm (configure.ac): ... and here.
13032
13033 2011-05-20  Bruno Haible  <bruno@clisp.org>
13034
13035         isnan: Respect rules for use of AC_LIBOBJ.
13036         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
13037         invocations here.
13038         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
13039         REPLACE_ISNAN.
13040         * modules/isnand (configure.ac): Likewise.
13041         * modules/isnanl (configure.ac): Likewise.
13042
13043 2011-05-20  Bruno Haible  <bruno@clisp.org>
13044
13045         isnanl*: Respect rules for use of AC_LIBOBJ.
13046         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
13047         invocation from here...
13048         * modules/isnanl (configure.ac): ... to here.
13049         * modules/isnanl-nolibm (configure.ac): ... and here.
13050
13051 2011-05-20  Bruno Haible  <bruno@clisp.org>
13052
13053         isnand*: Move AC_LIBOBJ invocations to module description.
13054         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
13055         invocation from here...
13056         * modules/isnand (configure.ac): ... to here.
13057         * modules/isnand-nolibm (configure.ac): ... and here.
13058
13059 2011-05-20  Bruno Haible  <bruno@clisp.org>
13060
13061         isnanf*: Move AC_LIBOBJ invocations to module description.
13062         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
13063         invocation from here...
13064         * modules/isnanf (configure.ac): ... to here.
13065         * modules/isnanf-nolibm (configure.ac): ... and here.
13066
13067 2011-05-20  Bruno Haible  <bruno@clisp.org>
13068
13069         isnan*: Separate the AC_LIBOBJ invocations.
13070         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
13071         AC_LIBOBJ invocation.
13072         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
13073         here.
13074         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
13075         AC_LIBOBJ invocation.
13076         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
13077         here.
13078         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
13079         AC_LIBOBJ invocation.
13080         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
13081         here.
13082         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
13083
13084 2011-05-08  Bruno Haible  <bruno@clisp.org>
13085
13086         isinf: Move AC_LIBOBJ invocations to module description.
13087         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
13088         * modules/isinf (configure.ac): ... to here.
13089
13090 2011-05-08  Bruno Haible  <bruno@clisp.org>
13091
13092         isfinite: Move AC_LIBOBJ invocations to module description.
13093         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
13094         * modules/isfinite (configure.ac): ... to here.
13095
13096 2011-05-08  Bruno Haible  <bruno@clisp.org>
13097
13098         isblank: Move AC_LIBOBJ invocations to module description.
13099         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
13100         here...
13101         * modules/isblank (configure.ac): ... to here.
13102
13103 2011-05-08  Bruno Haible  <bruno@clisp.org>
13104
13105         isapipe: Move AC_LIBOBJ invocations to module description.
13106         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
13107         gl_PREREQ_ISAPIPE invocations from here...
13108         * modules/isapipe (configure.ac): ... to here.
13109         (Depends-on): Update condition.
13110
13111 2011-05-08  Bruno Haible  <bruno@clisp.org>
13112
13113         ioctl: Move AC_LIBOBJ invocations to module description.
13114         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
13115         invocations from here...
13116         * modules/ioctl (configure.ac): ... to here.
13117         (Depends-on): Update condition.
13118
13119 2011-05-08  Bruno Haible  <bruno@clisp.org>
13120
13121         imaxdiv: Move AC_LIBOBJ invocations to module description.
13122         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
13123         invocations from here...
13124         * modules/imaxdiv (configure.ac): ... to here.
13125
13126 2011-05-08  Bruno Haible  <bruno@clisp.org>
13127
13128         imaxabs: Move AC_LIBOBJ invocations to module description.
13129         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
13130         invocations from here...
13131         * modules/imaxabs (configure.ac): ... to here.
13132
13133 2011-05-08  Bruno Haible  <bruno@clisp.org>
13134
13135         getaddrinfo: Move AC_LIBOBJ invocations to module description.
13136         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
13137         AC_LIBOBJ invocations from here...
13138         * modules/getaddrinfo (configure.ac): ... to here.
13139         (Depends-on): Add conditions.
13140
13141 2011-05-08  Bruno Haible  <bruno@clisp.org>
13142
13143         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13144         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
13145         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13146         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
13147         (gl_PREREQ_INET_PTON): ... from here.
13148         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
13149         gl_PREREQ_INET_PTON here.
13150         (Depends-on): Update condition.
13151
13152 2011-05-08  Bruno Haible  <bruno@clisp.org>
13153
13154         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13155         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
13156         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13157         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
13158         (gl_PREREQ_INET_NTOP): ... from here.
13159         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
13160         gl_PREREQ_INET_NTOP here.
13161         (Depends-on): Update condition.
13162
13163 2011-05-08  Bruno Haible  <bruno@clisp.org>
13164
13165         iconv_open: Move AC_LIBOBJ invocations to module description.
13166         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
13167         AC_LIBOBJ invocations from here...
13168         * modules/iconv_open (configure.ac): ... to here.
13169
13170 2011-05-08  Bruno Haible  <bruno@clisp.org>
13171
13172         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
13173         If module 'iconv_open' is among the main modules and module
13174         'iconv_open-utf' is among the tests dependencies, then
13175         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
13176         return the special iconv_t values. Therefore iconv() and iconv_close()
13177         must support these special iconv_t values, already in lib, not only in
13178         tests.
13179         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
13180         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
13181         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
13182         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
13183         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
13184         (Depends-on): Add the dependencies of iconv_open-utf.
13185         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
13186         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
13187         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
13188
13189 2011-05-08  Bruno Haible  <bruno@clisp.org>
13190
13191         group-member: Move AC_LIBOBJ invocations to module description.
13192         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
13193         gl_PREREQ_GROUP_MEMBER invocations from here...
13194         * modules/group-member (configure.ac): ... to here.
13195
13196 2011-05-08  Bruno Haible  <bruno@clisp.org>
13197
13198         grantpt: Move AC_LIBOBJ invocations to module description.
13199         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
13200         invocations from here...
13201         * modules/grantpt (configure.ac): ... to here.
13202
13203 2011-05-08  Bruno Haible  <bruno@clisp.org>
13204
13205         glob: Move AC_LIBOBJ invocations to module description.
13206         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
13207         from here...
13208         * modules/glob (configure.ac): ... to here.
13209
13210 2011-05-08  Bruno Haible  <bruno@clisp.org>
13211
13212         getusershell: Move AC_LIBOBJ invocations to module description.
13213         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
13214         Move AC_LIBOBJ invocation from here...
13215         * modules/getusershell (configure.ac): ... to here.
13216         (Depends-on): Update condition.
13217
13218 2011-05-08  Bruno Haible  <bruno@clisp.org>
13219
13220         gettimeofday: Move AC_LIBOBJ invocations to module description.
13221         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
13222         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
13223         gl_PREREQ_GETTIMEOFDAY invocations from here...
13224         * modules/gettimeofday (configure.ac): ... to here.
13225
13226 2011-05-08  Bruno Haible  <bruno@clisp.org>
13227
13228         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
13229         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
13230         just gl_FUNC_TZSET.
13231         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
13232         (gl_FUNC_TZSET_CLOBBER): Remove actions.
13233         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
13234         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
13235
13236 2011-05-08  Bruno Haible  <bruno@clisp.org>
13237
13238         getsubopt: Move AC_LIBOBJ invocations to module description.
13239         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
13240         gl_PREREQ_GETSUBOPT invocations from here...
13241         * modules/getsubopt (configure.ac): ... to here.
13242
13243 2011-05-08  Bruno Haible  <bruno@clisp.org>
13244
13245         getpass-gnu: Move AC_LIBOBJ invocations to module description.
13246         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
13247         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
13248         * modules/getpass-gnu (configure.ac): ... to here.
13249
13250 2011-05-08  Bruno Haible  <bruno@clisp.org>
13251
13252         getpass: Move AC_LIBOBJ invocations to module description.
13253         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
13254         gl_PREREQ_GETPASS invocations from here...
13255         * modules/getpass (configure.ac): ... to here.
13256
13257 2011-05-08  Bruno Haible  <bruno@clisp.org>
13258
13259         getpagesize: Move AC_LIBOBJ invocations to module description.
13260         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
13261         from here...
13262         * modules/getpagesize (configure.ac): ... to here.
13263
13264 2011-05-08  Bruno Haible  <bruno@clisp.org>
13265
13266         getopt: Move AC_LIBOBJ invocations to module description.
13267         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
13268         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
13269         invocations from here...
13270         * modules/getopt-gnu (configure.ac): ... to here.
13271         * modules/getopt-posix (configure.ac): ... and here.
13272         (Depends-on): Update condition.
13273
13274 2011-05-08  Bruno Haible  <bruno@clisp.org>
13275
13276         getopt, argp: Respect rules for use of AC_LIBOBJ.
13277         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
13278         (gl_REPLACE_GETOPT_ALWAYS): New macro.
13279         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
13280         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
13281
13282 2011-05-08  Bruno Haible  <bruno@clisp.org>
13283
13284         getlogin_r: Move AC_LIBOBJ invocations to module description.
13285         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
13286         gl_PREREQ_GETLOGIN_R invocations from here...
13287         * modules/getlogin_r (configure.ac): ... to here.
13288
13289 2011-05-08  Bruno Haible  <bruno@clisp.org>
13290
13291         getlogin: Move AC_LIBOBJ invocations to module description.
13292         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
13293         here...
13294         * modules/getlogin (configure.ac): ... to here.
13295
13296 2011-05-08  Bruno Haible  <bruno@clisp.org>
13297
13298         getloadavg: Move AC_LIBOBJ invocations to module description.
13299         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
13300         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
13301         * modules/getloadavg (configure.ac): ... to here.
13302
13303 2011-05-08  Bruno Haible  <bruno@clisp.org>
13304
13305         gethrxtime: Move AC_LIBOBJ invocations to module description.
13306         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
13307         LIB_GETHRXTIME from here...
13308         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
13309         invocations from here...
13310         * modules/gethrxtime (configure.ac): ... to here.
13311
13312 2011-05-08  Bruno Haible  <bruno@clisp.org>
13313
13314         gethostname: Move AC_LIBOBJ invocations to module description.
13315         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
13316         gl_PREREQ_GETHOSTNAME invocations from here...
13317         * modules/gethostname (configure.ac): ... to here.
13318
13319 2011-05-08  Bruno Haible  <bruno@clisp.org>
13320
13321         getgroups: Move AC_LIBOBJ invocations to module description.
13322         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
13323         here...
13324         * modules/getgroups (configure.ac): ... to here.
13325
13326 2011-05-08  Bruno Haible  <bruno@clisp.org>
13327
13328         getdtablesize: Move AC_LIBOBJ invocations to module description.
13329         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
13330         invocation from here...
13331         * modules/getdtablesize (configure.ac): ... to here.
13332
13333 2011-05-08  Bruno Haible  <bruno@clisp.org>
13334
13335         getdomainname: Move AC_LIBOBJ invocations to module description.
13336         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
13337         gl_PREREQ_GETDOMAINNAME invocations from here...
13338         * modules/getdomainname (configure.ac): ... to here.
13339
13340 2011-05-08  Bruno Haible  <bruno@clisp.org>
13341
13342         getline: Move AC_LIBOBJ invocations to module description.
13343         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
13344         invocations from here...
13345         * modules/getline (configure.ac): ... to here.
13346
13347 2011-05-08  Bruno Haible  <bruno@clisp.org>
13348
13349         getline: Simplify.
13350         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
13351         It's already handled through the module dependency.
13352
13353 2011-05-08  Bruno Haible  <bruno@clisp.org>
13354
13355         getdelim: Move AC_LIBOBJ invocations to module description.
13356         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
13357         and gl_PREREQ_GETDELIM invocations from here...
13358         * modules/getdelim (configure.ac): ... to here.
13359         (Depends-on): Fix condition.
13360
13361 2011-05-08  Bruno Haible  <bruno@clisp.org>
13362
13363         getcwd: Move AC_LIBOBJ invocations to module description.
13364         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
13365         invocations from here...
13366         * modules/getcwd (configure.ac): ... to here.
13367
13368 2011-05-08  Bruno Haible  <bruno@clisp.org>
13369
13370         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
13371         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
13372         here...
13373         * modules/getcwd-lgpl (configure.ac): ... to here.
13374
13375 2011-05-07  Bruno Haible  <bruno@clisp.org>
13376
13377         crypto/gc: Move AC_LIBOBJ invocations to module description.
13378         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
13379         * modules/crypto/gc (configure.ac): ... to here.
13380
13381 2011-05-07  Bruno Haible  <bruno@clisp.org>
13382
13383         fwriting: Move AC_LIBOBJ invocations to module description.
13384         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
13385         here...
13386         * modules/fwriting (configure.ac): ... to here.
13387
13388 2011-05-07  Bruno Haible  <bruno@clisp.org>
13389
13390         fwritable: Move AC_LIBOBJ invocations to module description.
13391         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
13392         here...
13393         * modules/fwritable (configure.ac): ... to here.
13394
13395 2011-05-07  Bruno Haible  <bruno@clisp.org>
13396
13397         futimens: Move AC_LIBOBJ invocations to module description.
13398         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
13399         here...
13400         * modules/futimens (configure.ac): ... to here.
13401
13402 2011-05-07  Bruno Haible  <bruno@clisp.org>
13403
13404         ftruncate: Move AC_LIBOBJ invocations to module description.
13405         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
13406         gl_PREREQ_FTRUNCATE invocations from here...
13407         * modules/ftruncate (configure.ac): ... to here.
13408
13409 2011-05-07  Bruno Haible  <bruno@clisp.org>
13410
13411         fsync: Move AC_LIBOBJ invocations to module description.
13412         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
13413         invocations from here...
13414         * modules/fsync (configure.ac): ... to here.
13415
13416 2011-05-07  Bruno Haible  <bruno@clisp.org>
13417
13418         fsusage: Move AC_LIBOBJ invocations to module description.
13419         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
13420         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
13421         * modules/fsusage (configure.ac): ... to here.
13422
13423 2011-05-07  Bruno Haible  <bruno@clisp.org>
13424
13425         freopen: Move AC_LIBOBJ invocations to module description.
13426         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
13427         invocations from here...
13428         * modules/freopen (configure.ac): ... to here.
13429
13430 2011-05-07  Bruno Haible  <bruno@clisp.org>
13431
13432         free: Move AC_LIBOBJ invocations to module description.
13433         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
13434         invocations from here...
13435         * modules/free (configure.ac): ... to here.
13436
13437 2011-05-07  Bruno Haible  <bruno@clisp.org>
13438
13439         freadable: Move AC_LIBOBJ invocations to module description.
13440         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
13441         here...
13442         * modules/freadable (configure.ac): ... to here.
13443
13444 2011-05-07  Bruno Haible  <bruno@clisp.org>
13445
13446         fpurge: Move AC_LIBOBJ invocations to module description.
13447         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
13448         invocations from here...
13449         * modules/fpurge (configure.ac): ... to here.
13450
13451 2011-05-07  Bruno Haible  <bruno@clisp.org>
13452
13453         fpending: Move AC_LIBOBJ invocations to module description.
13454         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
13455         gl_FUNC_FPENDING.
13456         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
13457         invocations from here...
13458         * modules/fpending (configure.ac): ... to here.
13459
13460 2011-05-07  Bruno Haible  <bruno@clisp.org>
13461
13462         fopen: Move AC_LIBOBJ invocations to module description.
13463         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
13464         invocations from here...
13465         * modules/fopen (configure.ac): ... to here.
13466
13467 2011-05-07  Bruno Haible  <bruno@clisp.org>
13468
13469         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
13470         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
13471         gl_FUNC_FNMATCH_POSIX.
13472         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
13473         invocations from here...
13474         * modules/fnmatch (configure.ac): ... to here.
13475         * modules/fnmatch-gnu (configure.ac): ... and here.
13476
13477 2011-05-07  Bruno Haible  <bruno@clisp.org>
13478
13479         flock: Move AC_LIBOBJ invocations to module description.
13480         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
13481         invocations from here...
13482         * modules/flock (configure.ac): ... to here.
13483
13484 2011-05-07  Bruno Haible  <bruno@clisp.org>
13485
13486         fileblocks: Move AC_LIBOBJ invocations to module description.
13487         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
13488         gl_PREREQ_FILEBLOCKS invocations from here...
13489         * modules/fileblocks (configure.ac): ... to here.
13490
13491 2011-05-06  Bruno Haible  <bruno@clisp.org>
13492
13493         fflush: Move AC_LIBOBJ invocations to module description.
13494         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
13495         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
13496         invocations from here...
13497         * modules/fflush (configure.ac): ... to here.
13498
13499 2011-05-06  Bruno Haible  <bruno@clisp.org>
13500
13501         fdopendir: Move AC_LIBOBJ invocations to module description.
13502         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
13503         here...
13504         * modules/fdopendir (configure.ac): ... to here.
13505         (Depends-on): Improve conditions.
13506
13507 2011-05-06  Bruno Haible  <bruno@clisp.org>
13508
13509         _Exit: Move AC_LIBOBJ invocations to module description.
13510         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
13511         invocations from here...
13512         * modules/_Exit (configure.ac): ... to here.
13513
13514 2011-05-21  Bruno Haible  <bruno@clisp.org>
13515
13516         euidaccess: Respect rules for use of AC_LIBOBJ.
13517         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13518         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
13519         from here...
13520         * modules/euidaccess (configure.ac): ... to here.
13521
13522 2011-05-06  Bruno Haible  <bruno@clisp.org>
13523
13524         error: Move AC_LIBOBJ invocations to module description.
13525         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
13526         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
13527         invocations from here...
13528         * modules/error (configure.ac): ... to here.
13529
13530 2011-05-06  Bruno Haible  <bruno@clisp.org>
13531
13532         duplocale: Move AC_LIBOBJ invocations to module description.
13533         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
13534         gl_PREREQ_DUPLOCALE invocations from here...
13535         * modules/duplocale (configure.ac): ... to here.
13536
13537 2011-05-05  Bruno Haible  <bruno@clisp.org>
13538
13539         dirfd: Move AC_LIBOBJ invocations to module description.
13540         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
13541         gl_FUNC_DIRFD.
13542         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
13543         here...
13544         * modules/dirfd (configure.ac): ... to here.
13545         (Depends-on): Fix condition.
13546
13547 2011-05-05  Bruno Haible  <bruno@clisp.org>
13548
13549         chown: Respect rules for use of AC_LIBOBJ.
13550         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
13551         * modules/chown (configure.ac): ... to here.
13552
13553 2011-05-05  Bruno Haible  <bruno@clisp.org>
13554
13555         chdir-long: Move AC_LIBOBJ invocations to module description.
13556         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
13557         gl_PREREQ_CHDIR_LONG invocations from here...
13558         * modules/chdir-long (configure.ac): ... to here.
13559
13560 2011-05-05  Bruno Haible  <bruno@clisp.org>
13561
13562         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
13563         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
13564         from here...
13565         * modules/canonicalize-lgpl (configure.ac): ... to here.
13566
13567 2011-05-05  Bruno Haible  <bruno@clisp.org>
13568
13569         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
13570         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
13571         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
13572         REPLACE_CALLOC.
13573         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
13574         * modules/calloc-gnu (configure.ac): Likewise.
13575
13576 2011-05-05  Bruno Haible  <bruno@clisp.org>
13577
13578         btowc: Move AC_LIBOBJ invocations to module description.
13579         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
13580         invocations from here...
13581         * modules/btowc (configure.ac): ... to here.
13582
13583 2011-05-21  Bruno Haible  <bruno@clisp.org>
13584
13585         atexit: Move AC_LIBOBJ invocations to module description.
13586         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
13587         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
13588         here...
13589         * modules/atexit (configure.ac): ... to here.
13590
13591 2011-05-05  Bruno Haible  <bruno@clisp.org>
13592
13593         atoll: Move AC_LIBOBJ invocations to module description.
13594         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
13595         invocations from here...
13596         * modules/atoll (configure.ac): ... to here.
13597
13598 2011-05-05  Bruno Haible  <bruno@clisp.org>
13599
13600         argz: Move AC_LIBOBJ invocations to module description.
13601         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
13602         * modules/argz (configure.ac): ... to here.
13603
13604 2011-05-05  Bruno Haible  <bruno@clisp.org>
13605
13606         alphasort: Move AC_LIBOBJ invocations to module description.
13607         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
13608         gl_PREREQ_ALPHASORT invocations from here...
13609         * modules/alphasort (configure.ac): ... to here.
13610
13611 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13612
13613         verify: new macro verify_expr; verify_true deprecated
13614         * NEWS: Mention this.
13615         * doc/verify.texi (Compile-time Assertions): Document this.
13616         * lib/verify.h (verify_true): Deprecate.
13617         (verify_expr): New macro.
13618         * tests/test-verify.c (function): Test verify_expr.
13619
13620 2011-06-14  Jim Meyering  <meyering@redhat.com>
13621
13622         init.sh: give more portable redirection-related advice in a comment
13623         * tests/init.sh (stderr_fileno_): Update the advice in comments.
13624         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
13625         for lots of discussion.  Stefano Lattarini suggested the solution
13626         of putting "9>&2" after the command.  Reported by Bruno Haible.
13627
13628 2011-06-13  Bruno Haible  <bruno@clisp.org>
13629
13630         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
13631         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
13632         'none'.
13633
13634 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
13635
13636         ftoastr: use strtof only if HAVE_STRTOF
13637         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
13638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
13639         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13640         * modules/ftoastr (configure.ac): Check for strtof.
13641
13642 2011-06-13  Bruno Haible  <bruno@clisp.org>
13643
13644         gnulib-tool: Addendum to 2011-06-08 commit.
13645         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
13646         and --witness-c-macro have been given, augment AM_CPPFLAGS.
13647
13648 2011-06-13  Bruno Haible  <bruno@clisp.org>
13649
13650         fseeko: Provide a non-inline replacement of fseek().
13651         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
13652         * modules/fseeko (Depends-on): Add fseek.
13653         * modules/fseek (License): Change to LGPLv2+.
13654
13655 2011-06-13  Bruno Haible  <bruno@clisp.org>
13656
13657         ftello: Provide a non-inline replacement of ftell().
13658         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
13659         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13660         not have ftello() (such as on mingw).
13661         * modules/ftello (Depends-on): Add ftell.
13662         * modules/ftell (License): Change to LGPLv2+.
13663
13664 2011-05-07  Bruno Haible  <bruno@clisp.org>
13665
13666         ftell: Move AC_LIBOBJ invocations to module description.
13667         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
13668         * modules/ftell (configure.ac): ... to here.
13669
13670 2011-05-07  Bruno Haible  <bruno@clisp.org>
13671
13672         ftello: Respect rules for use of AC_LIBOBJ.
13673         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
13674         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
13675         here...
13676         * modules/ftello (configure.ac): ... to here.
13677
13678 2011-05-07  Bruno Haible  <bruno@clisp.org>
13679
13680         fseeko: Simplify.
13681         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13682         (gl_FUNC_FSEEKO): Inline it here.
13683
13684 2011-05-07  Bruno Haible  <bruno@clisp.org>
13685
13686         fseek: Move AC_LIBOBJ invocations to module description.
13687         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13688         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13689         * modules/fseek (configure.ac): ... to here.
13690
13691 2011-05-07  Bruno Haible  <bruno@clisp.org>
13692
13693         fseek: Respect rules for use of AC_LIBOBJ.
13694         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13695         here...
13696         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13697
13698 2011-05-07  Bruno Haible  <bruno@clisp.org>
13699
13700         fseeko: Respect rules for use of AC_LIBOBJ.
13701         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13702         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13703         here...
13704         * modules/fseeko (configure.ac): ... to here.
13705
13706 2011-06-13  Bruno Haible  <bruno@clisp.org>
13707
13708         gnulib-tool: Allow comments in the 'Depends-on' section.
13709         * doc/gnulib.texi (Module description): Mention comment syntax in the
13710         Depends-on section.
13711         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13712
13713 2011-06-13  Bruno Haible  <bruno@clisp.org>
13714
13715         file-set.h: guard __attibute__ use, now that it's not always defined
13716         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13717         versions that support it.  This fixes a coreutils build failure with
13718         the vendor cc on HP-UX 11.31.
13719
13720 2011-06-12  Bruno Haible  <bruno@clisp.org>
13721
13722         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13723         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13724         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13725         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13726         (acl, aclsort): New declarations.
13727         (aclv_nontrivial): New declaration.
13728         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13729         (file_has_acl): Read also the second kind of HP-UX ACLs.
13730         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13731         kind of HP-UX ACLs if the first kind fails.
13732         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13733         second kind of HP-UX ACLs.
13734         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13735         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13736         agree.
13737         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13738         hpuxjfs.
13739         Handle hpuxjfs.
13740         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13741         hpuxjfs.
13742         Handle hpuxjfs.
13743         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13744         (func_test_same_acls): Use both lsacl and getacl.
13745         Handle hpuxjfs.
13746         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13747         (func_test_same_acls): Use both lsacl and getacl.
13748         Handle hpuxjfs.
13749
13750 2011-06-12  Bruno Haible  <bruno@clisp.org>
13751
13752         acl: Complete the 2010-08-10 fix.
13753         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13754         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13755         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13756         explicitly.
13757         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13758         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13759
13760 2011-06-12  Bruno Haible  <bruno@clisp.org>
13761
13762         spawn-pipe tests: Comments.
13763         * tests/test-spawn-pipe-child.c (main): Update comment.
13764         Reported by James Youngman <jay@gnu.org>.
13765
13766 2011-06-11  James Youngman  <jay@gnu.org>
13767
13768         New module 'stat-size'.
13769         * modules/stat-size: New module.  Provides macros for accessing
13770         file size information in instances of struct stat.  Depends on the
13771         fileblocks module because it calls st_blocks.
13772         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13773         * doc/gnulib.texi: Include stat-size.texi.
13774         * doc/stat-size.texi: Documentation for this module.
13775         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13776         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13777         AC_STRUCT_ST_BLOCKS.
13778
13779 2011-06-09  Bruno Haible  <bruno@clisp.org>
13780
13781         thread: Support pthreads-win32.
13782         * lib/glthread/thread.h (gl_thread_self): Define differently on
13783         pthreads-win32.
13784         (gl_null_thread): New declaration.
13785         (gl_thread_self_pointer): New macro.
13786         * lib/glthread/thread.c (gl_null_thread): New constant.
13787         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13788         gl_thread_self.
13789         * tests/test-tls.c: Likewise.
13790         Suggested by Paul Eggert. Reported by Eric Blake.
13791
13792 2011-06-09  Bruno Haible  <bruno@clisp.org>
13793
13794         thread: Fix confusion between NULL and 0.
13795         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13796         Reported by Paul Eggert.
13797
13798 2011-06-09  Bruno Haible  <bruno@clisp.org>
13799
13800         spawn-pipe tests: Avoid test failure on HP-UX 11.
13801         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13802         is closed.
13803
13804 2011-06-09  Bruno Haible  <bruno@clisp.org>
13805
13806         acl tests: Fix compilation error on HP-UX 11.
13807         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13808
13809 2011-06-09  Bruno Haible  <bruno@clisp.org>
13810
13811         rmdir: Avoid test failure on HP-UX 10.20.
13812         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13813         EEXIST.
13814
13815 2011-06-08  Eric Blake  <eblake@redhat.com>
13816
13817         perror: fix test on mingw
13818         * modules/perror-tests (Depends-on): Add dup2.
13819
13820         strerror_r-posix: fix on MacOS
13821         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
13822         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
13823         logic bug.
13824         * lib/strerror_r.c (strerror_r): Fix the bug.
13825         * lib/strerror.c (strerror): Likewise.
13826         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13827         problem.
13828         * doc/posix-functions/strerror.texi (strerror): Likewise.
13829         * doc/posix-functions/perror.texi (perror): Likewise.
13830         * tests/test-strerror.c (main): Enhance test.
13831         * tests/test-strerror_r.c (main): Likewise.
13832
13833 2011-06-08  Bruno Haible  <bruno@clisp.org>
13834
13835         gnulib-tool: Better isolation between different gnulib-tool invocations.
13836         * gnulib-tool: New option --witness-c-macro.
13837         (witness_c_macro): New variable.
13838         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
13839         AM_CPPFLAGS define it as a C macro.
13840         (func_emit_tests_Makefile_am): Likewise.
13841         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
13842         read it from there.
13843         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
13844         m4_define, not AC_DEFUN.
13845         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13846         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13847         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13848         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13849         s|...|...|, to substitute the values of the GNULIB_* module indicator
13850         variables.
13851         * modules/dirent (Makefile.am): Likewise.
13852         * modules/fcntl-h (Makefile.am): Likewise.
13853         * modules/iconv-h (Makefile.am): Likewise.
13854         * modules/langinfo (Makefile.am): Likewise.
13855         * modules/locale (Makefile.am): Likewise.
13856         * modules/math (Makefile.am): Likewise.
13857         * modules/netdb (Makefile.am): Likewise.
13858         * modules/poll-h (Makefile.am): Likewise.
13859         * modules/pty (Makefile.am): Likewise.
13860         * modules/search (Makefile.am): Likewise.
13861         * modules/signal (Makefile.am): Likewise.
13862         * modules/spawn (Makefile.am): Likewise.
13863         * modules/stdio (Makefile.am): Likewise.
13864         * modules/stdlib (Makefile.am): Likewise.
13865         * modules/string (Makefile.am): Likewise.
13866         * modules/sys_ioctl (Makefile.am): Likewise.
13867         * modules/sys_select (Makefile.am): Likewise.
13868         * modules/sys_socket (Makefile.am): Likewise.
13869         * modules/sys_stat (Makefile.am): Likewise.
13870         * modules/sys_times (Makefile.am): Likewise.
13871         * modules/sys_utsname (Makefile.am): Likewise.
13872         * modules/sys_wait (Makefile.am): Likewise.
13873         * modules/termios (Makefile.am): Likewise.
13874         * modules/time (Makefile.am): Likewise.
13875         * modules/unistd (Makefile.am): Likewise.
13876         * modules/wchar (Makefile.am): Likewise.
13877
13878 2011-06-08  Eric Blake  <eblake@redhat.com>
13879
13880         strerror: simplify replacement
13881         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13882         * modules/strerror (configure.ac): No prereqs needed here...
13883         * modules/strerror-override (configure.ac): ...but this needs it.
13884         (Files): Add file for needed prereq macro.
13885
13886 2011-06-08  Bruno Haible  <bruno@clisp.org>
13887
13888         strerror_r-posix: Tweaks.
13889         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13890         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13891         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13892         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13893         (gl_FUNC_STRERROR_R): ... to here.
13894         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13895
13896 2011-06-07  Eric Blake  <eblake@redhat.com>
13897
13898         perror: document fixed bugs
13899         * doc/posix-functions/perror.texi (perror): Document recent
13900         patches.
13901
13902 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13903
13904         stat-time: get_stat_birthtime failure is better-defined
13905         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13906         return a timestamp whose tv_sec and tv_nsec values are both -1.
13907         Previously, the spec said only that the tv_nsec value was negative.
13908         This upward-compatible change simplifies GNU tar a bit.
13909
13910 2011-06-07  Eric Blake  <eblake@redhat.com>
13911
13912         strerror_r-posix: work around cygwin 1.7.9
13913         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13914         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13915         bug without replacing strerror_r.
13916         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13917         strerror_r is buggy, but without requiring strerror_r compilation.
13918         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13919
13920         test-perror: relax test to ignore cygwin bug
13921         * tests/test-perror2.c (main): Relax test on requiring detection
13922         of stream errors, and use unbuffered stream.
13923         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13924         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13925         * doc/posix-functions/fputc.texi (fputc): Likewise.
13926         * doc/posix-functions/fputs.texi (fputs): Likewise.
13927         * doc/posix-functions/fputws.texi (fputws): Likewise.
13928         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13929         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13930         * doc/posix-functions/getopt.texi (getopt): Likewise.
13931         * doc/posix-functions/perror.texi (perror): Likewise.
13932         * doc/posix-functions/printf.texi (printf): Likewise.
13933         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13934         * doc/posix-functions/psignal.texi (psignal): Likewise.
13935         * doc/posix-functions/putc.texi (putc): Likewise.
13936         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13937         Likewise.
13938         * doc/posix-functions/putchar.texi (putchar): Likewise.
13939         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13940         Likewise.
13941         * doc/posix-functions/puts.texi (puts): Likewise.
13942         * doc/posix-functions/putwc.texi (putwc): Likewise.
13943         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13944         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13945         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13946         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13947         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13948         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13949         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13950         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13951
13952 2011-05-22  Bruno Haible  <bruno@clisp.org>
13953
13954         strerror: Move AC_LIBOBJ invocations to module description.
13955         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13956         gl_PREREQ_STRERROR invocations from here...
13957         * modules/strerror (configure.ac): ... to here.
13958
13959 2011-05-21  Bruno Haible  <bruno@clisp.org>
13960
13961         perror: Use common idiom.
13962         * modules/perror (configure.ac): Reorder statements.
13963
13964 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13965
13966         tests: fix usage message in 'mktempd_'
13967         * tests/init.sh (mktempd_): In the usage message, use literal
13968         'mktempd_', not '$ME' (which is even undefined), as the name of
13969         the subroutine.
13970
13971 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13972
13973         tests init: new function 'fatal_', for hard errors
13974         Before this patch, the only way offered by tests/init.sh to
13975         properly signal a hard error was the `framework_failure_'
13976         function.  But the error message issued by that function,
13977         as its name would suggest, refers to a set-up failure in the
13978         testsuite, while hard errors can obviously also be due to
13979         other reasons.  The best way to fix this inconsistency is to
13980         introduce a new function with a more general error message.
13981         * tests/init.sh (fatal_): New function.
13982
13983 2011-06-06  Eric Blake  <eblake@redhat.com>
13984
13985         canonicalize-lgpl: use common idiom
13986         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
13987         over newer POSIX -Rf.
13988         Reported by Bruno Haible.
13989
13990         canonicalize-lgpl: work around AIX realpath bug
13991         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
13992         * doc/posix-functions/realpath.texi (realpath): Document it.
13993         Reported by Bruno Haible.
13994
13995         strerror: work around FreeBSD bug
13996         * lib/strerror.c (strerror): Special case 0.
13997         Reported by Bruno Haible.
13998
13999         strerror-override: avoid bloating errno module
14000         * modules/errno (Files, configure.ac): Move replacement strings...
14001         * modules/strerror-override: ...to new module.
14002         * modules/strerror (Depends-on): Add strerror-override.
14003         * modules/strerror_r-posix (Depends-on): Likewise.
14004         * MODULES.html.sh: Document new module.
14005         Reported by Bruno Haible.
14006
14007 2011-06-06  Bruno Haible  <bruno@clisp.org>
14008
14009         spawn-pipe tests: Rename program.
14010         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
14011         * tests/test-spawn-pipe-child.c: Update comment.
14012         * tests/test-spawn-pipe.sh: Update.
14013         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
14014
14015         spawn-pipe tests: Link the child program only against libc.
14016         * tests/test-spawn-pipe-child.c: New file, extracted from
14017         tests/test-spawn-pipe.c.
14018         (main): Expect only one argument.
14019         (is_open): New function, copied from tests/test-pipe.c.
14020         * tests/test-spawn-pipe.c: Don't include <errno.h>.
14021         (child_main): Remove function.
14022         (test_pipe): Pass only one argument to the child program.
14023         (main): Remove child process code. Expect the child program's name as
14024         first argument.
14025         * tests/test-spawn-pipe.sh: Pass the child program's name as first
14026         argument.
14027         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
14028         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
14029         test-spawn-pipe-child against no libraries.
14030
14031 2011-06-06  Bruno Haible  <bruno@clisp.org>
14032
14033         careadlinkat: Avoid mismatch between ssize_t and int.
14034         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
14035         * lib/careadlinkat.c (careadlinkatcwd): Define always.
14036
14037 2011-06-06  Jim Meyering  <meyering@redhat.com>
14038
14039         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
14040         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
14041         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
14042
14043 2011-06-05  Bruno Haible  <bruno@clisp.org>
14044
14045         ansi-c++-opt: Interoperability with libtool.
14046         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
14047         set the variable to "no", not to ":".
14048         * NEWS: Mention the change.
14049
14050 2011-06-05  Bruno Haible  <bruno@clisp.org>
14051
14052         acl: Fix test failure on AIX 7.
14053         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
14054         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
14055
14056 2011-06-05  Bruno Haible  <bruno@clisp.org>
14057
14058         pipe-filter-ii: Fix test failure on AIX and IRIX.
14059         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
14060         with EAGAIN, retry with a smaller buffer size.
14061
14062 2011-06-05  Bruno Haible  <bruno@clisp.org>
14063
14064         localename: Fix link dependencies.
14065         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
14066         * modules/localename-tests (Makefile.am): Link test-localename with
14067         $(LIBTHREAD).
14068
14069 2011-06-05  Bruno Haible  <bruno@clisp.org>
14070
14071         error: Avoid gcc warning.
14072         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
14073
14074 2011-06-05  Bruno Haible  <bruno@clisp.org>
14075
14076         unsetenv: Avoid gcc warning.
14077         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
14078
14079 2011-06-05  Bruno Haible  <bruno@clisp.org>
14080
14081         setenv: Avoid gcc warning.
14082         * lib/setenv.c (setenv): Provide declaration if system lacks it.
14083
14084 2011-06-05  Bruno Haible  <bruno@clisp.org>
14085
14086         sys_select: Ensure memset is declared also on AIX 7.
14087         * lib/sys_select.in.h: Include <string.h> also on AIX.
14088         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
14089         self-contained also on AIX 7.1.
14090
14091 2011-06-04  Jim Meyering  <meyering@redhat.com>
14092
14093         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
14094         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
14095         function name, "error".
14096         (_gl_translatable_diag_func_re): New configurable variable.
14097
14098 2011-06-04  Bruno Haible  <bruno@clisp.org>
14099
14100         getopt: Avoid gcc warning.
14101         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
14102
14103 2011-06-04  Bruno Haible  <bruno@clisp.org>
14104
14105         strerror_r: Fix comments.
14106         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
14107         commit.
14108
14109 2011-06-04  Bruno Haible  <bruno@clisp.org>
14110
14111         perror: Fix compilation error.
14112         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
14113         Undefine fprintf, not sprintf.
14114         * modules/perror (Depends-on): Remove intprops, verify.
14115
14116 2011-06-04  Bruno Haible  <bruno@clisp.org>
14117
14118         setlocale: Enable replacement on Cygwin 1.5.
14119         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
14120         Cygwin 1.5.x.
14121         * doc/posix-functions/setlocale.texi: Mention that the problem with the
14122         LC_CTYPE category also exists on Cygwin 1.5.x.
14123
14124 2011-06-04  Bruno Haible  <bruno@clisp.org>
14125
14126         strerror-override: Don't disable symbol renamings.
14127         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
14128         * lib/strerror-override.c: Include config.h.
14129         (strerror_override): Don't undefine.
14130
14131 2011-06-03  Bruno Haible  <bruno@clisp.org>
14132
14133         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
14134         * lib/localename.h: Update copyright header.
14135         * lib/localename.c: Likewise.
14136         * lib/relocatable.h: Likewise.
14137         * lib/relocatable.c: Likewise.
14138
14139 2011-06-02  Bruno Haible  <bruno@clisp.org>
14140
14141         doc: Fix a module name.
14142         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
14143
14144 2011-06-02  Bruno Haible  <bruno@clisp.org>
14145
14146         pipe2: Remove dependency on 'nonblocking' module.
14147         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
14148         O_NONBLOCK is defined by gnulib.
14149         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
14150         is zero.
14151         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
14152         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
14153         defined by gnulib.
14154         (get_nonblocking_flag): New function.
14155         (main): Test O_NONBLOCK flag only if it is nonzero.
14156         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
14157
14158 2011-06-03  Jim Meyering  <meyering@redhat.com>
14159
14160         maint: three new prohibit-header-without-use rules
14161         Prohibit use of cloexec.h, posixver.h, same.h without use.
14162         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
14163         (sc_prohibit_posixver_without_use): Likewise.
14164         (sc_prohibit_same_without_use): Likewise.
14165
14166 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14167
14168         allocator: 'die' routine is now given requested size
14169         * lib/allocator.h (struct allocator.die): New size arg.
14170         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
14171         If the actual problem is an ssize_t limitation, not a size_t or
14172         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
14173
14174 2011-06-01  Eric Blake  <eblake@redhat.com>
14175
14176         strerror: drop strerror_r dependency
14177         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
14178         * lib/strerror-override.c (strerror_override): ...to new file.
14179         * lib/strerror-override.h: Add prototype.
14180         * lib/strerror-impl.h: Delete.
14181         * lib/strerror.c (strerror): New implementation.
14182         * modules/errno (Files): Add new files.
14183         (configure.ac): Compile new file as appropriate.
14184         * modules/strerror (Files): Drop unused file.
14185         (Depends-on): Drop strerror_r-posix.
14186         * MODULES.html.sh: Document strerror_r-posix.
14187         Requested by Sam Steingold.
14188
14189         perror: call strerror_r directly
14190         * modules/perror (Files): Drop strerror-impl.h.
14191         * lib/perror.c (perror): Use our own stack buffer, rather than
14192         calling a wrapper that uses static storage.
14193         * doc/posix-functions/perror.texi (perror): Document a limitation
14194         of our replacement.
14195
14196         strerror_r: fix includes for FreeBSD
14197         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
14198         since we use abort on some platforms.
14199         Reported by Matthias Bolte.
14200
14201 2011-05-31  Bruno Haible  <bruno@clisp.org>
14202
14203         Fix link errors in tests: openat-die uses gettext-h.
14204         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
14205         against $(LIBINTL).
14206         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
14207         against $(LIBINTL).
14208         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
14209         $(LIBINTL).
14210         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
14211         against $(LIBINTL).
14212         * modules/linkat-tests (Makefile.am): Link test-linkat against
14213         $(LIBINTL).
14214         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
14215         $(LIBINTL).
14216         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
14217         against $(LIBINTL).
14218         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
14219         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
14220         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
14221         $(LIBINTL).
14222         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
14223         $(LIBINTL).
14224         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
14225         $(LIBINTL).
14226         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14227
14228 2011-05-31  Bruno Haible  <bruno@clisp.org>
14229
14230         Fix link errors in tests: wait-process uses gettext-h.
14231         * modules/nonblocking-pipe-tests (Makefile.am): Set
14232         test_nonblocking_pipe_main_LDADD.
14233         * modules/nonblocking-socket-tests (Makefile.am): Link
14234         test-nonblocking-socket-main against $(LIBINTL).
14235         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14236
14237 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
14238
14239         assert-h: work around 'verify' incompatibility
14240         * lib/verify.h: Use @...@ directives, not ifdef.
14241         * modules/assert-h (assert.h): Implement the directives.
14242         (assert.h): Substitute the symbol-prefix more consistently.
14243
14244 2011-05-29  Jim Meyering  <meyering@redhat.com>
14245
14246         trim: remove three superfluous assignments
14247         * lib/trim.c (trim2): Remove three superfluous assignments
14248         and correct brace positioning.
14249
14250 2011-05-29  Bruno Haible  <bruno@clisp.org>
14251
14252         wctype-h: Avoid namespace pollution on Solaris 2.6.
14253         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
14254         identifiers.
14255         * doc/posix-headers/wctype.texi: Mention the problem.
14256         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14257
14258 2011-05-28  Jim Meyering  <meyering@redhat.com>
14259
14260         parse-datetime.y: accommodate -Wstrict-overflow
14261         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
14262         placate -Wstrict-overflow.
14263
14264         trim: avoid a warning from -O2 -Wstrict-overflow
14265         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
14266
14267 2011-05-29  Bruno Haible  <bruno@clisp.org>
14268
14269         gnulib-tool: Fix bug in yesterday's commit.
14270         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
14271         twice.
14272
14273 2011-05-29  Bruno Haible  <bruno@clisp.org>
14274
14275         Allow multiple gnulib generated include files to be combined.
14276         * gnulib-tool (func_compute_include_guard_prefix): New function.
14277         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
14278         ${gl_include_guard_prefix} references.
14279         (func_import, func_create_testdir): Invoke
14280         func_compute_include_guard_prefix.
14281         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
14282         * lib/ctype.in.h: Likewise.
14283         * lib/dirent.in.h: Likewise.
14284         * lib/errno.in.h: Likewise.
14285         * lib/fcntl.in.h: Likewise.
14286         * lib/float.in.h: Likewise.
14287         * lib/getopt.in.h: Likewise.
14288         * lib/iconv.in.h: Likewise.
14289         * lib/langinfo.in.h: Likewise.
14290         * lib/locale.in.h: Likewise.
14291         * lib/math.in.h: Likewise.
14292         * lib/netdb.in.h: Likewise.
14293         * lib/netinet_in.in.h: Likewise.
14294         * lib/poll.in.h: Likewise.
14295         * lib/pthread.in.h: Likewise.
14296         * lib/pty.in.h: Likewise.
14297         * lib/sched.in.h: Likewise.
14298         * lib/se-selinux.in.h: Likewise.
14299         * lib/search.in.h: Likewise.
14300         * lib/signal.in.h: Likewise.
14301         * lib/spawn.in.h: Likewise.
14302         * lib/stdarg.in.h: Likewise.
14303         * lib/stddef.in.h: Likewise.
14304         * lib/stdint.in.h: Likewise.
14305         * lib/stdio.in.h: Likewise.
14306         * lib/stdlib.in.h: Likewise.
14307         * lib/string.in.h: Likewise.
14308         * lib/strings.in.h: Likewise.
14309         * lib/sys_file.in.h: Likewise.
14310         * lib/sys_ioctl.in.h: Likewise.
14311         * lib/sys_select.in.h: Likewise.
14312         * lib/sys_socket.in.h: Likewise.
14313         * lib/sys_stat.in.h: Likewise.
14314         * lib/sys_time.in.h: Likewise.
14315         * lib/sys_times.in.h: Likewise.
14316         * lib/sys_uio.in.h: Likewise.
14317         * lib/sys_utsname.in.h: Likewise.
14318         * lib/sys_wait.in.h: Likewise.
14319         * lib/sysexits.in.h: Likewise.
14320         * lib/termios.in.h: Likewise.
14321         * lib/time.in.h: Likewise.
14322         * lib/unistd.in.h: Likewise.
14323         * lib/wchar.in.h: Likewise.
14324         * lib/wctype.in.h: Likewise.
14325         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
14326         * modules/ctype (Makefile.am): Likewise.
14327         * modules/dirent (Makefile.am): Likewise.
14328         * modules/errno (Makefile.am): Likewise.
14329         * modules/fcntl-h (Makefile.am): Likewise.
14330         * modules/float (Makefile.am): Likewise.
14331         * modules/getopt-posix (Makefile.am): Likewise.
14332         * modules/iconv-h (Makefile.am): Likewise.
14333         * modules/langinfo (Makefile.am): Likewise.
14334         * modules/locale (Makefile.am): Likewise.
14335         * modules/math (Makefile.am): Likewise.
14336         * modules/netdb (Makefile.am): Likewise.
14337         * modules/netinet_in (Makefile.am): Likewise.
14338         * modules/poll-h (Makefile.am): Likewise.
14339         * modules/pthread (Makefile.am): Likewise.
14340         * modules/pty (Makefile.am): Likewise.
14341         * modules/sched (Makefile.am): Likewise.
14342         * modules/search (Makefile.am): Likewise.
14343         * modules/selinux-h (Makefile.am): Likewise.
14344         * modules/signal (Makefile.am): Likewise.
14345         * modules/spawn (Makefile.am): Likewise.
14346         * modules/stdarg (Makefile.am): Likewise.
14347         * modules/stddef (Makefile.am): Likewise.
14348         * modules/stdint (Makefile.am): Likewise.
14349         * modules/stdio (Makefile.am): Likewise.
14350         * modules/stdlib (Makefile.am): Likewise.
14351         * modules/string (Makefile.am): Likewise.
14352         * modules/strings (Makefile.am): Likewise.
14353         * modules/sys_file (Makefile.am): Likewise.
14354         * modules/sys_ioctl (Makefile.am): Likewise.
14355         * modules/sys_select (Makefile.am): Likewise.
14356         * modules/sys_socket (Makefile.am): Likewise.
14357         * modules/sys_stat (Makefile.am): Likewise.
14358         * modules/sys_time (Makefile.am): Likewise.
14359         * modules/sys_times (Makefile.am): Likewise.
14360         * modules/sys_uio (Makefile.am): Likewise.
14361         * modules/sys_utsname (Makefile.am): Likewise.
14362         * modules/sys_wait (Makefile.am): Likewise.
14363         * modules/sysexits (Makefile.am): Likewise.
14364         * modules/termios (Makefile.am): Likewise.
14365         * modules/time (Makefile.am): Likewise.
14366         * modules/unistd (Makefile.am): Likewise.
14367         * modules/wchar (Makefile.am): Likewise.
14368         * modules/wctype-h (Makefile.am): Likewise.
14369         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
14370
14371 2011-05-29  Bruno Haible  <bruno@clisp.org>
14372
14373         assert-h: Allow multiple gnulib generated replacements to coexist.
14374         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
14375
14376 2011-05-29  Bruno Haible  <bruno@clisp.org>
14377
14378         argp: Allow coexistence with strerror_r-posix module.
14379         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
14380         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
14381         by gnulib's <string.h> replacement), assume it has the POSIX signature,
14382         not the glibc signature.
14383
14384 2011-05-28  Bruno Haible  <bruno@clisp.org>
14385
14386         gnulib-tool: Alternative structure of testdirs, similar to --import.
14387         * gnulib-tool: New option --single-configure.
14388         (func_usage): Document it.
14389         (single_configure): New variable.
14390         (func_modules_transitive_closure_separately,
14391         func_modules_transitive_closure_separately,
14392         func_determine_use_libtests, func_modules_add_dummy_separately,
14393         func_modules_to_filelist_separately): New functions, extracted from
14394         func_import.
14395         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
14396         (func_import): Use the new functions.
14397         (func_create_testdir): Set final_modules. Handle $single_configure =
14398         true case.
14399
14400 2011-05-28  Bruno Haible  <bruno@clisp.org>
14401
14402         getloadavg: Remove an unreliable safety check.
14403         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
14404         getloadavg.c is in place.
14405         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
14406         Reported by Sam Steingold <sds@gnu.org>.
14407
14408 2011-05-28  Bruno Haible  <bruno@clisp.org>
14409
14410         doc: Cleanup yet another file produced by texinfo.tex.
14411         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
14412
14413 2011-05-28  Bruno Haible  <bruno@clisp.org>
14414
14415         Finish the conditional dependencies mechanism.
14416         * gnulib-tool: New option --no-conditional-dependencies.
14417         (func_usage): Document it. Don't mark --conditional-dependencies as
14418         experimental.
14419         (cond_dependencies): The possible values can now be true, false, empty.
14420         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
14421         (func_import): Store setting in gnulib-cache.m4 and read it from there.
14422         * doc/gnulib-tool.texi (Conditional dependencies): New section.
14423
14424 2011-05-28  Bruno Haible  <bruno@clisp.org>
14425
14426         doc: Use a recent texinfo.tex.
14427         * doc/Makefile (tex_opts): New variable.
14428         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
14429
14430 2011-05-28  Jim Meyering  <meyering@redhat.com>
14431
14432         intprops.h: adjust comment to match code change
14433         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
14434         only once, it *may* have side effects.  Also fix an unrelated typo.
14435         (_GL_INT_SIGNED): Likewise.
14436
14437 2011-05-26  Simon Josefsson  <simon@josefsson.org>
14438
14439         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
14440
14441 2011-05-26  Bruno Haible  <bruno@clisp.org>
14442
14443         mbsrchr: Avoid collision with system function on Interix.
14444         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
14445         Reported by Markus Duft <mduft@gentoo.org>.
14446
14447 2011-05-15  James Youngman  <jay@gnu.org>
14448
14449         getopt: for ambiguous options, enumerate the possibilities.
14450         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
14451         the ambiguous options when an ambiguous prefix is given. This was
14452         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
14453         glibc change was
14454         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
14455
14456 2011-05-25  Eric Blake  <eblake@redhat.com>
14457
14458         getcwd: work around mingw bug
14459         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
14460         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14461         Reported by Matthias Bolte.
14462
14463 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14464
14465         test-intprops: disable -Wtype-limits diagnostics
14466         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
14467         diagnostics.  Otherwise, the integer overflow macros generate many
14468         diagnostics.  Reported by Jim Meyering in
14469         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14470
14471         intprops: shorten, to pacify gcc -Woverlength-strings
14472         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
14473         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
14474         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
14475         likely to run afoul of C compiler limits for string constant lengths.
14476         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14477
14478 2011-05-24  Eric Blake  <eblake@redhat.com>
14479
14480         docs: document recently fixed glibc printf bug
14481         * doc/posix-functions/fprintf.texi (fprintf): Document it.
14482         * doc/posix-functions/printf.texi (printf): Likewise.
14483         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14484         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14485
14486         closein-tests: convert to init.sh
14487         * modules/closein-tests (Files): Add init.sh
14488         * tests/test-closein.sh Use it.
14489
14490         yesno-tests: convert to init.sh
14491         * modules/yesno-tests (Files): Add init.sh.
14492         * tests/test-yesno.sh: Use it.
14493
14494         atexit-tests: ensure reliable exit status
14495         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
14496         Reported by Bruno Haible.
14497
14498 2011-05-24  Bruno Haible  <bruno@clisp.org>
14499
14500         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
14501         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
14502         gl_PREREQ_STRERROR_R invocations from here...
14503         * modules/strerror_r-posix (configure.ac): ... to here.
14504
14505 2011-05-24  Eric Blake  <eblake@redhat.com>
14506
14507         strerror_r: fix missing header
14508         * lib/strerror_r.c: Avoid compiler warning about snprintf.
14509
14510         strerror_r: fix AIX test failures
14511         * lib/strerror_r.c (strerror_r): Convert silent truncation to
14512         ERANGE failure.
14513
14514         strerror_r: fix Solaris test failures
14515         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
14516         failures.
14517         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14518
14519         strerror_r: enforce POSIX recommendations
14520         * lib/strerror_r.c (safe_copy): New helper method.
14521         (strerror_r): Guarantee a non-empty string.
14522         * tests/test-strerror_r.c (main): Enhance tests to incorporate
14523         recent POSIX rulings and to match our strerror guarantees.
14524         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14525
14526 2011-05-24  Jim Meyering  <meyering@redhat.com>
14527
14528         test-perror2.c: avoid warning about unused variable
14529         * tests/test-perror2.c (main): Remove declaration of unused "fp".
14530
14531 2011-05-24  Eric Blake  <eblake@redhat.com>
14532
14533         perror: avoid spurious test failure on HP-UX
14534         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
14535
14536         tests: fix logic bug in init.sh
14537         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
14538         shell.
14539
14540 2011-05-24  Jim Meyering  <meyering@redhat.com>
14541
14542         utimensat: do not reference an out-of-scope buffer
14543         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
14544         declared in an inner scope, yet "times" would be dereferenced outside
14545         the scope in which "ts" was valid.
14546         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
14547         of ts[2] "out/up", so that the use of aliased "times" (via
14548         "times = ts;") does not end up referencing an out-of-scope "ts"
14549
14550         opendir-safer.c: don't clobber errno; don't close negative FD
14551         * lib/opendir-safer.c (opendir_safer):
14552         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
14553         file descriptor, and more importantly, don't clobber the
14554         offending errno value with EINVAL.  Before, upon failure
14555         of dup_safer, we would pass the negative file descriptor to
14556         fdopendir, which would clobber errno.
14557
14558 2011-05-23  Bruno Haible  <bruno@clisp.org>
14559
14560         idcache: Fix module description.
14561         * modules/idcache (Include): Set to "idcache.h".
14562
14563 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
14564
14565         gnulib-tool: fix portability problem with MacOS sed
14566         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
14567         before the "}".  Problem reported by Leo in
14568         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
14569         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
14570         sed_extract_condition1, sed_extract_condition2.
14571
14572 2011-05-23  Bruno Haible  <bruno@clisp.org>
14573
14574         hash: Simplify autoconf macro.
14575         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
14576
14577 2011-05-23  Bruno Haible  <bruno@clisp.org>
14578
14579         getugroups: Fix module description.
14580         * modules/getugroups (Include): Set to "getugroups.h".
14581
14582 2011-05-23  Bruno Haible  <bruno@clisp.org>
14583
14584         linkat: Simplify autoconf macro.
14585         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
14586
14587 2011-05-23  Bruno Haible  <bruno@clisp.org>
14588             Eric Blake  <eblake@redhat.com>
14589
14590         linkat, renameat: Update dependencies.
14591         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
14592         * modules/linkat (Depends-on): Likewise. Remove also readlink,
14593         symlinkat.
14594
14595 2011-05-23  Jim Meyering  <meyering@redhat.com>
14596
14597         maint.mk: more tight_scope improvements
14598         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
14599         (_gl_TS_headers): Define only in if-0'd block.
14600         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
14601         sometimes we must *not* use it.  Adjust uses accordingly.
14602         (sc_tight_scope): Use much simpler grep-based test to determine
14603         whether we skip this rule.
14604
14605         maint.mk: generalize/improve the tight-scope rule
14606         * top/maint.mk: Emit a warning when the test is skipped.
14607         (_gl_TS_dir): Add $(srcdir)/ prefix.
14608         (_gl_TS_function_match): Simplify, rather than trying
14609         to enumerate common types.  Otherwise, it would fail to match an
14610         "extern unsigned char const *" declaration in idutils.
14611         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
14612         a way to support use of that type of macro.
14613         (_gl_TS_var_match): Simplify regexp.
14614         (_gl_TS_obj_files): New configurable variable.
14615         (_gl_TS_headers): Likewise.
14616
14617 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14618
14619         verify: fix bug when gnulib <assert.h> is also included
14620         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
14621         is defined, not if _GL_STATIC_ASSERT_H is not defined.
14622         Perhaps there's a better way, but this fixes the immediate problem.
14623         Problem reported by Bruno Haible in
14624         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
14625
14626 2011-05-22  Bruno Haible  <bruno@clisp.org>
14627
14628         xgetcwd: Simplify autoconf macro.
14629         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
14630
14631 2011-05-22  Bruno Haible  <bruno@clisp.org>
14632
14633         New module 'mktime-internal'.
14634         * modules/mktime-internal: New file.
14635         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
14636         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
14637         mktime_internal as a C macro if libc has __mktime_internal.
14638         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
14639         conditions.
14640         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
14641
14642 2011-05-22  Bruno Haible  <bruno@clisp.org>
14643
14644         timegm: Correct mktime replacement statements.
14645         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
14646         defining mktime as a C macro. This completes a 2009-07-28 commit.
14647
14648 2011-05-22  Bruno Haible  <bruno@clisp.org>
14649
14650         timegm: Simplify autoconf macro.
14651         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
14652
14653 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
14654
14655         clock-time: change to LGPLv2+.
14656         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
14657         BSD-like but we have no mark for that; this is good enough for now.
14658
14659 2011-05-21  Bruno Haible  <bruno@clisp.org>
14660
14661         strerror_r: Fix comments.
14662         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
14663
14664 2011-05-21  Bruno Haible  <bruno@clisp.org>
14665
14666         relocatable-prog-wrapper: Fix possible link error.
14667         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
14668         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
14669         (gl_FUNC_SETENV): ... to here.
14670         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
14671         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
14672
14673 2011-05-21  Bruno Haible  <bruno@clisp.org>
14674
14675         relocatable-prog-wrapper: Assume strerror() exists.
14676         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
14677         m4/strerror.m4.
14678         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14679         * lib/relocwrapper.c: Remove mention of strerror module.
14680         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14681         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14682         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14683         C macro.
14684
14685 2011-05-21  Bruno Haible  <bruno@clisp.org>
14686
14687         select: Simplify replacement idiom.
14688         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14689         Win32 platforms.
14690         * lib/sys_select.in.h (select): Simplify accordingly.
14691         * modules/select (Depends-on): Likewise.
14692
14693 2011-05-21  Bruno Haible  <bruno@clisp.org>
14694
14695         mkdir-p: Simplify autoconf macro.
14696         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14697         gl_FUNC_LCHOWN.
14698
14699 2011-05-21  Eric Blake  <eblake@redhat.com>
14700
14701         strerror_r: avoid clobbering strerror on cygwin
14702         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14703         fall back instead to sys_errlist.
14704         * modules/strerror (configure.ac): Add witness.
14705         * tests/test-strerror_r.c (main): Enhance test.
14706         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14707         * tests/test-perror2.c (main): Free memory before exit.
14708
14709 2011-05-21  Bruno Haible  <bruno@clisp.org>
14710
14711         mkdtemp: Use gnulib naming conventions.
14712         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14713         * modules/mkdtemp (configure.ac): Update.
14714
14715 2011-05-20  Eric Blake  <eblake@redhat.com>
14716
14717         strerror_r: avoid corrupting errno on Solaris
14718         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14719         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14720
14721         strerror_r: avoid compiler warning
14722         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14723
14724         strerror_r: simplify AIX code
14725         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14726
14727         test-perror: avoid spurious failure on FreeBSD
14728         * modules/perror-tests (Depends-on): Add strerror, now that
14729         strerror_r no longer pulls it in.
14730
14731 2011-05-20  Bruno Haible  <bruno@clisp.org>
14732
14733         strerror_r-posix: Remove unused dependencies.
14734         * modules/strerror_r-posix (Depends-on): Remove strerror.
14735         Reported by Eric Blake.
14736
14737 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14738
14739         intprops: remove assumption about A|B representation
14740         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14741         is a valid integer if both A and B are.  Although this is true for
14742         all known practical hosts, the C standard doesn't guarantee it,
14743         and the code need not assume it.  Also, this change may work around
14744         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14745         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14746
14747 2011-05-20  Eric Blake  <eblake@redhat.com>
14748
14749         perror: work around FreeBSD bug
14750         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14751         is broken.  Move AC_LIBOBJ...
14752         * modules/perror (configure.ac): Here.
14753         * doc/posix-functions/perror.texi (perror): Document this.
14754         * tests/test-perror2.c (main): Enhance test.
14755
14756         test-perror: check for strerror interactions
14757         * tests/macros.h (STREQ): Add macro.
14758         * modules/perror-tests (Files): Add second test.
14759         * tests/test-perror2.c (main): New file.
14760         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14761
14762         test-perror: rewrite to use init script
14763         * modules/perror-tests (Files): Add init.sh.
14764         * tests/test-perror.sh: Use temporary directory.
14765
14766 2011-05-20  Jim Meyering  <meyering@redhat.com>
14767
14768         maint: replace misused "a" with "an"
14769         * doc/intprops.texi: "a integer"
14770         * doc/regex.texi: "a explanation"
14771         * lib/alignof.h: "a object"
14772         * lib/argmatch.h: "a explanation"
14773         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14774         * lib/stdint.in.h: "a integer"
14775         * lib/userspec.c: "a owner"
14776         * doc/gnulib.texi: Fix "a idea", and reword.
14777
14778 2011-05-19  Jim Meyering  <meyering@redhat.com>
14779
14780         maint: correct misuse of "a" and "an"
14781         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14782         * lib/argp-help.c: "an docum...": s/an/a/
14783         * lib/argp-parse.c: "An vector": s/An/A/
14784         * lib/execute.c: "an native": s/an/a/
14785         * lib/spawn-pipe.c: Likewise.
14786         * lib/gc.h: "an Gc_rc": s/an/a/
14787         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14788         * lib/fts.c: "an stat.st_dev": s/an/a/
14789
14790 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14791
14792         intprops-tests: work around HP-UX 11.23 cc bug with constants
14793         * tests/test-intprops.c (VERIFY): New macro.
14794         (main): Use it, instead of verify, to work around the compiler bug; see
14795         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14796
14797         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14798         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14799         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14800         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14801         (_GL_REMAINDER_OVERFLOW): Use it.
14802
14803         intprops-tests: revert unsigned part of previous change
14804         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14805         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14806         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14807         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14808
14809 2011-05-19  Bruno Haible  <bruno@clisp.org>
14810
14811         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14812         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14813         strerror_r() returned without filling the buffer.
14814         Reported by Eric Blake.
14815
14816 2011-05-19  Eric Blake  <eblake@redhat.com>
14817
14818         strerror_r: guarantee unchanged errno
14819         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
14820         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
14821         failure.
14822         * tests/test-strerror_r.c (main): Enhance test.
14823
14824 2011-05-19  Bruno Haible  <bruno@clisp.org>
14825
14826         strerror_r: Reorder #if blocks.
14827         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
14828         for consistency with the previous commit.
14829
14830 2011-05-19  Bruno Haible  <bruno@clisp.org>
14831
14832         perror: Avoid clobbering the strerror buffer when possible.
14833         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
14834         * lib/strerror.c: Include it.
14835         * modules/strerror (Files): Add lib/strerror-impl.h.
14836         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
14837         (my_strerror): New function, defined through lib/strerror-impl.h.
14838         (perror): Use it instead of strerror.
14839         * modules/perror (Files): Add lib/strerror-impl.h.
14840         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
14841
14842 2011-05-19  Eric Blake  <eblake@redhat.com>
14843
14844         strerror_r: fix on newer cygwin
14845         * lib/strerror_r.c (strerror_r): Cygwin now has
14846         __xpg_strerror_r, use it.
14847
14848 2011-05-19  Bruno Haible  <bruno@clisp.org>
14849
14850         strerror_r: Avoid clobbering the strerror buffer when possible.
14851         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14852         (sys_nerr, sys_errlist): New declarations.
14853         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14854         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14855         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14856
14857 2011-05-19  Bruno Haible  <bruno@clisp.org>
14858
14859         strerror_r: Fix test failure on mingw.
14860         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14861         EXTEND_STRERROR_R.
14862         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14863         macros from errno.in.h instead.
14864
14865 2011-05-19  Eric Blake  <eblake@redhat.com>
14866
14867         strerror: relax test for Solaris
14868         * tests/test-strerror.c (main): Permit Solaris behavior.
14869         * tests/test-strerror_r.c (main): Likewise.
14870
14871         strerror: enforce POSIX ruling on strerror(0)
14872         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14873         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14874         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14875         * doc/posix-functions/strerror.texi (strerror): Document it.
14876         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14877         * tests/test-strerror.c (main): Strengthen test.
14878         * tests/test-strerror_r.c (main): Likewise.
14879
14880 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14881
14882         intprop-tests: port to older and more-pedantic compilers
14883         * modules/intprops-tests (Files): Add tests/macros.h.
14884         * tests/test-intprops.c: Include macros.h.
14885         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14886         it's no longer documented to expand to an integer constant expression.
14887         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14888         argument is floating point, as it's no longer documented to expand
14889         to an integer constant expression in that case.
14890         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14891         compiler bugs reported by Bruno Haible.  See
14892         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14893         (U0, U1): New constants, to work around the same bugs.  Also,
14894         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14895
14896         intprops: work around C compiler bugs
14897         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14898         bug in Sun C 5.11 2010/08/13 and other compilers; see
14899         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14900
14901         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14902         * doc/intprops.texi (Integer Type Determination): Fix
14903         documentation for TYPE_IS_INTEGER: it returns an constant
14904         expression, not an integer constant expression.  Fix doc for
14905         TYPE_SIGNED: it returns an integer constant expression only if its
14906         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14907         hardly worth documented that way....)
14908
14909 2011-05-18  Bruno Haible  <bruno@clisp.org>
14910
14911         strerror_r: Avoid clobbering the strerror buffer when possible.
14912         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14913         Handle gnulib defined errno values here. When strerror() returns NULL
14914         or an empty string, return EINVAL.
14915         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14916         gnulib defined errno values here.
14917         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14918
14919 2011-05-18  Eric Blake  <eblake@redhat.com>
14920
14921         fnmatch: avoid compiler warning
14922         * lib/fnmatch_loop.c (FCT): Use correct type.
14923         Reported by Matthias Bolte.
14924
14925 2011-05-13  Jim Meyering  <meyering@redhat.com>
14926
14927         maint.mk: three new prohibit_<HDR>_without_use rules
14928         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14929         (sc_prohibit_stdio-safer_without_use): Likewise.
14930         (sc_prohibit_xfreopen_without_use): Likewise.
14931
14932 2011-05-17  Jim Meyering  <meyering@redhat.com>
14933
14934         announce-gen: fail if the NEWS delta is empty
14935         If there's nothing noteworthy in NEWS, then either you forgot
14936         or you shouldn't be releasing.
14937         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14938
14939 2011-05-17  Pádraig Brady <P@draigBrady.com>
14940
14941         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14942         reserved symbols starting with double underscore from the check.
14943
14944 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14945
14946         intprops: add doc
14947         * doc/intprops.texi: New file, documenting intprops.
14948         * doc/gnulib.texi (Particular Modules): Include it.
14949
14950         verify: add doc to gnulib manual and fix example
14951         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14952         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14953         (Compile-time Assertions): Fix example so it can't overflow.
14954
14955 2011-05-17  Jim Meyering  <meyering@redhat.com>
14956
14957         warnings.m4: don't usurp save_CPPFLAGS variable name
14958         * m4/warnings.m4: Prefix local temporary variable name with gl_.
14959
14960         doc: fix typo
14961         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
14962
14963 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14964             Bruno Haible  <bruno@clisp.org>
14965
14966         doc: Tweak recent change.
14967         * README (Portability guidelines): Tweak new text.
14968         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
14969         Interix 6.1.
14970
14971 2011-05-16  Eric Blake  <eblake@redhat.com>
14972
14973         inttypes: avoid autoconf warning
14974         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
14975         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14976
14977 2011-05-16  Sam Steingold <sds@gnu.org>
14978         and Eric Blake  <eblake@redhat.com>
14979
14980         vc-list-files: accept multiple directory operands
14981         * build-aux/vc-list-files: Iterate over all remaining operands.
14982
14983 2011-05-16  Bruno Haible  <bruno@clisp.org>
14984
14985         Fix confusion regarding deprecated modules.
14986         * modules/calloc (Status, Notice): Mark module as deprecated, not
14987         obsolete.
14988         * modules/fnmatch-posix (Status, Notice): Likewise.
14989         * modules/getdate (Status, Notice): Likewise.
14990         * modules/getopt (Status, Notice): Likewise.
14991         * modules/malloc (Status, Notice): Likewise.
14992         * modules/pipe (Status, Notice): Likewise.
14993         * modules/realloc (Status, Notice): Likewise.
14994         * modules/rename-dest-slash (Status, Notice): Likewise.
14995         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
14996         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
14997         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
14998         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
14999         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
15000
15001 2011-05-16  Bruno Haible  <bruno@clisp.org>
15002
15003         doc: List the target platforms.
15004         * doc/gnulib-intro.texi (Target Platforms): New section.
15005         * doc/gnulib.texi (Introduction): Update menu.
15006         * README (Portability guidelines): Refer to the new section. Update
15007         statement about oldest supported environment. Remove rationale why
15008         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
15009         unportable C89 function.
15010         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
15011         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
15012
15013 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15014
15015         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
15016
15017 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15018
15019         intprops-tests: new module
15020         * modules/intprops-tests, tests/test-intprops.c: New files.
15021
15022         intprops: add safe, portable integer overflow checking
15023         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
15024         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
15025         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
15026         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
15027         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
15028         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
15029         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
15030         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
15031         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
15032         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
15033         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
15034
15035 2011-05-12  James Youngman  <jay@gnu.org>
15036
15037         Add a test for glibc's Bugzilla bug #12378.
15038         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
15039         doesn't allow the literal matching of a lone "[" (which is
15040         required by POSIX).
15041         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
15042
15043 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
15044
15045         Sync glibc change fixing Bugzilla bug #12378.
15046         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
15047         beginning and fall back to matching as normal character if the
15048         string ends before the matching ']' is found.  This is what POSIX
15049         requires.
15050
15051 2011-05-13  Eric Blake  <eblake@redhat.com>
15052
15053         getcwd-lgpl: relax test for FreeBSD
15054         * doc/posix-functions/getcwd.texi (getcwd): Document portability
15055         issue.
15056         * tests/test-getcwd-lgpl.c (main): Relax test.
15057         Reported by Matthias Bolte.
15058
15059 2011-05-11  Eric Blake  <eblake@redhat.com>
15060
15061         test-fflush: silence compiler warning
15062         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
15063
15064 2011-05-11  Bruno Haible  <bruno@clisp.org>
15065
15066         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
15067         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
15068         * modules/canonicalize (Depends-on): Add 'nocrash'.
15069         * modules/canonicalize-lgpl (Depends-on): Likewise.
15070         * doc/posix-functions/realpath.texi: Update platforms list.
15071         Reported by Ryan Schmidt <ryandesign@macports.org>.
15072
15073 2011-05-11  Bruno Haible  <bruno@clisp.org>
15074
15075         group-member: Declare function in <unistd.h>.
15076         * lib/unistd.in.h (group_member): New declaration.
15077         * lib/group-member.h: Remove file.
15078         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
15079         * tests/test-unistd-c++.cc: Check signature of group_member.
15080         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
15081         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
15082         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
15083         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
15084         HAVE_GROUP_MEMBER.
15085         * modules/group-member (Files): Remove lib/group-member.h.
15086         (Depends-on): Add unistd. Specify conditions.
15087         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15088         (Include): Change to <unistd.h>.
15089         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
15090         HAVE_GROUP_MEMBER.
15091         * NEWS: Mention the change.
15092         * lib/euidaccess.c: Don't include group-member.h.
15093
15094 2011-05-11  Bruno Haible  <bruno@clisp.org>
15095
15096         group-member: Document module.
15097         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
15098         module.
15099
15100 2011-05-11  Bruno Haible  <bruno@clisp.org>
15101
15102         fclose: Fix mistake earlier today.
15103         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
15104
15105 2011-05-11  Eric Blake  <eblake@redhat.com>
15106
15107         fclose: preserve fflush errors
15108         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
15109         Reported by Jim Meyering.
15110
15111         bootstrap: support a prereq of 'rpcgen -' on RHEL5
15112         * build-aux/bootstrap (check_versions): When no specific version
15113         is required, merely check that the app produces an exit status
15114         that indicates its existence.
15115
15116         maint.mk: drop redundant check
15117         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
15118         the same but better.
15119
15120 2011-05-11  Bruno Haible  <bruno@clisp.org>
15121
15122         fclose: Fix possible link error.
15123         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
15124         unregister_shadow_fd. Improve comments.
15125         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
15126         Eric Blake.
15127
15128 2011-05-11  Jim Meyering  <meyering@redhat.com>
15129
15130         maint.mk: improve "can not" detection and generalize rule name
15131         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
15132         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
15133         Use the same technique as in sc_prohibit_doubled_word, so that
15134         we recognize "can not" also when the words are separated by a newline.
15135         Suggested by Eric Blake.
15136         (perl_filename_lineno_text_): Define.  Factored out of...
15137         (prohibit_doubled_word_): ...here.  Use the new definition.
15138         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
15139         (prohibit_undesirable_word_seq_RE_): New overridable variable.
15140         (ignore_undesirable_word_sequence_RE_): New overridable variable.
15141
15142 2011-05-10  Eric Blake  <eblake@redhat.com>
15143
15144         fclose: avoid double close race when possible
15145         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
15146         all but WINDOWS_SOCKETS.
15147
15148 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
15149
15150         openat: correct new comment
15151         * lib/openat-proc.c (openat_proc_name): Correct the comment.
15152
15153 2011-05-10  Jim Meyering  <meyering@redhat.com>
15154
15155         openat: add comments
15156         * lib/openat-proc.c (openat_proc_name): Add comments,
15157         mostly from Eric Blake.
15158
15159 2011-05-09  Eric Blake  <eblake@redhat.com>
15160
15161         openat: reduce syscalls in first probe of /proc
15162         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
15163         be a directory.  Simplify the probe for .. bugs.
15164         * modules/openat (Depends-on): Drop same-inode.
15165         Reported by Bastien ROUCARIES.
15166
15167 2011-05-09  Jim Meyering  <meyering@redhat.com>
15168
15169         maint.mk: change semantics/name of tight_scope variables
15170         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
15171         Rename variables to align with semantics that make them more useful.
15172
15173         maint.mk: tweak new rule's name not to impinge
15174         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
15175         (sc_tight_scope): Use new rule name rather than $@-0.
15176
15177         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
15178         * top/maint.mk (sc_tight_scope): New rule.
15179         (sc_tight_scope-0): New rule, ifdef'd out.
15180         (_gl_TS_dir): Default.
15181         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
15182         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
15183
15184 2011-05-09  Simon Josefsson  <simon@josefsson.org>
15185
15186         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
15187         Haible <bruno@clisp.org>.
15188
15189 2011-05-08  Bruno Haible  <bruno@clisp.org>
15190
15191         Comments.
15192         * m4/isnanf.m4: Add comment.
15193         * m4/isnanl.m4: Likewise.
15194
15195 2011-05-08  Bruno Haible  <bruno@clisp.org>
15196
15197         glob: Remove obsolete macro.
15198         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
15199
15200 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15201
15202         intprops: Sun C 5.11 supports __typeof__
15203         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
15204         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
15205         which is new.
15206         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
15207
15208         intprops: switch to usual gnulib indenting and naming
15209         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
15210         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
15211
15212         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
15213
15214 2011-05-08  Jim Meyering  <meyering@redhat.com>
15215
15216         maint.mk: suppress "Entering/Leaving directory" diag in announcement
15217         * top/maint.mk (release-prep): Use make's --no-print-directory
15218         option when generating the announcement.  This eliminates the
15219         pesky "make[2]: Entering/Leaving directory" diagnostics in the
15220         generated announcement template.
15221
15222 2011-05-08  Bruno Haible  <bruno@clisp.org>
15223
15224         tzset: Fix gettimeofday wrapper on Solaris 2.6.
15225         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
15226         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
15227
15228 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
15229
15230         ignore-value, verify: Omit include files from lib_SOURCES.
15231         * modules/ignore-value, modules/verify (Makefile.am):
15232         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
15233         that leads Automake to duplicate use of am__objects_... variables
15234         in Makefile.in.  See
15235         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
15236
15237 2011-05-07  Bruno Haible  <bruno@clisp.org>
15238
15239         fclose: Simplify autoconf macro.
15240         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
15241         defined.
15242
15243 2011-05-07  Bruno Haible  <bruno@clisp.org>
15244
15245         canonicalize-lgpl: Fix autoconf macro ordering bug.
15246         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
15247         gl_STDLIB_H_DEFAULTS.
15248
15249 2011-05-06  Eric Blake  <eblake@redhat.com>
15250
15251         maintainer-makefile: make sc_po_check easier to tune
15252         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
15253         to probe for strings, such as an alternate location for gnulib.
15254
15255         fclose: guarantee behavior on seekable stdin
15256         * modules/fclose (Depends-on): Add fflush.
15257         * doc/posix-functions/fclose.texi (fclose): Document this.
15258         * tests/test-fclose.c (main): Make test for this unconditional.
15259
15260 2011-05-06  Bruno Haible  <bruno@clisp.org>
15261
15262         fflush, fpurge: Relicense under LGPLv2+.
15263         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
15264         * modules/fpurge (License): Likewise.
15265         With permission from Eric Blake and Jim Meyering.
15266         Suggested by Eric Blake.
15267
15268 2011-05-06  Karl Berry  <karl@gnu.org>
15269
15270         * MODULES.html.sh (func_all_modules): remove exit.
15271
15272 2011-05-06  Jim Meyering  <meyering@redhat.com>
15273
15274         maint.mk: use info-gnu@ as the default only for a stable release
15275         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
15276         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
15277         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
15278         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
15279
15280 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15281
15282         assert-h: new module, which supports C1X-style static_assert
15283         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
15284         * lib/verify.h: Revamp so that this can be copied into assert.h,
15285         while retaining the ability to use it standalone as before.
15286         Rename private identifiers so as not to encroach on the
15287         standard C namespace, since this is now used by assert.h.
15288         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
15289         the old verify_true.
15290         (_GL_VERIFY_TRUE): New macro, with much of the contents of
15291         the old verify_true.  Use _GL_VERIFY_TYPE.
15292         (_GL_VERIFY): New macro, with much of the contents of the old verify.
15293         (static_assert): New macro, if _GL_STATIC_ASSERT_H
15294         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
15295         defined when this file is copied into the replacement assert.h.
15296         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
15297         and _Static_assert is not built in.
15298         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
15299         defined, and use the new macros mentioned above.
15300         * doc/posix-headers/assert.texi: Document this.
15301
15302 2011-05-05  Bruno Haible  <bruno@clisp.org>
15303
15304         fclose, fflush: Respect rules for use of AC_LIBOBJ.
15305         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
15306         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
15307         gl_REPLACE_FCLOSE here.
15308         * modules/fflush (Depends-on): Remove fclose.
15309         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
15310         combination with module 'fclose'.
15311
15312 2011-05-05  Bruno Haible  <bruno@clisp.org>
15313
15314         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
15315         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
15316         gl_FUNC_FFLUSH.
15317         (gl_FUNC_FFLUSH): Use it.
15318         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
15319         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
15320         gl_REPLACE_FSEEKO here.
15321
15322 2011-05-05  Bruno Haible  <bruno@clisp.org>
15323
15324         tzset: Relicense under LGPL.
15325         * modules/tzset (License): Change to LGPL.
15326         No agreement needed; it's a no-op.
15327
15328         strtoimax, strtoumax: Relicense under LGPL.
15329         * modules/strtoimax (License): Change to LGPL.
15330         * modules/strtoumax (License): Likewise.
15331         With permission from Jim Meyering, Paul Eggert:
15332         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
15333         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
15334
15335         getgroups: Relicense under LGPL.
15336         * modules/getgroups (License): Change to LGPL.
15337         With permission from Jim Meyering, Paul Eggert, Eric Blake:
15338         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15339         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15340         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15341
15342         nanosleep: Relicense under LGPL.
15343         * modules/nanosleep (License): Change to LGPL.
15344         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
15345         Haible:
15346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15347         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15348         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15349         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15350
15351         futimens: Relicense under LGPL.
15352         * modules/futimens (License): Change to LGPL.
15353         With permission from Eric Blake:
15354         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15355
15356         fflush: Relicense under LGPL.
15357         * modules/fflush (License): Change to LGPL.
15358         With permission from Eric Blake, Bruno Haible, Jim Meyering:
15359         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15360         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15361         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
15362
15363         tmpfile: Relicense under LGPL.
15364         * modules/tmpfile (License): Change to LGPL.
15365         With permission from Ben Pfaff:
15366         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15367
15368         isfinite: Relicense under LGPL.
15369         * modules/isfinite (License): Change to LGPL.
15370         With permission from Ben Pfaff, Bruno Haible:
15371         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
15373
15374         acosl..tanl: Relicense under LGPL.
15375         * modules/acosl (License): Change to LGPL.
15376         * modules/asinl (License): Likewise.
15377         * modules/atanl (License): Likewise.
15378         * modules/cosl (License): Likewise.
15379         * modules/expl (License): Likewise.
15380         * modules/logl (License): Likewise.
15381         * modules/sinl (License): Likewise.
15382         * modules/sqrtl (License): Likewise.
15383         * modules/tanl (License): Likewise.
15384         Source code originally from glibc and Paolo Bonzini. Agreements:
15385         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
15386         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
15387
15388 2011-05-05  Bruno Haible  <bruno@clisp.org>
15389
15390         signal: Define sighandler_t.
15391         * lib/signal.in.h (sighandler_t): New type.
15392         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
15393         whether sighandler_t is defined.
15394         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
15395         * modules/signal (Depends-on): Add extensions.
15396         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
15397         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
15398         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
15399
15400 2011-05-05  Eric Blake  <eblake@redhat.com>
15401
15402         maint: remove useless REPLACE_*_H macros
15403         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
15404         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15405         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15406         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
15407         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
15408         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
15409         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
15410         * m4/btowc.m4: Update callers.
15411         * m4/dirfd.m4: Likewise.
15412         * m4/duplocale.m4: Likewise.
15413         * m4/fchdir.m4: Likewise.
15414         * m4/fdopendir.m4: Likewise.
15415         * m4/inet_ntop.m4: Likewise.
15416         * m4/inet_pton.m4: Likewise.
15417         * m4/ioctl.m4: Likewise.
15418         * m4/mbrlen.m4: Likewise.
15419         * m4/mbrtowc.m4: Likewise.
15420         * m4/mbsinit.m4: Likewise.
15421         * m4/mbsnrtowcs.m4: Likewise.
15422         * m4/mbsrtowcs.m4: Likewise.
15423         * m4/poll.m4: Likewise.
15424         * m4/setlocale.m4: Likewise.
15425         * m4/wcrtomb.m4: Likewise.
15426         * m4/wcsnrtombs.m4: Likewise.
15427         * m4/wcsrtombs.m4: Likewise.
15428         * m4/wctob.m4: Likewise.
15429         * m4/wcwidth.m4: Likewise.
15430         * modules/posix_spawn: Likewise.
15431         * modules/posix_spawn_file_actions_addclose: Likewise.
15432         * modules/posix_spawn_file_actions_adddup2: Likewise.
15433         * modules/posix_spawn_file_actions_addopen: Likewise.
15434         * modules/posix_spawn_file_actions_destroy: Likewise.
15435         * modules/posix_spawn_file_actions_init: Likewise.
15436         * modules/posix_spawnattr_destroy: Likewise.
15437         * modules/posix_spawnattr_getflags: Likewise.
15438         * modules/posix_spawnattr_getpgroup: Likewise.
15439         * modules/posix_spawnattr_getschedparam: Likewise.
15440         * modules/posix_spawnattr_getschedpolicy: Likewise.
15441         * modules/posix_spawnattr_getsigdefault: Likewise.
15442         * modules/posix_spawnattr_getsigmask: Likewise.
15443         * modules/posix_spawnattr_init: Likewise.
15444         * modules/posix_spawnattr_setflags: Likewise.
15445         * modules/posix_spawnattr_setpgroup: Likewise.
15446         * modules/posix_spawnattr_setschedparam: Likewise.
15447         * modules/posix_spawnattr_setschedpolicy: Likewise.
15448         * modules/posix_spawnattr_setsigdefault: Likewise.
15449         * modules/posix_spawnattr_setsigmask: Likewise.
15450         * modules/posix_spawnp: Likewise.
15451
15452 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
15453
15454         Add option to do-release-commit-and-tag to specify branch.
15455         * build-aux/do-release-commit-and-tag: Add --branch.
15456
15457 2011-05-03  Bruno Haible  <bruno@clisp.org>
15458
15459         Avoid unnecessary compilation units, through conditional dependencies.
15460         * modules/accept (Depends-on): Add conditions to the dependencies.
15461         * modules/acosl (Depends-on): Likewise.
15462         * modules/argz (Depends-on): Likewise.
15463         * modules/asinl (Depends-on): Likewise.
15464         * modules/atanl (Depends-on): Likewise.
15465         * modules/atoll (Depends-on): Likewise.
15466         * modules/bind (Depends-on): Likewise.
15467         * modules/btowc (Depends-on): Likewise.
15468         * modules/canonicalize-lgpl (Depends-on): Likewise.
15469         * modules/ceil (Depends-on): Likewise.
15470         * modules/ceilf (Depends-on): Likewise.
15471         * modules/ceill (Depends-on): Likewise.
15472         * modules/chdir-long (Depends-on): Likewise.
15473         * modules/chown (Depends-on): Likewise.
15474         * modules/close (Depends-on): Likewise.
15475         * modules/connect (Depends-on): Likewise.
15476         * modules/cosl (Depends-on): Likewise.
15477         * modules/dirfd (Depends-on): Likewise.
15478         * modules/dprintf (Depends-on): Likewise.
15479         * modules/dprintf-posix (Depends-on): Likewise.
15480         * modules/error (Depends-on): Likewise.
15481         * modules/euidaccess (Depends-on): Likewise.
15482         * modules/expl (Depends-on): Likewise.
15483         * modules/faccessat (Depends-on): Likewise.
15484         * modules/fchdir (Depends-on): Likewise.
15485         * modules/fclose (Depends-on): Likewise.
15486         * modules/fcntl (Depends-on): Likewise.
15487         * modules/fdopendir (Depends-on): Likewise.
15488         * modules/fflush (Depends-on): Likewise.
15489         * modules/floor (Depends-on): Likewise.
15490         * modules/floorf (Depends-on): Likewise.
15491         * modules/floorl (Depends-on): Likewise.
15492         * modules/fnmatch (Depends-on): Likewise.
15493         * modules/fopen (Depends-on): Likewise.
15494         * modules/fprintf-posix (Depends-on): Likewise.
15495         * modules/frexp (Depends-on): Likewise.
15496         * modules/frexp-nolibm (Depends-on): Likewise.
15497         * modules/frexpl (Depends-on): Likewise.
15498         * modules/frexpl-nolibm (Depends-on): Likewise.
15499         * modules/fseek (Depends-on): Likewise.
15500         * modules/fsusage (Depends-on): Likewise.
15501         * modules/ftell (Depends-on): Likewise.
15502         * modules/ftello (Depends-on): Likewise.
15503         * modules/futimens (Depends-on): Likewise.
15504         * modules/getcwd (Depends-on): Likewise.
15505         * modules/getcwd-lgpl (Depends-on): Likewise.
15506         * modules/getdelim (Depends-on): Likewise.
15507         * modules/getdomainname (Depends-on): Likewise.
15508         * modules/getgroups (Depends-on): Likewise.
15509         * modules/gethostname (Depends-on): Likewise.
15510         * modules/getline (Depends-on): Likewise.
15511         * modules/getlogin_r (Depends-on): Likewise.
15512         * modules/getopt-posix (Depends-on): Likewise.
15513         * modules/getpeername (Depends-on): Likewise.
15514         * modules/getsockname (Depends-on): Likewise.
15515         * modules/getsockopt (Depends-on): Likewise.
15516         * modules/getsubopt (Depends-on): Likewise.
15517         * modules/getusershell (Depends-on): Likewise.
15518         * modules/glob (Depends-on): Likewise.
15519         * modules/grantpt (Depends-on): Likewise.
15520         * modules/iconv_open (Depends-on): Likewise.
15521         * modules/iconv_open-utf (Depends-on): Likewise.
15522         * modules/inet_ntop (Depends-on): Likewise.
15523         * modules/inet_pton (Depends-on): Likewise.
15524         * modules/ioctl (Depends-on): Likewise.
15525         * modules/isapipe (Depends-on): Likewise.
15526         * modules/isfinite (Depends-on): Likewise.
15527         * modules/isinf (Depends-on): Likewise.
15528         * modules/lchown (Depends-on): Likewise.
15529         * modules/ldexpl (Depends-on): Likewise.
15530         * modules/link (Depends-on): Likewise.
15531         * modules/linkat (Depends-on): Likewise.
15532         * modules/listen (Depends-on): Likewise.
15533         * modules/logl (Depends-on): Likewise.
15534         * modules/lstat (Depends-on): Likewise.
15535         * modules/mbrlen (Depends-on): Likewise.
15536         * modules/mbrtowc (Depends-on): Likewise.
15537         * modules/mbsinit (Depends-on): Likewise.
15538         * modules/mbsnrtowcs (Depends-on): Likewise.
15539         * modules/mbsrtowcs (Depends-on): Likewise.
15540         * modules/mbtowc (Depends-on): Likewise.
15541         * modules/memcmp (Depends-on): Likewise.
15542         * modules/mkdir (Depends-on): Likewise.
15543         * modules/mkdtemp (Depends-on): Likewise.
15544         * modules/mkfifo (Depends-on): Likewise.
15545         * modules/mkfifoat (Depends-on): Likewise.
15546         * modules/mknod (Depends-on): Likewise.
15547         * modules/mkostemp (Depends-on): Likewise.
15548         * modules/mkostemps (Depends-on): Likewise.
15549         * modules/mkstemp (Depends-on): Likewise.
15550         * modules/mkstemps (Depends-on): Likewise.
15551         * modules/mktime (Depends-on): Likewise.
15552         * modules/nanosleep (Depends-on): Likewise.
15553         * modules/open (Depends-on): Likewise.
15554         * modules/openat (Depends-on): Likewise.
15555         * modules/perror (Depends-on): Likewise.
15556         * modules/poll (Depends-on): Likewise.
15557         * modules/popen (Depends-on): Likewise.
15558         * modules/posix_spawn (Depends-on): Likewise.
15559         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
15560         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
15561         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
15562         * modules/posix_spawnp (Depends-on): Likewise.
15563         * modules/pread (Depends-on): Likewise.
15564         * modules/printf-posix (Depends-on): Likewise.
15565         * modules/ptsname (Depends-on): Likewise.
15566         * modules/putenv (Depends-on): Likewise.
15567         * modules/pwrite (Depends-on): Likewise.
15568         * modules/readline (Depends-on): Likewise.
15569         * modules/readlink (Depends-on): Likewise.
15570         * modules/readlinkat (Depends-on): Likewise.
15571         * modules/recv (Depends-on): Likewise.
15572         * modules/recvfrom (Depends-on): Likewise.
15573         * modules/regex (Depends-on): Likewise.
15574         * modules/remove (Depends-on): Likewise.
15575         * modules/rename (Depends-on): Likewise.
15576         * modules/renameat (Depends-on): Likewise.
15577         * modules/rmdir (Depends-on): Likewise.
15578         * modules/round (Depends-on): Likewise.
15579         * modules/roundf (Depends-on): Likewise.
15580         * modules/roundl (Depends-on): Likewise.
15581         * modules/rpmatch (Depends-on): Likewise.
15582         * modules/select (Depends-on): Likewise.
15583         * modules/send (Depends-on): Likewise.
15584         * modules/sendto (Depends-on): Likewise.
15585         * modules/setenv (Depends-on): Likewise.
15586         * modules/setlocale (Depends-on): Likewise.
15587         * modules/setsockopt (Depends-on): Likewise.
15588         * modules/shutdown (Depends-on): Likewise.
15589         * modules/sigaction (Depends-on): Likewise.
15590         * modules/signbit (Depends-on): Likewise.
15591         * modules/sigprocmask (Depends-on): Likewise.
15592         * modules/sinl (Depends-on): Likewise.
15593         * modules/sleep (Depends-on): Likewise.
15594         * modules/snprintf (Depends-on): Likewise.
15595         * modules/snprintf-posix (Depends-on): Likewise.
15596         * modules/socket (Depends-on): Likewise.
15597         * modules/sprintf-posix (Depends-on): Likewise.
15598         * modules/sqrtl (Depends-on): Likewise.
15599         * modules/stat (Depends-on): Likewise.
15600         * modules/strchrnul (Depends-on): Likewise.
15601         * modules/strdup-posix (Depends-on): Likewise.
15602         * modules/strerror (Depends-on): Likewise.
15603         * modules/strerror_r-posix (Depends-on): Likewise.
15604         * modules/strndup (Depends-on): Likewise.
15605         * modules/strnlen (Depends-on): Likewise.
15606         * modules/strptime (Depends-on): Likewise.
15607         * modules/strsep (Depends-on): Likewise.
15608         * modules/strsignal (Depends-on): Likewise.
15609         * modules/strstr-simple (Depends-on): Likewise.
15610         * modules/strtod (Depends-on): Likewise.
15611         * modules/strtoimax (Depends-on): Likewise.
15612         * modules/strtok_r (Depends-on): Likewise.
15613         * modules/strtoumax (Depends-on): Likewise.
15614         * modules/symlink (Depends-on): Likewise.
15615         * modules/symlinkat (Depends-on): Likewise.
15616         * modules/tanl (Depends-on): Likewise.
15617         * modules/tcgetsid (Depends-on): Likewise.
15618         * modules/tmpfile (Depends-on): Likewise.
15619         * modules/trunc (Depends-on): Likewise.
15620         * modules/truncf (Depends-on): Likewise.
15621         * modules/truncl (Depends-on): Likewise.
15622         * modules/uname (Depends-on): Likewise.
15623         * modules/unlink (Depends-on): Likewise.
15624         * modules/unlockpt (Depends-on): Likewise.
15625         * modules/unsetenv (Depends-on): Likewise.
15626         * modules/usleep (Depends-on): Likewise.
15627         * modules/utimensat (Depends-on): Likewise.
15628         * modules/vasprintf (Depends-on): Likewise.
15629         * modules/vdprintf (Depends-on): Likewise.
15630         * modules/vdprintf-posix (Depends-on): Likewise.
15631         * modules/vfprintf-posix (Depends-on): Likewise.
15632         * modules/vprintf-posix (Depends-on): Likewise.
15633         * modules/vsnprintf (Depends-on): Likewise.
15634         * modules/vsnprintf-posix (Depends-on): Likewise.
15635         * modules/vsprintf-posix (Depends-on): Likewise.
15636         * modules/wcrtomb (Depends-on): Likewise.
15637         * modules/wcscasecmp (Depends-on): Likewise.
15638         * modules/wcscspn (Depends-on): Likewise.
15639         * modules/wcsdup (Depends-on): Likewise.
15640         * modules/wcsncasecmp (Depends-on): Likewise.
15641         * modules/wcsnrtombs (Depends-on): Likewise.
15642         * modules/wcspbrk (Depends-on): Likewise.
15643         * modules/wcsrtombs (Depends-on): Likewise.
15644         * modules/wcsspn (Depends-on): Likewise.
15645         * modules/wcsstr (Depends-on): Likewise.
15646         * modules/wcstok (Depends-on): Likewise.
15647         * modules/wcswidth (Depends-on): Likewise.
15648         * modules/wctob (Depends-on): Likewise.
15649         * modules/wctomb (Depends-on): Likewise.
15650         * modules/wctype (Depends-on): Likewise.
15651         * modules/wcwidth (Depends-on): Likewise.
15652         * modules/write (Depends-on): Likewise.
15653
15654 2011-05-03  Bruno Haible  <bruno@clisp.org>
15655
15656         Support for conditional dependencies.
15657         * doc/gnulib.texi (Module description): Document the syntax of
15658         conditional dependencies.
15659         * gnulib-tool: New option --conditional-dependencies.
15660         (func_usage): Document it.
15661         (cond_dependencies): New variable.
15662         (func_get_automake_snippet_conditional,
15663         func_get_automake_snippet_unconditional): New functions, extracted from
15664         func_get_automake_snippet.
15665         (func_get_automake_snippet): Use them.
15666         (sed_first_32_chars): New variable.
15667         (func_module_shellfunc_name): New function.
15668         (func_module_shellvar_name): New function.
15669         (func_module_conditional_name): New function.
15670         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
15671         func_cond_module_condition): New functions.
15672         (func_modules_transitive_closure): Add support for conditional
15673         dependencies.
15674         (func_emit_lib_Makefile_am): For a conditional module, enclose the
15675         conditional automake snippet in an automake conditional.
15676         (func_emit_autoconf_snippets): Emit shell functions that contain the
15677         code for conditional modules.
15678         (func_import, func_create_testdir): Update specification.
15679
15680 2011-05-03  Eric Blake  <eblake@redhat.com>
15681
15682         test-getaddrinfo: report error information
15683         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15684
15685 2011-05-03  Jim Meyering  <meyering@redhat.com>
15686
15687         bootstrap: avoid build failure when $GZIP is set
15688         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15689         program name.  If defined at all, it is supposed to list gzip options.
15690         Reported by Alan Curry in http://debbugs.gnu.org/8609
15691
15692 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15693
15694         readme-release: new module with release instructions
15695         * modules/readme-release: New module.
15696         * top/README-release: New file, from coreutils, grep, diffutils.
15697         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15698
15699 2011-05-02  Eric Blake  <eblake@redhat.com>
15700
15701         fflush: also replace fclose when fixing fflush
15702         * modules/fflush (Depends-on): Add fclose.
15703         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15704         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15705         memstreams with no backing fd.
15706         * doc/posix-functions/fclose.texi (fclose): Document the use of
15707         fflush module to fix the bug.
15708         * tests/test-fclose.c (main): Relax test when fclose is used in
15709         isolation.
15710
15711         fclose: add some tests
15712         * modules/fclose-tests: New test module.
15713         * tests/test-fclose.c: New file.
15714         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15715
15716         fclose: reduced dependencies
15717         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15718         simpler lseek.
15719         * lib/fclose.c (rpl_fclose): Likewise.
15720         Reported by Simon Josefsson.
15721
15722         exit: drop remaining clients
15723         * modules/argmatch (Depends-on): Replace exit with stdlib.
15724         * modules/copy-file (Depends-on): Likewise.
15725         * modules/execute (Depends-on): Likewise.
15726         * modules/exitfail (Depends-on): Likewise.
15727         * modules/obstack (Depends-on): Likewise.
15728         * modules/pagealign_alloc (Depends-on): Likewise.
15729         * modules/pipe-filter-gi (Depends-on): Likewise.
15730         * modules/pipe-filter-ii (Depends-on): Likewise.
15731         * modules/savewd (Depends-on): Likewise.
15732         * modules/spawn-pipe (Depends-on): Likewise.
15733         * modules/wait-process (Depends-on): Likewise.
15734         * modules/xsetenv (Depends-on): Likewise.
15735         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15736         * modules/git-merge-changelog (Depends-on): Likewise.
15737         * modules/long-options (Depends-on): Likewise.
15738         * modules/pt_chown (Depends-on): Likewise.
15739         * modules/sysexits (Depends-on): Likewise.
15740
15741         freading: relax license from LGPLv3+ to LGPLv2+
15742         * modules/freading (License): Relax LGPL version.
15743
15744 2011-05-02  Bruno Haible  <bruno@clisp.org>
15745
15746         fchdir: Remove unused dependencies.
15747         * modules/fchdir (Depends-on): Remove include_next.
15748
15749 2011-05-02  Bruno Haible  <bruno@clisp.org>
15750
15751         gnulib-tool: Refactor.
15752         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15753         from func_emit_autoconf_snippets.
15754         (func_emit_autoconf_snippets): Use it.
15755
15756 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15757
15758         * NEWS: Document removal of 'exit'.
15759         * modules/exit: Remove file.
15760
15761 2011-05-01  Bruno Haible  <bruno@clisp.org>
15762
15763         Update DEPENDENCIES.
15764         * DEPENDENCIES (gettext): Recommend the newest release.
15765         Reported by Simon Josefsson.
15766
15767 2011-05-01  Bruno Haible  <bruno@clisp.org>
15768
15769         gnulib-tool: Reduce code duplication.
15770         * gnulib-tool (func_emit_autoconf_snippets): New function.
15771         (func_import, func_create_testdir): Use it.
15772
15773 2011-04-30  Eric Blake  <eblake@redhat.com>
15774
15775         fclose: don't fail on non-seekable input stream
15776         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15777         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15778         since fflush is allowed to fail in that case.
15779
15780 2011-04-30  Bruno Haible  <bruno@clisp.org>
15781
15782         dup3: cleanup
15783         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15784
15785 2011-04-30  Bruno Haible  <bruno@clisp.org>
15786
15787         netdb: Make it work in C++ mode.
15788         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15789         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15790         module.
15791         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15792         gl_MODULE_INDICATOR_FOR_TESTS.
15793         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15794         * modules/netdb-c++-tests: New file.
15795         * tests/test-netdb-c++.cc: New file.
15796
15797 2011-04-30  Bruno Haible  <bruno@clisp.org>
15798
15799         New modules 'vfscanf', 'vscanf'.
15800         * modules/vfscanf: New file.
15801         * modules/vscanf: New file.
15802         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15803         here.
15804         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15805         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15806
15807 2011-04-30  Bruno Haible  <bruno@clisp.org>
15808
15809         passfd: Add comments.
15810         * lib/passfd.c: Add comments about platforms.
15811
15812 2011-04-30  Bruno Haible  <bruno@clisp.org>
15813
15814         sys_uio: Make <sys/uio.h> self-contained.
15815         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15816         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15817
15818 2011-04-30  Bruno Haible  <bruno@clisp.org>
15819
15820         sys_socket: Ensure 'struct iovec' definition.
15821         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
15822         <sys/socket.h>.
15823         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
15824
15825 2011-04-30  Bruno Haible  <bruno@clisp.org>
15826
15827         sys_uio: Protect definition of 'struct iovec'.
15828         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
15829         it as a C struct.
15830
15831 2011-04-30  Bruno Haible  <bruno@clisp.org>
15832
15833         manywarnings: fix indentation
15834         * m4/manywarnings.m4: Indent by 2 spaces consistently.
15835
15836 2011-04-30  Pádraig Brady <P@draigBrady.com>
15837
15838         manywarnings: add -Wno-missing-field-initializers if needed.
15839         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
15840         option if it's needed to allow initialization with { 0, }
15841
15842 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
15843
15844         announce-gen: cosmetic improvement
15845         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15846
15847 2011-04-29  Jim Meyering  <meyering@redhat.com>
15848
15849         vc-list-files: indent with spaces, not TABs
15850         * build-aux/vc-list-files: Convert leading TABs to spaces,
15851         to match the style of most other files in gnulib.
15852
15853         announce-gen: indent with spaces, not TABs
15854         * build-aux/announce-gen: Convert all TABs to spaces, to match
15855         the style of most other files in gnulib.
15856
15857 2011-04-29  Eric Blake  <eblake@redhat.com>
15858
15859         quotearg: avoid uninitialized variable use
15860         * lib/quotearg.c (quoting_options_from_style): Initialize
15861         remaining fields, and ensure that custom styles are only used via
15862         quoting_options rather than quoting_style.
15863
15864 2011-04-29  Jim Meyering  <meyering@redhat.com>
15865
15866         maint.mk: remove unused VC-tag variable
15867         * top/maint.mk (VC-tag): Remove unused variable.
15868
15869 2011-04-29  Bruno Haible  <bruno@clisp.org>
15870
15871         netdb: fix gai_strerror replacements
15872         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15873         * modules/netdb: Substitute it.
15874
15875 2011-04-29  Jim Meyering  <meyering@redhat.com>
15876
15877         test-getcwd.c: avoid new set-but-not-used warning
15878         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15879         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15880         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15881         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15882
15883         test-hash.c: avoid a new shadowing warning
15884         * tests/test-hash.c (main): Don't shadow "dup".
15885
15886 2011-04-28  Eric Blake  <eblake@redhat.com>
15887
15888         getaddrinfo: fix gai_strerror signature
15889         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15890         and work around mingw with UNICODE defined.
15891         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15892         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15893         * modules/netdb (Makefile.am): Substitute it.
15894         * lib/netdb.in.h (gai_strerror): Declare replacement.
15895         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15896         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15897         the fix.
15898
15899         getsockopt: avoid compiler warning
15900         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15901         Reported by Matthias Bolte.
15902
15903         tests: drop unused link dependency
15904         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15905         * modules/dirent-safer-tests (Makefile.am): Likewise.
15906         * modules/fdopendir-tests (Makefile.am): Likewise.
15907         * modules/mkfifoat-tests (Makefile.am): Likewise.
15908         * modules/openat-safer-tests (Makefile.am): Likewise.
15909         * modules/openat-tests (Makefile.am): Likewise.
15910         * modules/readlinkat-tests (Makefile.am): Likewise.
15911         * modules/symlinkat-tests (Makefile.am): Likewise.
15912         * modules/linkat-tests (Makefile.am): Likewise.
15913         (Depends-on): Switch to filenamecat-lgpl.
15914         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15915         LIBINTL.
15916         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15917         * tests/test-linkat.c (main): Don't require xalloc.
15918
15919         hash, mgetgroups: drop xalloc dependency
15920         * lib/hash.c (includes): Adjust includes.
15921         * lib/mgetgroups.c (includes): Likewise.
15922         (xgetgroups): Move...
15923         * lib/xgetgroups.c: ...to new file.
15924         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15925         * modules/xgetgroups: New file, split from...
15926         * modules/mgetgroups: ...here.
15927         (Depends-on): Add xalloc-oversized.
15928         * modules/hash (Depends-on): Likewise.
15929         * modules/hash-tests (Depends-on): Drop xalloc.
15930         (test_hash_LDADD): Drop unused library.
15931         * tests/test-hash.c (main): Break xalloc dependency.
15932         (includes): Drop unused include.
15933
15934         xalloc-oversized: new module
15935         * modules/xalloc-oversized: New module.
15936         * modules/xalloc (Depends-on): Add it.
15937         * lib/xalloc.h (xalloc_oversized): Move...
15938         * lib/xalloc-oversized.h: ...into new file.
15939
15940         utimecmp: drop dependency on xmalloc
15941         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15942         due to memory pressure.
15943         * modules/utimecmp (Depends-on): Drop xalloc.
15944
15945 2011-04-27  Eric Blake  <eblake@redhat.com>
15946
15947         getcwd: fix mingw bugs
15948         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15949         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15950         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15951
15952 2011-04-27  Bruno Haible  <bruno@clisp.org>
15953
15954         mkstemps: Ensure declaration on MacOS X 10.5.
15955         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15956         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15957         MacOS X.
15958
15959 2011-04-27  Bruno Haible  <bruno@clisp.org>
15960
15961         mkstemp: More documentation.
15962         * doc/posix-functions/mkstemp.texi: Document header file problem on
15963         MacOS X.
15964
15965 2011-04-27  Bruno Haible  <bruno@clisp.org>
15966
15967         mkstemp: Tweak configure message when cross-compiling.
15968         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
15969         result as a guess.
15970
15971 2011-04-27  Bruno Haible  <bruno@clisp.org>
15972
15973         clean-temp: Clarify what it does.
15974         * lib/clean-temp.h: Add more comments.
15975         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
15976         module.
15977         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
15978         * doc/glibc-functions/mkstemps.texi: Likewise.
15979         * doc/glibc-functions/mkostemps.texi: Likewise.
15980
15981 2011-04-27  Eric Blake  <eblake@redhat.com>
15982
15983         fchdir: avoid extra chdir and fix test
15984         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
15985         getcwd-lgpl.
15986         * lib/fchdir.c (get_name): Any absolute name will do; it does not
15987         have to be canonical.
15988         (canonicalize_file_name): Drop unused macro.
15989         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
15990
15991         filenamecat-lgpl: fix licence
15992         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
15993         when it was first created.
15994
15995         linkat, renameat: add missing dependency
15996         * modules/linkat (Depends-on): Require getcwd-lgpl.
15997         * modules/renameat (Depends-on): Likewise.
15998
15999         tests: reduce dependencies
16000         * tests/test-linkat.c (main): Use lighter-weight getcwd.
16001         * tests/test-renameat.c (main): Likewise.
16002         * modules/linkat-tests (Depends-on): Relax dependency.
16003         * modules/renameat-tests (Depends-on): Likewise.
16004         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
16005         dependency explicit.
16006
16007         save-cwd: reduce default dependency
16008         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
16009         * lib/save-cwd.c: Update comments.
16010         * NEWS: Document the semantic change.
16011
16012         getcwd: enhance tests
16013         * tests/test-getcwd-lgpl.c: New file, taken from...
16014         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
16015         repeat long path stress tests from m4 probe.
16016         * modules/getcwd-lgpl-tests: New module.
16017         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
16018         * m4/getcwd-abort-bug.m4: Update comment.
16019         * m4/getcwd-path-max.m4: Likewise.
16020
16021         getcwd-lgpl: new module
16022         * modules/getcwd-lgpl: New module.
16023         * lib/getcwd-lgpl.c: New file.
16024         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16025         * MODULES.html.sh (lacking POSIX:2008): Likewise.
16026         * modules/getcwd (configure.ac): Set C witness.
16027         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
16028
16029         getcwd: tweak comments
16030         * m4/getcwd-abort-bug.m4: Fix comments.
16031         * m4/getcwd-path-max.m4: Likewise.
16032         * m4/getcwd.m4: Likewise.
16033
16034 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16035         and Eric Blake  <eblake@redhat.com>
16036
16037         mkstemp: replace if system version uses wrong permissions
16038         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
16039         read/write mode bits set in file created by mkstemp.
16040         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
16041
16042 2011-04-27  Eric Blake  <eblake@redhat.com>
16043
16044         passfd: avoid compiler warning
16045         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
16046         Reported by Laine Stump.
16047
16048 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
16049
16050         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
16051         required by the NetBSD (and perhaps other 4.4BSD derived) join.
16052
16053 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16054         and Eric Blake  <eblake@redhat.com>
16055
16056         mkstemp: mention clean-temp module
16057         * lib/mkstemp.c: Add comment.
16058         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
16059
16060 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
16061
16062         inttypes: also provide default values for 32-bit tests
16063         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
16064         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
16065
16066 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
16067
16068         strtoumax: remove dependency on strtoimax
16069         This is like the strtoull change of yesterday.
16070         * modules/strtoumax (Files): Add lib/strtoimax.c.
16071         (Depends-on): Remove strtoimax and add verify.
16072
16073         inttypes-incomplete: new module
16074         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
16075         all but the PRI* and SCN* parts of gl_INTTYPES_H.
16076         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
16077         of gl_INTTYPES_H.
16078         (gl_INTTYPES_H): Rewrite in terms of these new macros.
16079         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
16080         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
16081         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
16082         * modules/strtoumax, modules/xstrtol (Depends-on):
16083         Depend on inttypes-incomplete, not inttypes.
16084         * modules/inttypes-incomplete: New module, containing the contents
16085         of the old modules/inttypes module, except that the Files: section
16086         omits m4/inttypes-pri.m4, and the configure.ac section invokes
16087         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
16088         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
16089         (Depends-on): Depend only on inttypes-incomplete.
16090         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
16091
16092         inttypes: omit now-redundant strtoimax and strtoumax work
16093         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
16094         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
16095
16096         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
16097         This supports apps that need pointers to strtoimax and strtoumax,
16098         and ports to HP-UX 11.00 64.bit, which has macros that expand to
16099         nonexistent functions.  See
16100         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
16101         et seq.
16102         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
16103         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
16104         a macro.
16105         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16106
16107 2011-04-25  Simon Josefsson  <simon@josefsson.org>
16108
16109         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
16110
16111 2011-04-25  Bruno Haible  <bruno@clisp.org>
16112
16113         strtol, strtoul: Mark modules as obsolete.
16114         * modules/strtol (Status, Notice): New sections.
16115         * modules/strtoul (Status, Notice): New sections.
16116
16117 2011-04-25  Bruno Haible  <bruno@clisp.org>
16118
16119         strtod: Remove check for strtod, unless supporting old platforms.
16120         * modules/strtod-obsolete: New file.
16121         * m4/strtod-obsolete.m4: New file.
16122         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
16123         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
16124         * modules/strtod (Depends-on): Add strtod-obsolete.
16125         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
16126
16127 2011-04-25  Bruno Haible  <bruno@clisp.org>
16128
16129         strcase: Make module obsolete.
16130         * modules/strcase (Status, Notice): New sections.
16131
16132 2011-04-25  Bruno Haible  <bruno@clisp.org>
16133
16134         dup2: Remove check for dup2, unless supporting old obsolete platforms.
16135         * modules/dup2-obsolete: New file.
16136         * m4/dup2-obsolete.m4: New file.
16137         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
16138         gl_FUNC_DUP2_OBSOLETE is not also defined.
16139         * modules/dup2 (Depends-on): Add dup2-obsolete.
16140         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
16141
16142 2011-04-25  Bruno Haible  <bruno@clisp.org>
16143
16144         strnlen: Avoid memchr related link error on old obsolete platforms.
16145         * modules/memchr-obsolete: New file.
16146         * m4/memchr-obsolete.m4: New file.
16147         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
16148         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
16149         * modules/memchr (Depends-on): Add memchr-obsolete.
16150         * modules/strnlen (Depends-on): Likewise.
16151         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
16152
16153 2011-04-25  Jim Meyering  <meyering@redhat.com>
16154
16155         maint.mk: makefile_at_at_check extend and clean up
16156         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
16157         in addition to */Makefile.am.
16158         Exempt legitimate uses of @VAR@ notation, e.g.,
16159         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
16160         Remove obsolete coreutils-specific comment.
16161         Prompted by discussion here:
16162         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
16163
16164 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16165
16166         strtoul: remove dependency on strtol
16167         This is so that 'configure' need not check for strtol merely because
16168         the application needs strtoul.
16169         * modules/strtoul (Files): Add lib/strtol.c.
16170         (Depends-on): Remove strtol.
16171
16172         strtoull: remove dependency on strtoul
16173         This is like the strtoll change.
16174         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
16175         (Depends-on): Remove strtoul.
16176
16177         strtoll: remove dependency on strtol
16178         This is so that 'configure' need not check for strtol merely because
16179         the application needs strtoll.
16180         * modules/strtoll (Files): Add lib/strtol.c.
16181         (Depends-on): Remove strtol.
16182
16183 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16184
16185         inttypes: Move some configure check to module 'imaxdiv'.
16186         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
16187         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
16188         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
16189
16190 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16191
16192         inttypes: Move some configure check to module 'imaxabs'.
16193         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
16194         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
16195         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
16196
16197 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16198
16199         inttypes: Remove configure tests that are not needed since 2009-12-31.
16200         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
16201         gl_cv_header_working_inttypes_h.
16202
16203 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16204
16205         * modules/strnlen (Depends-on): Remove memchr.
16206         The strnlen implementation doesn't need the memchr module's fixes; see
16207         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
16208
16209         strtol: remove dependency on wchar
16210         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
16211         * modules/strtol (Depends-on): Remove wchar.
16212
16213 2011-04-21  Eric Blake  <eblake@redhat.com>
16214
16215         passfd: fix test regression on Linux
16216         * modules/passfd-tests (configure.ac): Correct socketpair check.
16217
16218         passfd: speed up configure and drop unused code
16219         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
16220         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
16221         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
16222         Instead of probing at configure for unix_scm_rights_bsd44_way,
16223         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
16224         check to a struct member probe.
16225         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
16226         (sendfd, recvfd): Update preprocessor checks.
16227         * modules/passfd (Files): Reflect rename, and drop unused file.
16228         (Depends-on): Drop unused dependency.
16229
16230         passfd: allow compilation on mingw
16231         * modules/sys_socket (Depends-on): Add sys_uio.
16232         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
16233         iovec and a minimal struct msghdr.
16234         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
16235         * tests/test-sys_socket.c (main): Enhance test.
16236         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
16237         guaranteed to provide what we need.
16238         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
16239         * modules/passfd-tests (Depends-on): Add sys_wait.
16240         * tests/test-passfd.c (main): Skip test on mingw, for now.
16241         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
16242         partial 'struct msghdr' implementation.
16243
16244         sys_uio: new module
16245         * modules/sys_uio: New module.
16246         * modules/sys_uio-tests: Likewise.
16247         * lib/sys_uio.in.h: New file.
16248         * m4/sys_uio_h.m4: Likewise.
16249         * tests/test-sys_uio.c: Likewise.
16250         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
16251         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
16252
16253 2011-04-20  Jim Meyering  <meyering@redhat.com>
16254
16255         useless-if-before-free: avoid false-positive
16256         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
16257         disjunct so that it too requires a terminating ";".  Without that,
16258         this script would identify as useless one statement from gcc that
16259         was not:
16260           if (aligned_ptr)
16261             free (((void **) aligned_ptr) [-1]);
16262
16263 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
16264
16265         doc: update users.txt.
16266         * users.txt: Add barcode.
16267
16268 2011-04-19  Bruno Haible  <bruno@clisp.org>
16269
16270         ioctl: Remove link dependency on native Windows.
16271         * lib/fd-hook.h: Renamed from lib/close-hook.h.
16272         (gl_close_fn, gl_ioctl_fn): New types.
16273         (struct fd_hook): Renamed from struct close_hook. Change type of
16274         private_close_fn field. Add private_ioctl_fn field.
16275         (close_hook_fn): Add parameter for primary close method.
16276         (execute_close_hooks, execute_all_close_hooks): Likewise.
16277         (ioctl_hook_fn): New type.
16278         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
16279         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16280         argument.
16281         (unregister_fd_hook): Renamed from unregister_close_hook.
16282         * lib/fd-hook.c: Renamed from lib/close-hook.c.
16283         Don't include <unistd.h>.
16284         (close): Remove undef.
16285         (anchor): Update.
16286         (execute_close_hooks): Add argument for primary close method.
16287         (execute_all_close_hooks): Likewise.
16288         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
16289         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16290         argument. Allow each argument to be NULL.
16291         (unregister_fd_hook): Renamed from unregister_close_hook.
16292         * lib/close.c (rpl_close): Pass 'close' function pointer to
16293         execute_all_close_hooks.
16294         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
16295         (primary_ioctl): New function.
16296         (ioctl): Don't call ioctlsocket here. Instead, call
16297         execute_all_ioctl_hooks.
16298         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
16299         close method.
16300         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
16301         (fd_sockets_hook): Renamed from close_sockets_hook.
16302         (gl_sockets_startup, gl_sockets_cleanup): Update.
16303         * modules/fd-hook: Renamed from modules/close-hook. Update.
16304         * modules/close (Depends-on): Add fd-hook, remove close-hook.
16305         * modules/sockets (Depends-on): Likewise.
16306         * modules/ioctl (Depends-on): Add fd-hook.
16307         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
16308         GNULIB_SOCKET.
16309
16310 2011-04-19  Bruno Haible  <bruno@clisp.org>
16311
16312         Move the support of O_NONBLOCK in open() to the 'open' module.
16313         * modules/nonblocking (Depends-on): Remove 'open'.
16314         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
16315         gl_cv_have_open_O_NONBLOCK.
16316         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
16317         O_NONBLOCK support.
16318         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
16319
16320 2011-04-17  Bruno Haible  <bruno@clisp.org>
16321
16322         pipe2: Simplify code.
16323         * lib/pipe2.c (pipe2): Reduce code duplication.
16324
16325 2011-04-17  Bruno Haible  <bruno@clisp.org>
16326
16327         nonblocking: Add comment.
16328         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
16329
16330 2011-04-17  Bruno Haible  <bruno@clisp.org>
16331
16332         nonblocking: Add tests for sockets.
16333         * tests/test-nonblocking-socket.sh: New file.
16334         * tests/test-nonblocking-socket-main.c: New file.
16335         * tests/test-nonblocking-socket-child.c: New file.
16336         * tests/test-nonblocking-socket.h: New file.
16337         * tests/socket-server.h: New file.
16338         * tests/socket-client.h: New file.
16339         * modules/nonblocking-socket-tests: New file.
16340         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
16341
16342 2011-04-17  Bruno Haible  <bruno@clisp.org>
16343
16344         nonblocking: Add tests for pipes.
16345         * tests/test-nonblocking-pipe.sh: New file.
16346         * tests/test-nonblocking-pipe-main.c: New file.
16347         * tests/test-nonblocking-pipe-child.c: New file.
16348         * tests/test-nonblocking-pipe.h: New file.
16349         * tests/test-nonblocking-writer.h: New file.
16350         * tests/test-nonblocking-reader.h: New file.
16351         * tests/test-nonblocking-misc.h: New file.
16352         * modules/nonblocking-pipe-tests: New file.
16353         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
16354
16355 2011-04-16  Bruno Haible  <bruno@clisp.org>
16356
16357         gettext: Clarify the needed programmer actions.
16358         * modules/gettext (Notice): New field.
16359         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
16360
16361 2011-04-16  Bruno Haible  <bruno@clisp.org>
16362
16363         strchrnul: Tweak last commit.
16364         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
16365         bug.
16366         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
16367         as in _GL_FUNCDECL_SYS.
16368         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
16369         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
16370
16371 2011-04-15  Eric Blake  <eblake@redhat.com>
16372
16373         strchrnul: work around cygwin bug
16374         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
16375         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
16376         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
16377         * modules/string (Makefile.am): Substitute it.
16378         * lib/string.in.h (strchrnul): Use it.
16379
16380 2011-04-15  Bruno Haible  <bruno@clisp.org>
16381
16382         Don't require lib/stdio-write.c when only module 'stdio' is used.
16383         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
16384         invocation.
16385         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
16386
16387 2011-04-14  Bruno Haible  <bruno@clisp.org>
16388
16389         Support non-blocking pipe I/O in read() on native Windows.
16390         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
16391         (read): New declaration.
16392         * lib/read.c: New file.
16393         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
16394         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
16395         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
16396         vscanf): New declarations.
16397         * lib/stdio-read.c: New file.
16398         * m4/read.m4: New file.
16399         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
16400         REPLACE_READ.
16401         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
16402         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16403         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
16404         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
16405         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
16406         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16407         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16408         * modules/read: New file.
16409         * modules/nonblocking (Files): Add lib/stdio-read.c.
16410         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
16411         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
16412         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16413         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16414         * modules/pread (Depends-on): Add read.
16415         * modules/safe-read (Depends-on): Likewise.
16416         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
16417         gets, scanf, vfscanf, vscanf): Verify signatures.
16418         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
16419         problem with non-blocking pipes.
16420         * doc/posix-functions/fgetc.texi: Likewise.
16421         * doc/posix-functions/fgets.texi: Likewise.
16422         * doc/posix-functions/fread.texi: Likewise.
16423         * doc/posix-functions/fscanf.texi: Likewise.
16424         * doc/posix-functions/getc.texi: Likewise.
16425         * doc/posix-functions/getchar.texi: Likewise.
16426         * doc/posix-functions/gets.texi: Likewise.
16427         * doc/posix-functions/scanf.texi: Likewise.
16428         * doc/posix-functions/vfscanf.texi: Likewise.
16429         * doc/posix-functions/vscanf.texi: Likewise.
16430
16431 2011-04-14  Bruno Haible  <bruno@clisp.org>
16432
16433         Support non-blocking pipe I/O in write() on native Windows.
16434         * lib/write.c (rpl_write): Split a write request that failed merely
16435         because the byte count was larger than the pipe buffer's size.
16436         * doc/posix-functions/write.texi: Mention the problem with large byte
16437         counts.
16438
16439 2011-04-14  Bruno Haible  <bruno@clisp.org>
16440
16441         wchar: Ensure that wchar_t gets defined on uClibc.
16442         * lib/wchar.in.h: On uClibc, include <stddef.h>.
16443         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
16444
16445 2011-04-13  Bruno Haible  <bruno@clisp.org>
16446
16447         safe-write, full-read: Avoid unnecessary compilation units.
16448         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
16449         (Depends-on): Remove safe-read. Add ssize_t.
16450         * modules/full-read (Files): Add lib/full-write.c.
16451         (Depends-on): Add full-write.
16452
16453 2011-04-13  Bruno Haible  <bruno@clisp.org>
16454
16455         Support non-blocking pipe I/O and SIGPIPE in pwrite().
16456         * modules/pwrite (Depends-on): Add 'write'.
16457
16458 2011-04-13  Bruno Haible  <bruno@clisp.org>
16459
16460         Support non-blocking pipe I/O in write() on native Windows.
16461         * lib/unistd.in.h (write): Enable replacement also if
16462         GNULIB_UNISTD_H_NONBLOCKING is 1.
16463         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
16464         (rpl_write): When failing to write on a non-blocking pipe, change
16465         errno from ENOSPC to EAGAIN.
16466         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
16467         putchar, puts, vfprintf, vprintf): Enable replacement also if
16468         GNULIB_STDIO_H_NONBLOCKING is 1.
16469         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
16470         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
16471         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
16472         CALL_WITH_SIGPIPE_EMULATION.
16473         (CALL_WITH_SIGPIPE_EMULATION): Use them.
16474         * m4/nonblocking.m4: New file.
16475         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
16476         for non-blocking I/O support.
16477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16478         GNULIB_UNISTD_H_NONBLOCKING.
16479         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
16480         required for non-blocking I/O support.
16481         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
16482         * modules/nonblocking (Files): Add m4/nonblocking.m4,
16483         lib/stdio-write.c, m4/asm-underscore.m4.
16484         (Depends-on): Add stdio, unistd.
16485         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
16486         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
16487         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
16488         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
16489         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
16490         problem with non-blocking pipes.
16491         * doc/posix-functions/fputc.texi: Likewise.
16492         * doc/posix-functions/fputs.texi: Likewise.
16493         * doc/posix-functions/fwrite.texi: Likewise.
16494         * doc/posix-functions/printf.texi: Likewise.
16495         * doc/posix-functions/putc.texi: Likewise.
16496         * doc/posix-functions/putchar.texi: Likewise.
16497         * doc/posix-functions/puts.texi: Likewise.
16498         * doc/posix-functions/vfprintf.texi: Likewise.
16499         * doc/posix-functions/vprintf.texi: Likewise.
16500         * doc/posix-functions/write.texi: Likewise.
16501
16502 2011-04-10  Jim Meyering  <meyering@redhat.com>
16503
16504         maint.mk: prohibit doubled words
16505         Detect them also when they're separated by a newline.
16506         There are 3 ways to customize it:
16507           - disable the test on a per file basis, as usual with rules using
16508             $(VC_LIST_EXCEPT)
16509           - replace the default doubled-word-selecting regexp (affects all files)
16510           - ignore a particular file-vs-doubled-word match
16511         I nearly used that last one to ignore the "is is" match in
16512         coreutils' NEWS file, since the text was "ls -is is ..."
16513         To do that, I would have added this line to cfg.mk:
16514           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
16515         but it would have ignored any "is is" match in NEWS.
16516         Low probability, but still...
16517         Instead, I changed the text, slightly:
16518           -  ls -is is now consistent with ls -lis in ignoring values returned
16519           +  "ls -is" is now consistent with ls -lis in ignoring values returned
16520         * top/maint.mk (prohibit_double_word_RE_): Provide default.
16521         (prohibit_doubled_word_): Define.
16522         (sc_prohibit_doubled_word): New rule.
16523         (sc_prohibit_the_the): Remove.  Subsumed by the above.
16524
16525 2011-04-10  Jim Meyering  <meyering@redhat.com>
16526
16527         maint: fix doubled-word typo in comment
16528         * m4/gethostname.m4: s/is is/it is/
16529         * m4/getdomainname.m4: Likewise.
16530
16531 2011-04-10  Jim Meyering  <meyering@redhat.com>
16532
16533         maint: remove doubled word: s/it it/it/
16534         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
16535
16536 2011-04-10  Jim Meyering  <meyering@redhat.com>
16537
16538         maint.mk: remove useless semicolon and backslash
16539         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
16540         semicolon and backslash.
16541
16542 2011-04-10  Bruno Haible  <bruno@clisp.org>
16543
16544         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
16545         * modules/stdint-tests (Depends-on): Add wchar.
16546
16547 2011-04-10  Jim Meyering  <meyering@redhat.com>
16548
16549         maint: remove doubled words in comments, e.g., s/a a/a/
16550         * lib/strptime.c (day_of_the_week): s/the the/the/
16551         * tests/test-chown.h (test_chown): s/a a/a/
16552
16553         test-chown.h: correct a cast
16554         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
16555         when the destination is a stat.st_gid.
16556
16557 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
16558
16559         getaddrinfo: Fix test for sa_len member.
16560         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
16561         include <sys/types.h> before <sys/socket.h>.
16562
16563 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16564
16565         maint: change "can not" to "cannot"
16566         * doc/posix-functions/iconv.texi (iconv): This one crossed line
16567         boundaries.
16568
16569 2011-04-09  Jim Meyering  <meyering@redhat.com>
16570
16571         maint: change "a a" to "a"
16572         * tests/test-lchown.h (test_lchown): s/a a/a/
16573
16574         maint.mk: prohibit \<the the\>
16575         * top/maint.mk (sc_prohibit_the_the): New rule.
16576
16577         maint: fix "the the" in comment
16578         * lib/count-one-bits.h: s/the the/the/
16579
16580         maint: change "can not" to "cannot"
16581         But do not change the occurrences in maintain.texi or in
16582         build-aux/po/Makefile.in.in, which I presume comes from gettext.
16583         * doc/gnulib-tool.texi: s/can not/cannot/
16584         * doc/posix-functions/accept.texi (accept): Likewise.
16585         * doc/posix-functions/socket.texi (socket): Likewise.
16586         * lib/mbrtowc.c: Likewise.
16587
16588         maint.mk: prohibit use of "can not"
16589         * top/maint.mk (sc_prohibit_can_not): New rule.
16590         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
16591
16592 2011-04-09  Bruno Haible  <bruno@clisp.org>
16593
16594         careadlinkat: Guard against misuse of careadlinkatcwd.
16595         * lib/careadlinkat.c: Include <stdlib.h>.
16596         (careadlinkatcwd): Check that the fd argument is as expected.
16597
16598 2011-04-09  Bruno Haible  <bruno@clisp.org>
16599
16600         careadlinkat: Use common coding style.
16601         * lib/careadlinkat.c: Move gnulib includes after system includes.
16602
16603 2011-04-09  Bruno Haible  <bruno@clisp.org>
16604
16605         careadlinkat: Clarify specification.
16606         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
16607         (careadlinkatcwd): Add comment.
16608         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
16609
16610 2011-04-09  Bruno Haible  <bruno@clisp.org>
16611
16612         areadlinkat: Avoid link error on many platforms.
16613         * modules/areadlinkat (Depends-on): Add areadlink.
16614
16615 2011-04-09  Bruno Haible  <bruno@clisp.org>
16616
16617         allocator, careadlinkat: Fix double-inclusion guard.
16618         * lib/allocator.h: Fix double-inclusion guard.
16619         * lib/careadlinkat.h: Likewise.
16620
16621 2011-04-09  Bruno Haible  <bruno@clisp.org>
16622
16623         relocatable-prog-wrapper: Update after module 'areadlink' changed.
16624         * lib/relocwrapper.c: Update dependencies hierarchy.
16625         * build-aux/install-reloc: Update list of files to be compiled.
16626         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
16627         lib/allocator.[hc].
16628
16629 2011-04-08  Eric Blake  <eblake@redhat.com>
16630
16631         strftime: silence gnulib-tool warning
16632         * modules/strftime-tests (Depends-on): Drop automatic dependency.
16633
16634 2011-04-08  Bruno Haible  <bruno@clisp.org>
16635
16636         verify: Fix syntax error with GCC 4.6 in C++ mode.
16637         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
16638         (HAVE_STATIC_ASSERT): New macro.
16639         (verify_true, verify): Use 'static_assert' if it is supported and
16640         '_Static_assert' is not supported.
16641
16642 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16643
16644         allocator: New module.
16645         * modules/allocator, lib/allocator.c: New files.
16646         * lib/allocator.h (stdlib_allocator): New decl.
16647         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
16648         Remove.  Do not include <stdlib.h>.
16649         (careadlinkat): Use stdlib_allocator instead of rolling our own.
16650         * modules/careadlinkat (Files): Remove lib/allocator.h.
16651         (Depends-on): Add allocator.
16652
16653         stdlib: let modules use system malloc, realloc
16654         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
16655         if !_GL_USE_STDLIB_ALLOC.
16656         (malloc, realloc): Limit this change to a smaller scope.
16657
16658         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
16659         (malloc, realloc): Don't #undef; no longer needed.
16660         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16661         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16662         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16663         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16664         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16665         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16666         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16667         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16668
16669         careadlinkat: rename members to avoid problem
16670         * lib/allocator.h (struct allocator): Rename members from
16671         malloc/realloc to allocate/reallocate, to avoid problems if malloc
16672         and realloc are #define'd.  Reported by Eric Blake in
16673         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
16674         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
16675
16676 2011-04-08  Eric Blake  <eblake@redhat.com>
16677
16678         nonblocking: reduce dependency
16679         * tests/test-nonblocking.c: Only test sockets when in use.
16680         * modules/nonblocking-tests (Depends-on): Drop socket.
16681         (Makefile.am): Link even if sockets are not present.
16682         * modules/pipe2-tests (Makefile.am): Likewise.
16683         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16684
16685         pipe2: fix O_NONBLOCK support on mingw
16686         * modules/pipe2 (Depends-on): Add nonblocking.
16687         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16688         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16689         * tests/test-nonblocking.c (main): Likewise.
16690         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16691
16692         fcntl-h: fix O_ACCMODE on cygwin
16693         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16694         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16695
16696         pipe-filter: drop O_NONBLOCK workarounds
16697         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16698         * modules/pipe-filter-ii (Depends-on): Likewise.
16699         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16700
16701         nonblocking: provide O_NONBLOCK for mingw
16702         * modules/nonblocking (Depends-on): Add open.
16703         (configure.ac): Set new witness macro.
16704         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16705         * modules/fcntl-h (Makefile.am): Substitute it.
16706         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16707         nonblocking module is in use.
16708         * lib/nonblocking.c: Adjust portability test.
16709         * lib/open.c (open): Don't let native open see gnulib flag.
16710         * tests/test-fcntl-h.c (main): Enhance test.
16711         * tests/test-open.h (test_open): Likewise.
16712         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16713
16714         careadlinkat: fix compilation error on mingw
16715         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16716         within struct allocator.
16717
16718 2011-04-06  Eric Blake  <eblake@redhat.com>
16719
16720         binary-io: relicense under LGPLv2+
16721         * modules/binary-io (License): Relax to LGPLv2+.
16722         Requested for libvirt, and required by pipe2.
16723
16724 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16725
16726         verify: use _Static_assert if available
16727         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16728         (verify_true, verify): Use it if available.  This generates better
16729         diagnostics with GCC 4.6.0 and later.
16730
16731 2011-04-05  Bruno Haible  <bruno@clisp.org>
16732
16733         Remove leftover generated .h files after config.status changed.
16734
16735         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16736         GL_GENERATE_ALLOCA_H.
16737         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16738         GL_GENERATE_ALLOCA_H evaluates to false.
16739
16740         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16741         GL_GENERATE_ARGZ_H.
16742         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16743         evaluates to false.
16744
16745         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16746         GL_GENERATE_BYTESWAP_H.
16747         * modules/byteswap (Makefile.am): Remove byteswap.h if
16748         GL_GENERATE_BYTESWAP_H evaluates to false.
16749
16750         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16751         GL_GENERATE_ERRNO_H.
16752         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16753         evaluates to false.
16754
16755         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16756         GL_GENERATE_FLOAT_H.
16757         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16758         evaluates to false.
16759
16760         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16761         GL_GENERATE_FNMATCH_H.
16762         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16763         GL_GENERATE_FNMATCH_H evaluates to false.
16764
16765         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16766         GL_GENERATE_GLOB_H.
16767         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16768         evaluates to false.
16769
16770         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16771         automake conditional GL_GENERATE_ICONV_H.
16772         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16773         evaluates to false.
16774
16775         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16776         GL_GENERATE_NETINET_IN_H.
16777         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16778         GL_GENERATE_NETINET_IN_H evaluates to false.
16779
16780         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16781         conditional GL_GENERATE_PTHREAD_H.
16782         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16783         * modules/pthread (Makefile.am): Remove pthread.h if
16784         GL_GENERATE_PTHREAD_H evaluates to false.
16785
16786         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16787         GL_GENERATE_SCHED_H.
16788         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16789         evaluates to false.
16790
16791         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16792         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16793         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16794         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16795
16796         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16797         GL_GENERATE_STDARG_H.
16798         * modules/stdarg (Makefile.am): Remove stdarg.h if
16799         GL_GENERATE_STDARG_H evaluates to false.
16800
16801         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16802         GL_GENERATE_STDBOOL_H.
16803         * modules/stdbool (Makefile.am): Remove stdbool.h if
16804         GL_GENERATE_STDBOOL_H evaluates to false.
16805
16806         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16807         conditional GL_GENERATE_STDDEF_H.
16808         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16809         * modules/stddef (Makefile.am): Remove stddef.h if
16810         GL_GENERATE_STDDEF_H evaluates to false.
16811
16812         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16813         GL_GENERATE_STDINT_H.
16814         * modules/stdint (Makefile.am): Remove stdint.h if
16815         GL_GENERATE_STDINT_H evaluates to false.
16816
16817         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16818         GL_GENERATE_SYSEXITS_H.
16819         * modules/sysexits (Makefile.am): Remove sysexits.h if
16820         GL_GENERATE_SYSEXITS_H evaluates to false.
16821
16822         Reported by Karl Berry and Ralf Wildenhues.
16823
16824 2011-04-05  Bruno Haible  <bruno@clisp.org>
16825
16826         Ensure to rebuild generated .h files when config.status has changed.
16827         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
16828         config.status.
16829         * modules/ctype (Makefile.am): Likewise.
16830         * modules/dirent (Makefile.am): Likewise.
16831         * modules/errno (Makefile.am): Likewise.
16832         * modules/fcntl-h (Makefile.am): Likewise.
16833         * modules/float (Makefile.am): Likewise.
16834         * modules/getopt-posix (Makefile.am): Likewise.
16835         * modules/glob (Makefile.am): Likewise.
16836         * modules/iconv-h (Makefile.am): Likewise.
16837         * modules/inttypes (Makefile.am): Likewise.
16838         * modules/langinfo (Makefile.am): Likewise.
16839         * modules/locale (Makefile.am): Likewise.
16840         * modules/math (Makefile.am): Likewise.
16841         * modules/netdb (Makefile.am): Likewise.
16842         * modules/netinet_in (Makefile.am): Likewise.
16843         * modules/poll-h (Makefile.am): Likewise.
16844         * modules/pthread (Makefile.am): Likewise.
16845         * modules/pty (Makefile.am): Likewise.
16846         * modules/sched (Makefile.am): Likewise.
16847         * modules/search (Makefile.am): Likewise.
16848         * modules/selinux-h (Makefile.am): Likewise.
16849         * modules/signal (Makefile.am): Likewise.
16850         * modules/spawn (Makefile.am): Likewise.
16851         * modules/stdarg (Makefile.am): Likewise.
16852         * modules/stdbool (Makefile.am): Likewise.
16853         * modules/stddef (Makefile.am): Likewise.
16854         * modules/stdint (Makefile.am): Likewise.
16855         * modules/stdio (Makefile.am): Likewise.
16856         * modules/stdlib (Makefile.am): Likewise.
16857         * modules/string (Makefile.am): Likewise.
16858         * modules/strings (Makefile.am): Likewise.
16859         * modules/sys_file (Makefile.am): Likewise.
16860         * modules/sys_ioctl (Makefile.am): Likewise.
16861         * modules/sys_select (Makefile.am): Likewise.
16862         * modules/sys_socket (Makefile.am): Likewise.
16863         * modules/sys_stat (Makefile.am): Likewise.
16864         * modules/sys_time (Makefile.am): Likewise.
16865         * modules/sys_times (Makefile.am): Likewise.
16866         * modules/sys_utsname (Makefile.am): Likewise.
16867         * modules/sys_wait (Makefile.am): Likewise.
16868         * modules/sysexits (Makefile.am): Likewise.
16869         * modules/termios (Makefile.am): Likewise.
16870         * modules/time (Makefile.am): Likewise.
16871         * modules/unistd (Makefile.am): Likewise.
16872         * modules/wchar (Makefile.am): Likewise.
16873         * modules/wctype-h (Makefile.am): Likewise.
16874         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16875
16876 2011-04-05  Bruno Haible  <bruno@clisp.org>
16877
16878         pipe2: Relicense under LGPLv2+.
16879         * modules/pipe2 (License): Change to LGPLv2+.
16880         Requested by Eric Blake, for libvirt.
16881
16882 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16883
16884         bootstrap: compute gnulib_extra_files after updating build_aux
16885         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16886         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16887
16888 2011-04-05  Eric Blake  <eblake@redhat.com>
16889
16890         bootstrap: preserve git whitelist item sorting
16891         * build-aux/bootstrap (sort_patterns): New function.
16892         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16893
16894 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16895
16896         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16897         sc_space_tab check.
16898
16899 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16900
16901         areadlink, areadlinkat: rewrite in terms of careadlinkat
16902         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16903         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16904         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16905         (malloc, realloc): Remove #undefs.
16906         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16907         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16908         readlink, ssize_t, stdint, unistd.
16909         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16910         areadlink, stdint.
16911
16912         careadlinkat: new module
16913         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16914         * modules/careadlinkat: New files, written by me with
16915         a review and feedback from Ben Pfaff in
16916         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16917
16918 2011-04-01  Bruno Haible  <bruno@clisp.org>
16919
16920         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16921         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16922         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16923         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16924         Reported by Bruce Korb <bruce.korb@gmail.com>.
16925
16926 2011-04-01  Bruno Haible  <bruno@clisp.org>
16927
16928         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16929         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16930         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16931         * modules/wcpcpy (Depends-on): Add extensions.
16932         * modules/wcpncpy (Depends-on): Likewise.
16933         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16934         systems.
16935         * doc/posix-functions/wcpncpy.texi: Likewise.
16936         * doc/posix-functions/wcwidth.texi: Likewise.
16937
16938 2011-03-31  Eric Blake  <eblake@redhat.com>
16939
16940         nonblocking: fix mingw test failures
16941         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16942         non-blocking flag on regular file.
16943         (get_nonblocking_flag): Set errno on invalid fd.
16944         * tests/test-nonblocking.c (main): Avoid test failure on
16945         directories if fchdir is not active.
16946         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16947
16948 2011-03-31  Bruno Haible  <bruno@clisp.org>
16949
16950         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16951         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16952         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16953         Reported by Simon Josefsson <simon@josefsson.org>.
16954
16955 2011-03-31  Bruno Haible  <bruno@clisp.org>
16956         and Eric Blake  <eblake@redhat.com>
16957
16958         nonblocking: new module
16959         * modules/nonblocking: New module.
16960         * modules/nonblocking-tests: Likewise.
16961         * lib/nonblocking.h: New file.
16962         * lib/nonblocking.c: Likewise.
16963         * tests/test-nonblocking.c: New test.
16964         * lib/ioctl.c (ioctl) [mingw]: Update comment.
16965
16966 2011-03-30  Bruno Haible  <bruno@clisp.org>
16967
16968         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
16969         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
16970         instead of 'printf' format for GCC >= 4.4.
16971         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
16972         (fprintf, printf, vfprintf, vprintf): Declare with
16973         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
16974         the system's vfprintf() function.
16975         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
16976
16977 2011-03-30  Eric Blake  <eblake@redhat.com>
16978
16979         passfd: fix scoping bug
16980         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
16981         before sendmsg/recvmsg.
16982
16983         passfd: standardize coding conventions
16984         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
16985         can be learned at compile time.
16986         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
16987         ifdefs.
16988         (sendfd, recvfd): Follow gnulib code conventions.
16989
16990         passfd: fix incorrect sendmsg arguments
16991         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
16992         incorrect msg_controllen value.
16993         * modules/passfd-tests (Depends-on): Check for alarm.
16994         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
16995         Reported by Bastien ROUCARIES.
16996
16997 2011-03-30  Bruno Haible  <bruno@clisp.org>
16998
16999         c-strcasestr: Relicense under LGPLv2+.
17000         * modules/c-strcasestr (License): Change to LGPLv2+.
17001         Requested by Eric Blake, for libvirt.
17002
17003 2011-03-30  Simon Josefsson  <simon@josefsson.org>
17004
17005         * users.txt: Add libidn2.  Fix libtasn1 link.
17006
17007 2011-03-30  Jim Meyering  <meyering@redhat.com>
17008
17009         tests: readlink* ("",... fails with EINVAL on newer kernels
17010         readlink and readlinkat have typically failed with ENOENT for
17011         the invalid, empty file name,  "".  However, with the advent
17012         of linux-2.6.39, they fail with EINVAL.
17013         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
17014         when operating on the empty file name.
17015         * tests/test-readlink.h (test_readlink): Likewise.
17016
17017 2011-03-29  Bruno Haible  <bruno@clisp.org>
17018
17019         Relicense some modules under LGPLv2+, for libidn2.
17020         * modules/array-mergesort (License): Change to LGPLv2+.
17021         * modules/c-strcaseeq (License): Likewise.
17022         * modules/striconveh (License): Likewise.
17023         * modules/striconveha (License): Likewise.
17024         * modules/uniconv/base (License): Likewise.
17025         * modules/uniconv/u8-conv-from-enc (License): Likewise.
17026         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
17027         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
17028         * modules/unictype/base (License): Likewise.
17029         * modules/unictype/bidiclass-of (License): Likewise.
17030         * modules/unictype/category-M (License): Likewise.
17031         * modules/unictype/category-none (License): Likewise.
17032         * modules/unictype/category-of (License): Likewise.
17033         * modules/unictype/category-test (License): Likewise.
17034         * modules/unictype/category-test-withtable (License): Likewise.
17035         * modules/unictype/combining-class (License): Likewise.
17036         * modules/unictype/joiningtype-of (License): Likewise.
17037         * modules/unictype/scripts (License): Likewise.
17038         * modules/uninorm/base (License): Likewise.
17039         * modules/uninorm/canonical-decomposition (License): Likewise.
17040         * modules/uninorm/composition (License): Likewise.
17041         * modules/uninorm/decompose-internal (License): Likewise.
17042         * modules/uninorm/decomposition-table (License): Likewise.
17043         * modules/uninorm/nfc (License): Likewise.
17044         * modules/uninorm/nfd (License): Likewise.
17045         * modules/uninorm/u32-normalize (License): Likewise.
17046         * modules/unistr/base (License): Likewise.
17047         * modules/unistr/u32-cpy (License): Likewise.
17048         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
17049         * modules/unistr/u32-to-u8 (License): Likewise.
17050         * modules/unistr/u32-uctomb (License): Likewise.
17051         * modules/unistr/u8-check (License): Likewise.
17052         * modules/unistr/u8-mblen (License): Likewise.
17053         * modules/unistr/u8-mbtouc (License): Likewise.
17054         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
17055         * modules/unistr/u8-mbtoucr (License): Likewise.
17056         * modules/unistr/u8-prev (License): Likewise.
17057         * modules/unistr/u8-strlen (License): Likewise.
17058         * modules/unistr/u8-to-u32 (License): Likewise.
17059         * modules/unistr/u8-uctomb (License): Likewise.
17060         * modules/unitypes (License): Likewise.
17061         Requested by Simon Josefsson.
17062
17063 2011-03-29  Simon Josefsson  <simon@josefsson.org>
17064
17065         lib-symbol-visibility: Add a notice.
17066         * modules/lib-symbol-visibility (Notice): New field.
17067
17068 2011-03-29  Bruno Haible  <bruno@clisp.org>
17069
17070         getaddrinfo: Doc fix.
17071         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
17072         section "fixed in Gnulib".
17073
17074 2011-03-28  Simon Josefsson  <simon@josefsson.org>
17075
17076         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
17077         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
17078
17079 2011-03-26  Bruno Haible  <bruno@clisp.org>
17080
17081         unictype/property-byname: Reduce the number of load-time relocations.
17082         * lib/unictype/pr_byname.c: Include <stdlib.h>.
17083         (UC_PROPERTY_INDEX_*): New enumeration values.
17084         (uc_property_byname): Convert an index from the lookup table to an
17085         uc_property_t.
17086         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
17087         values.
17088
17089 2011-03-26  Bruno Haible  <bruno@clisp.org>
17090
17091         unictype/property-byname: Allow omitted word separators and aliases.
17092         * lib/unictype/pr_byname.gperf: Add property names without word
17093         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
17094         for 'space'.
17095
17096 2011-03-26  Bruno Haible  <bruno@clisp.org>
17097
17098         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
17099         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
17100         also hyphens to space.
17101         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
17102         without spaces.
17103         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
17104
17105 2011-03-26  Bruno Haible  <bruno@clisp.org>
17106
17107         unictype/joiningtype-byname: Recognize long names as well.
17108         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
17109         a long name.
17110         * lib/unictype/joiningtype_byname.c: Include <string.h>,
17111         unictype/joiningtype_byname.h.
17112         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
17113         * lib/unictype/joiningtype_byname.gperf: New file.
17114         * modules/unictype/joiningtype-byname (Files): Add
17115         lib/unictype/joiningtype_byname.gperf.
17116         (Depends-on): Add gperf.
17117         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
17118         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
17119         long names.
17120
17121         Tests for module 'unictype/joiningtype-longname'.
17122         * modules/unictype/joiningtype-longname-tests: New file.
17123         * tests/unictype/test-joiningtype_longname.c: New file.
17124
17125         New module 'unictype/joiningtype-longname'.
17126         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
17127         * lib/unictype/joiningtype_longname.c: New file.
17128         * modules/unictype/joiningtype-longname: New file.
17129         * modules/unictype/joiningtype-all (Depends-on): Add
17130         unictype/joiningtype-longname.
17131
17132 2011-03-26  Bruno Haible  <bruno@clisp.org>
17133
17134         unictype/bidiclass-byname: Recognize long names as well.
17135         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
17136         name.
17137         * lib/unictype/bidi_byname.c: Include <string.h>,
17138         unictype/bidi_byname.h.
17139         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
17140         * lib/unictype/bidi_byname.gperf: New file.
17141         * modules/unictype/bidiclass-byname (Files): Add
17142         lib/unictype/bidi_byname.gperf.
17143         (Depends-on): Add gperf.
17144         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
17145         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
17146         long names.
17147
17148         Tests for module 'unictype/bidiclass-longname'.
17149         * modules/unictype/bidiclass-longname-tests: New file.
17150         * tests/unictype/test-bidi_longname.c: New file.
17151
17152         New module 'unictype/bidiclass-longname'.
17153         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
17154         * lib/unictype/bidi_longname.c: New file.
17155         * modules/unictype/bidiclass-longname: New file.
17156         * modules/unictype/bidiclass-all (Depends-on): Add
17157         unictype/bidiclass-longname.
17158
17159 2011-03-26  Bruno Haible  <bruno@clisp.org>
17160
17161         unictype/bidi*: Rename modules.
17162         * modules/unictype/bidiclass-all: Renamed from
17163         modules/unictype/bidicategory-all.
17164         * modules/unictype/bidiclass-name: Renamed from
17165         modules/unictype/bidiclass-name.
17166         (Description): Update.
17167         * modules/unictype/bidiclass-name-tests: Renamed from
17168         modules/unictype/bidicategory-name-tests.
17169         * modules/unictype/bidiclass-byname: Renamed from
17170         modules/unictype/bidicategory-byname.
17171         (Description): Update.
17172         * modules/unictype/bidiclass-byname-tests: Renamed from
17173         modules/unictype/bidicategory-byname-tests.
17174         * modules/unictype/bidiclass-of: Renamed from
17175         modules/unictype/bidicategory-of.
17176         (Description): Update.
17177         * modules/unictype/bidiclass-of-tests: Renamed from
17178         modules/unictype/bidicategory-of-tests.
17179         * modules/unictype/bidiclass-test: Renamed from
17180         modules/unictype/bidicategory-test.
17181         (Description): Update.
17182         * modules/unictype/bidiclass-test-tests: Renamed from
17183         modules/unictype/bidicategory-test-tests.
17184         * modules/unictype/bidicategory-all: New file, a simple redirection.
17185         * modules/unictype/bidicategory-name: Likewise.
17186         * modules/unictype/bidicategory-byname: Likewise.
17187         * modules/unictype/bidicategory-of: Likewise.
17188         * modules/unictype/bidicategory-test: Likewise.
17189         * modules/unictype/property-bidi-* (Dependencies): Update.
17190         * lib/unictype/bidi_*.c: Update comment.
17191
17192 2011-03-26  Bruno Haible  <bruno@clisp.org>
17193
17194         unictype/bidi*: Rename functions, part 2.
17195         * modules/unictype/bidicategory-name (configure.ac): Update required
17196         libunistring version.
17197         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
17198
17199 2011-03-25  Bruno Haible  <bruno@clisp.org>
17200
17201         New module 'unictype/combining-class-all'.
17202         * modules/unictype/combining-class-all: New file.
17203
17204         Tests for module 'unictype/combining-class-byname'.
17205         * modules/unictype/combining-class-byname-tests: New file.
17206         * tests/unictype/test-combiningclass_byname.c: New file.
17207
17208         New module 'unictype/combining-class-byname'.
17209         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
17210         * lib/unictype/combiningclass_byname.c: New file.
17211         * lib/unictype/combiningclass_byname.gperf: New file.
17212         * modules/unictype/combining-class-byname: New file.
17213
17214         Tests for module 'unictype/combining-class-longname'.
17215         * modules/unictype/combining-class-longname-tests: New file.
17216         * tests/unictype/test-combiningclass_longname.c: New file.
17217
17218         New module 'unictype/combining-class-longname'.
17219         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
17220         * lib/unictype/combiningclass_longname.c: New file.
17221         * modules/unictype/combining-class-longname: New file.
17222
17223         Tests for module 'unictype/combining-class-name'.
17224         * modules/unictype/combining-class-name-tests: New file.
17225         * tests/unictype/test-combiningclass_name.c: New file.
17226
17227         New module 'unictype/combining-class-name'.
17228         * lib/unictype.in.h (uc_combining_class_name): New declaration.
17229         * lib/unictype/combiningclass_name.c: New file.
17230         * modules/unictype/combining-class-name: New file.
17231
17232 2011-03-25  Bruno Haible  <bruno@clisp.org>
17233
17234         unictype/combining-class: Rename source files.
17235         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
17236         of unictype/combining.h.
17237         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
17238         Update.
17239         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
17240         * modules/unictype/combining-class (Description): Fix.
17241         (Files, Makefile.am): Update.
17242         * tests/unictype/test-combiningclass.c: Renamed from
17243         tests/unictype/test-combining.c.
17244         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
17245
17246 2011-03-25  Bruno Haible  <bruno@clisp.org>
17247
17248         unictype: Update list of canonical combining classes.
17249         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
17250
17251 2011-03-25  Bruno Haible  <bruno@clisp.org>
17252
17253         unictype/category-byname: Recognize long names as well.
17254         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
17255         a long name.
17256         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
17257         unictype/categ_byname.h.
17258         (UC_CATEGORY_INDEX_*): New enumeration values.
17259         (uc_general_category_byname): Use uc_general_category_lookup and
17260         convert from index to value.
17261         * lib/unictype/categ_byname.gperf: New file.
17262         * modules/unictype/category-byname (Files): Add
17263         lib/unictype/categ_byname.gperf.
17264         (Depends-on): Add gperf.
17265         (Makefile.am): Add rule for generating unictype/categ_byname.h.
17266         * tests/unictype/test-categ_byname.c (main): Test the recognition of
17267         long names.
17268
17269         Tests for module 'unictype/category-longname'.
17270         * modules/unictype/category-longname-tests: New file.
17271         * tests/unictype/test-categ_longname.c: New file.
17272
17273         New module 'unictype/category-longname'.
17274         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
17275         * lib/unictype/categ_longname.c: New file.
17276         * modules/unictype/category-longname: New file.
17277         * modules/unictype/category-all (Depends-on): Add it.
17278
17279 2011-03-25  Bruno Haible  <bruno@clisp.org>
17280
17281         Tests for module 'unictype/category-LC'.
17282         * modules/unictype/category-LC-tests: New file.
17283         * tests/unictype/test-categ_LC.c: New file, automatically generated.
17284
17285         New module 'unictype/category-LC'.
17286         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
17287         (UC_CATEGORY_LC): New declaration.
17288         (UC_CASED_LETTER): New macro.
17289         * lib/gen-uni-tables.c (is_category_LC): New function.
17290         (output_categories): Also handle category LC.
17291         (UC_CATEGORY_MASK_LC): New enumeration value.
17292         (general_category_byname): Also handle category LC.
17293         * lib/unictype/categ_LC.c: New file.
17294         * lib/unictype/categ_LC.h: New file, automatically generated.
17295         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
17296         category LC.
17297         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
17298         * modules/unictype/category-LC: New file.
17299         * modules/unictype/category-byname (Depends-on): Add
17300         unictype/category-LC.
17301         * modules/unictype/category-all (Depends-on): Likewise.
17302
17303 2011-03-25  Eric Blake  <eblake@redhat.com>
17304
17305         xmalloc: revert yesterday's regression
17306         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
17307         realloc's underlying behavior (allowing allocation of zero-size
17308         objects, especially if malloc-gnu is also in use).
17309
17310 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
17311
17312         maint.mk: add missing version to VC-tag
17313         * top/maint.mk: git tag was missing actual tag name; add it.
17314
17315         valgrind: do leak checking, and exit with code 1 on error (not 0)
17316         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
17317         to VALGRIND.
17318
17319 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
17320
17321         posix-modules: say what it does.
17322         * posix-modules: Add a line to the --help output saying what it does.
17323
17324 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
17325
17326         xmalloc: Do not leak if underlying realloc is C99 compatible.
17327         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
17328         This avoids a leak on C99-based systems.  See
17329         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
17330
17331 2011-03-24  Eric Blake  <eblake@redhat.com>
17332
17333         realloc: document portability problem
17334         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
17335         passing 0 size to realloc.
17336
17337 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
17338
17339         doc: update users.txt
17340         * users.txt: Add cvsps, tmpwatch
17341
17342 2011-03-23  Matt Rice  <ratmice@gmail.com>
17343
17344         doc: update users.txt
17345         * users.txt: Add gdb.
17346
17347 2011-03-23  Jim Meyering  <meyering@redhat.com>
17348
17349         doc: update users.txt
17350         Looking through matches up to the following URL (there are still
17351         several more pages), I found several projects that use gnulib:
17352         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
17353         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
17354         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
17355
17356 2011-03-22  Bruno Haible  <bruno@clisp.org>
17357
17358         unictype/bidi*: Rename functions.
17359         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
17360         uc_bidi_class, uc_is_bidi_class): New declarations.
17361         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
17362         uc_bidi_category_byname.
17363         (uc_bidi_category_byname): New function.
17364         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
17365         u_bidi_category_name.
17366         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
17367         (uc_bidi_category_name): New function.
17368         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
17369         uc_bidi_category.
17370         (uc_bidi_category): New function.
17371         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
17372         uc_is_bidi_category. Invoke uc_bidi_class.
17373         (uc_is_bidi_category): New function.
17374         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
17375         instead of uc_bidi_category_byname.
17376         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
17377         instead of uc_bidi_category_name.
17378         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
17379         uc_bidi_category.
17380         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
17381         instead of uc_is_bidi_category.
17382
17383 2011-03-21  Bruno Haible  <bruno@clisp.org>
17384
17385         New module 'unictype/joininggroup-all'.
17386         * modules/unictype/joininggroup-all: New file.
17387
17388         Tests for module 'unictype/joininggroup-of'.
17389         * modules/unictype/joininggroup-of-tests: New file.
17390         * tests/unictype/test-joininggroup_of.c: New file.
17391         * tests/unictype/test-joininggroup_of.h: New file, automatically
17392         generated by gen-uni-tables.
17393
17394         New module 'unictype/joininggroup-of'.
17395         * modules/unictype/joininggroup-of: New file.
17396         * lib/unictype/joininggroup_of.c: New file.
17397         * lib/unictype/joininggroup_of.h: New file, automatically generated by
17398         gen-uni-tables.
17399
17400         Tests for module 'unictype/joininggroup-byname'.
17401         * modules/unictype/joininggroup-byname-tests: New file.
17402         * tests/unictype/test-joininggroup_byname.c: New file.
17403
17404         New module 'unictype/joininggroup-byname'.
17405         * modules/unictype/joininggroup-byname: New file.
17406         * lib/unictype/joininggroup_byname.c: New file.
17407         * lib/unictype/joininggroup_byname.gperf: New file.
17408
17409         Tests for module 'unictype/joininggroup-name'.
17410         * modules/unictype/joininggroup-name-tests: New file.
17411         * tests/unictype/test-joininggroup_name.c: New file.
17412
17413         New module 'unictype/joininggroup-name'.
17414         * modules/unictype/joininggroup-name: New file.
17415         * lib/unictype/joininggroup_name.c: New file.
17416         * lib/unictype/joininggroup_name.h: New file.
17417
17418         New module 'unictype/joiningtype-all'.
17419         * modules/unictype/joiningtype-all: New file.
17420
17421         Tests for module 'unictype/joiningtype-of'.
17422         * modules/unictype/joiningtype-of-tests: New file.
17423         * tests/unictype/test-joiningtype_of.c: New file.
17424         * tests/unictype/test-joiningtype_of.h: New file, automatically
17425         generated by gen-uni-tables.
17426
17427         New module 'unictype/joiningtype-of'.
17428         * modules/unictype/joiningtype-of: New file.
17429         * lib/unictype/joiningtype_of.c: New file.
17430         * lib/unictype/joiningtype_of.h: New file, automatically generated by
17431         gen-uni-tables.
17432
17433         Tests for module 'unictype/joiningtype-byname'.
17434         * modules/unictype/joiningtype-byname-tests: New file.
17435         * tests/unictype/test-joiningtype_byname.c: New file.
17436
17437         New module 'unictype/joiningtype-byname'.
17438         * modules/unictype/joiningtype-byname: New file.
17439         * lib/unictype/joiningtype_byname.c: New file.
17440
17441         Tests for module 'unictype/joiningtype-name'.
17442         * modules/unictype/joiningtype-name-tests: New file.
17443         * tests/unictype/test-joiningtype_name.c: New file.
17444
17445         New module 'unictype/joiningtype-name'.
17446         * modules/unictype/joiningtype-name: New file.
17447         * lib/unictype/joiningtype_name.c: New file.
17448
17449         unictype: Add support for Arabic shaping properties.
17450         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
17451         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
17452         declarations.
17453         (UC_JOINING_GROUP_*): New enumeration values.
17454         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
17455         declarations.
17456         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
17457         (unicode_joining_type): New variable.
17458         (UC_JOINING_GROUP_*): New enumeration values.
17459         (unicode_joining_group): New variable.
17460         (fill_arabicshaping, joining_type_as_c_identifier,
17461         output_joining_type_test, output_joining_type,
17462         joining_group_as_c_identifier, output_joining_group_test,
17463         output_joining_group): New functions.
17464         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
17465         fill_arabicshaping and output_joining_type_test, output_joining_type,
17466         output_joining_group_test, output_joining_group.
17467         Reported by Simon Josefsson.
17468
17469 2011-03-21  Jim Meyering  <meyering@redhat.com>
17470
17471         strftime: fix a bug in yesterday's change
17472         * lib/strftime.c (add): Accommodate width's initial value of -1.
17473         Otherwise, nstrftime would copy uninitialized data into
17474         the result buffer.
17475
17476 2011-03-21  Jim Meyering  <meyering@redhat.com>
17477
17478         tests: add strftime-tests module
17479         * tests/test-strftime.c: New file.
17480         * modules/strftime-tests: New module.
17481
17482 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17483
17484         strftime: don't assume a byte count fits in 'int'
17485         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
17486         found this problem by static analysis, using gcc -Wstrict-overflow
17487         (GCC 4.5.2, x86-64).  This reported an optimization that depended
17488         on an integer overflow having undefined behavior, but it turns out
17489         that the argument is a size, which might not fit in 'int' anyway,
17490
17491 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17492
17493         stdio: don't require ignore_value around fwrite
17494
17495         This patch works around libc bug 11959
17496         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
17497         Without this patch, applications must often write
17498         ignore_value (fwrite (...)) even though the ignore_value is
17499         not helpful here.  It's common to write many objects, using
17500         fwrite/printf/etc., and then use ferror to detect output error.
17501
17502         I considered making this patch optional, but decided against it,
17503         because libc is obviously being inconsistent here: there is no
17504         reason libc should insist that user code must inspect fwrite
17505         return's value without also insisting that it inspect printf's,
17506         putchar's, etc.  If user code wants to have a strict style where
17507         all these functions' values are checked (so that ferror need not
17508         be checked), we could add support for that style in a new gnulib
17509         module, but in the meantime it's better to be consistent and to
17510         support common usage.
17511
17512         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
17513         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
17514         that we are compiling in checking mode, and if not C++, and
17515         if not already wrapping fwrite for some other reason.
17516         (fwrite): #define to rpl_fwrite if the latter is defined.
17517
17518 2011-03-20  Bruno Haible  <bruno@clisp.org>
17519
17520         verror: Fix compilation error introduced on 2011-02-13.
17521         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
17522         instead of __attribute__.
17523         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17524
17525 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17526             Bruno Haible  <bruno@clisp.org>
17527
17528         socklen: do not depend on sys_socket
17529         While trying to modify Emacs to use gnulib's socklen module,
17530         I discovered a circular dependency: socklen depends on sys_socket
17531         and vice versa.  Emacs can use socklen, but it does not need
17532         sys_socket because it has its own substitute for sys/socket.h.
17533         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
17534         gl_TYPE_SOCKLEN_T.
17535         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
17536         gl_PREREQ_SYS_H_SOCKET.
17537         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
17538         gl_PREREQ_SYS_H_SOCKET.
17539         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
17540         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
17541         * modules/socklen (Depends-on): Do not depend on sys_socket.
17542         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
17543
17544 2011-03-20  Jim Meyering  <meyering@redhat.com>
17545
17546         maint.mk: sort file names *after* new transformation
17547         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
17548         prefix would have led to an unwarranted failure in GNU parted.
17549         Sort after that transformation.
17550
17551 2011-03-19  Jim Meyering  <meyering@redhat.com>
17552
17553         maint.mk: fix po-file syntax-check rule
17554         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
17555         Patch by Bruno Haible.
17556
17557 2011-03-19  Bruno Haible  <bruno@clisp.org>
17558
17559         socklen: Update comment.
17560         * m4/socklen.m4: Update comment about platforms.
17561
17562 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17563             Bruno Haible  <bruno@clisp.org>
17564
17565         inet_ntop, inet_pton: Simplify.
17566         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
17567         documented to provide socklen_t and we already depend on sys_socket.
17568         * modules/inet_pton (Depends-on): Likewise.
17569         * lib/arpa_inet.in.h: Adjust comment.
17570
17571 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17572             Bruno Haible  <bruno@clisp.org>
17573
17574         netdb: Simplify.
17575         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
17576         documented to provide socklen_t and we already depend on sys_socket.
17577         * lib/netdb.in.h: Adjust comment.
17578
17579 2011-03-19  Bruno Haible  <bruno@clisp.org>
17580
17581         sys_socket, netdb: Document problem with socklen_t.
17582         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
17583         platforms.
17584         * doc/posix-headers/netdb.texi: Likewise.
17585
17586 2011-03-18  Eric Blake  <eblake@redhat.com>
17587
17588         maint.mk: let po check work in VPATH build
17589         * top/maint.mk (po_file): Allow cfg.mk override.
17590         (sc_po_check): Allow VPATH use.
17591         Reported by Jiri Denemark.
17592
17593 2011-03-16  Jim Meyering  <meyering@redhat.com>
17594
17595         maint.mk: allow fine-grained syntax-check exclusion via Make variables
17596         Before, you would have had to create one .x-sc_ file per rule in order
17597         to exempt offending files.  Now, you may instead use a Make variable --
17598         usually defined in cfg.mk -- whose name identifies the affected rule.
17599         * top/maint.mk (_sc_excl): Define.
17600         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
17601         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
17602
17603 2011-03-13  Bruno Haible  <bruno@clisp.org>
17604
17605         ignore-value tests: Avoid warnings.
17606         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
17607         empty for gcc < 3.4.
17608
17609 2011-03-13  Bruno Haible  <bruno@clisp.org>
17610
17611         passfd: Fix link error on Solaris.
17612         * modules/passfd (Description): Correct.
17613         (Depends-on): Add socketlib.
17614         (Link): New section.
17615         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
17616
17617 2011-03-13  Bruno Haible  <bruno@clisp.org>
17618
17619         passfd: Fix link error on AIX 5.2.
17620         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
17621
17622 2011-03-13  Bruno Haible  <bruno@clisp.org>
17623
17624         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
17625         * lib/sys_socket.in.h: Include <stddef.h>.
17626         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
17627         CMSG_FIRSTHDR. Remove unused variable.
17628
17629 2011-03-13  Bruno Haible  <bruno@clisp.org>
17630
17631         passfd: Fix compilation error on OpenBSD.
17632         * lib/passfd.c: Include <sys/uio.h>.
17633
17634 2011-03-13  Bruno Haible  <bruno@clisp.org>
17635
17636         passfd test: Fix warnings.
17637         * tests/test-passfd.c: Include <sys/wait.h>.
17638         (main): Fix typo.
17639
17640 2011-03-13  Bruno Haible  <bruno@clisp.org>
17641
17642         passfd module, part 4, tweaks.
17643         * tests/test-passfd.c: Reorder includes.
17644         (main): Fix perror and printf calls.
17645
17646 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17647
17648         passfd module, part 4.
17649         * modules/passfd-tests: New file.
17650         * tests/test-passfd.c: New file.
17651
17652 2011-03-13  Jim Meyering  <meyering@redhat.com>
17653
17654         Makefile: rely on GNU make; derive syntax-check rule names
17655         Rather than requiring that each sc_ rule be listed as a dependent
17656         of "check", use features of GNU make to derive the list.
17657         * Makefile (syntax-check-rules): Define.
17658         (check): Depend on the new variable, not the hard-coded list.
17659
17660 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
17661             Bruno Haible  <bruno@clisp.org>
17662
17663         passfd module, part 3.
17664         * lib/passfd.h (recvfd): Add a flags argument.
17665         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
17666         (recvfd): Add a flags argument.
17667         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
17668         exists.
17669         * modules/passfd (Depends-on): Add cloexec.
17670         Suggested by Eric Blake.
17671
17672 2011-03-13  Bruno Haible  <bruno@clisp.org>
17673
17674         passfd module, part 2, tweaks.
17675         * modules/passfd (Files): Reorder.
17676         (Depends-on): Remove errno.
17677         (Include): Remove <sys/socket.h>, <sys/un.h>.
17678         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17679         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17680         specification header. Include <sys/socket.h> always. Don't include
17681         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17682         (sendfd): Clarify that it sets errno when it fails.
17683         (recvfd): Fix specification.
17684
17685 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17686
17687         passfd module, part 2.
17688         * modules/passfd: New file.
17689         * lib/passfd.h: New file.
17690         * lib/passfd.c: New file.
17691
17692 2011-03-12  Bruno Haible  <bruno@clisp.org>
17693
17694         wcswidth, mbswidth: Avoid integer overflow.
17695         * lib/wcswidth.c: Include <limits.h>.
17696         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17697         * lib/mbswidth.c: Include <limits.h>.
17698         (mbsnwidth): Avoid 'int' overflow.
17699         Reported by Jim Meyering.
17700
17701 2011-03-12  Bruno Haible  <bruno@clisp.org>
17702
17703         futimens, utimensat: Avoid endless recursion on Solaris 10.
17704         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17705         Solaris.
17706         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17707         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17708
17709 2011-03-11  Jim Meyering  <meyering@redhat.com>
17710
17711         maint.mk: relax a regexp to accommodate other formatting styles
17712         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17713         between "ngettext" and the following "(".
17714
17715 2011-03-11  Pádraig Brady <P@draigBrady.com>
17716
17717         maint.mk: suppress a false positive warning
17718         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17719         diagnostics are marked with ngettext.
17720
17721 2011-03-10  Eric Blake  <eblake@redhat.com>
17722
17723         wchar: add explicit dependencies, for Tru64
17724         * modules/mbmemcasecoll (Depends-on): Add wchar.
17725         * modules/mbtowc (Depends-on): Likewise.
17726         * modules/vasnprintf (Depends-on): Likewise.
17727         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17728         * modules/wctomb (Depends-on): Likewise.
17729         Reported by Peter O'Gorman.
17730
17731 2011-03-08  Bruno Haible  <bruno@clisp.org>
17732
17733         passfd module, part 1, tweaks.
17734         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17735         Improve indentation. Improve AC_MSG_CHECKING messages.
17736         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17737         gl_SOCKET_FAMILIES.
17738
17739 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17740
17741         passfd module, part 1.
17742         * m4/afunix.m4: New file.
17743         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17744         sockets.
17745
17746 2011-03-08  Bruno Haible  <bruno@clisp.org>
17747
17748         regex-quote: New API.
17749         * lib/regex-quote.h: Include <stdbool.h>.
17750         (struct regex_quote_spec): New type.
17751         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17752         New declarations.
17753         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17754         'const struct regex_quote_spec *' argument.
17755         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17756         (pcre_special): New constant.
17757         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17758         New functions.
17759         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17760         'const struct regex_quote_spec *' argument.
17761         * modules/regex-quote (Depends-on): Add stdbool.
17762         * tests/test-regex-quote.c (check): Update for new API. Add test for
17763         anchored results.
17764         * NEWS: Mention the API change.
17765         Reported by Reuben Thomas and Eric Blake.
17766
17767 2011-03-06  Bruno Haible  <bruno@clisp.org>
17768
17769         regex-quote: Fix creation of POSIX extended regular expressions.
17770         * lib/regex-quote.c (ere_special): Add grouping and alternation
17771         operators.
17772
17773 2011-03-05  Bruno Haible  <bruno@clisp.org>
17774
17775         doc: Improve doc regarding autopoint vs. gnulib.
17776         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17777         disable autopoint while running autoreconf.
17778         Suggested by Ralf Wildenhues.
17779
17780 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17781
17782         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17783         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17784
17785 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17786
17787         parse-duration: remove xalloc.h dependency
17788         * lib/parse-duration.c (parse_period): handle NULL return from
17789         strdup instead of calling xstrdup().
17790         * modules/parse-duration: remove "xalloc" dependency
17791
17792 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17793
17794         bootstrap: honor m4_base when running aclocal
17795         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17796
17797 2011-03-02  Jim Meyering  <meyering@redhat.com>
17798
17799         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17800         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17801         on request from Matt Booth.
17802
17803 2011-03-01  Eric Blake  <eblake@redhat.com>
17804
17805         test-link: work on Hurd
17806         * tests/test-link.h (test_link): Hurd rejects linking directories
17807         with EISDIR instead of the POSIX-mandated EPERM.
17808
17809 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17810
17811         stdio: simplify by moving files to printf-posix, sigpipe
17812         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17813         since this symbol is needed only if printf is replaced.
17814         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17815         Require gl_ASM_SYMBOL_PREFIX.
17816         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17817         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17818         (Depends-on): Add 'raise'.
17819         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
17820         * modules/stdio (Files): Remove lib/stdio-write.c,
17821         m4/asm-underscore.m4.
17822         (Depends-on): Remove 'raise'.
17823
17824         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
17825         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
17826         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
17827         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
17828
17829 2011-02-28  Bruno Haible  <bruno@clisp.org>
17830
17831         localcharset: Assume ANSI C behaviour of free().
17832         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
17833         calling free().
17834         Suggested by Simon Josefsson <simon@josefsson.org>.
17835
17836 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
17837             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
17838             Bruno Haible  <bruno@clisp.org>  (tiny change)
17839
17840         On Cygwin, use /proc file system instead of win32 API.
17841         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
17842         Win32 file names.
17843         (DllMain): Simplify by removing Cygwin specific code.
17844         (find_shared_library_fullname): Use Linux specific implementation also
17845         for Cygwin.
17846         (get_shared_library_fullname): Update accordingly.
17847         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17848         Win32 file names.
17849         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17850         Cygwin specific code.
17851
17852 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17853             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17854
17855         Fix OpenMP flag detection for various Fortran compilers.
17856         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17857         OpenMP-conditional compilation construct, to force compile
17858         failure with missing OpenMP flag.
17859         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17860
17861 2011-02-25  Eric Blake  <eblake@redhat.com>
17862
17863         strstr: expand test coverage
17864         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17865         compilation.
17866         * tests/test-memmem.c (main): Duplicate tests.
17867         * tests/test-strcasestr.c (main): Likewise.
17868         * tests/test-c-strcasestr.c (main): Likewise.
17869
17870 2011-02-25  Jim Meyering  <meyering@redhat.com>
17871
17872         maint.mk: detect missing-NL-at-EOF, too
17873         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17874         it also detects when a file lacks a newline at EOF.
17875         (require_exactly_one_NL_at_EOF_): Renamed from
17876         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17877         since people may well have .x-sc_... file names tied to the
17878         existing name.  Suggested by Eric Blake.
17879
17880 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17881
17882         dirname: move m4/dos.m4 functionality into lib/dosname.h
17883
17884         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17885         extracts symbols from it, puts them into config.h; but it's much
17886         easier to use the symbols directly.  filename.h already does this,
17887         but it disagrees with dos.m4 in some respects.  This patch
17888         introduces a different include file dosname.h that packages up
17889         dos.m4, and then later we can work on merging filename.h and
17890         dosname.h.  Applications that need only the easy-to-configure
17891         symbols should consider including dosname.h rather than dirname.h.
17892         * NEWS: Mention incompatible changes.
17893         * m4/dos.m4: Remove.
17894         * lib/dosname.h, modules/dosname: New files.
17895         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17896         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17897         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17898         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17899         Include dosname.h, not dirname.h.
17900         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17901         Include dosname.h, for definitions of symbols like ISSLASH
17902         that used to be in config.h.
17903         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17904         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17905         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17906         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17907         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17908         * modules/rmdir (Files): Likewise.
17909         * modules/stat (Files): Likewise.
17910         * modules/unlink (Files): Likewise.
17911         * modules/dirname-lgpl (Depends-on): Add dosname.
17912         * modules/lstat (Depends-on): Likewise.
17913         * modules/openat (Depends-on): Likewise.
17914         * modules/rmdir (Depends-on): Likewise.
17915         * modules/savewd (Depends-on): Likewise.
17916         * modules/stat (Depends-on): Likewise.
17917         * modules/unlink (Depends-on): Likewise.
17918         * modules/openat (Depends-on): Remove dirname-lgpl.
17919         * modules/savewd (Depends-on): Likewise.
17920         * tests/test-dirname.c: Do not use removed symbols like
17921         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17922         the remaining symbols, e.g., ISSLASH ('\\').
17923
17924 2011-02-25  Eric Blake  <eblake@redhat.com>
17925
17926         strstr: revert patches that introduced bug and pessimization
17927         * lib/str-two-way.h: Add another reference.
17928         (two_way_short_needle, two_way_long_needle): Revert changes from
17929         2011-02-24; they pessimize search speed.
17930         (critical_factorization): Partially revert changes from
17931         2010-06-22; they violate the requirement that the left half of the
17932         needle be smaller than the period of the needle.
17933
17934 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17935
17936         filenamecat: remove unnecessary dependency on dirname-lgpl
17937         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17938         is no direct dependency, just an indirect one via filenamecat-lgpl.
17939
17940         remove: remove unnecessary use of m4/dos.m4
17941         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17942         * modules/remove (FILES): Remove m4/dos.m4.
17943
17944         * lib/openat-proc.c: Don't include dirname.h; not needed.
17945
17946         backupfile: remove unnecessary use of m4/dos.m4
17947         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17948         of its symbols are used by the backupfile code.  backupfile.c does
17949         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17950         for the rare case of programs that want all their backup file
17951         names to live within 8+3 limits, and dos.m4 doesn't address that.
17952         * modules/backupfile (Files): Remove m4/dos.m4.
17953
17954 2011-02-24  Jim Meyering  <meyering@redhat.com>
17955
17956         strstr: fix a bug whereby strstr would mistakenly return NULL
17957         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17958         in period calculation.
17959         (two_way_long_needle): Likewise.
17960         The original problem was reported by Mike Stump in
17961         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
17962         Ralf Wildenhues provided the short needle and haystack.
17963         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
17964         Add a more involved test to trigger the bug in two_way_long_needle.
17965
17966 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17967
17968         gnulib-tool: remove use of bold display in help screen
17969         * gnulib-tool (func_usage): Do not use bold display anymore in the
17970         help screen.  That was just meant to be a temporary emphasis for a
17971         backward-incompatible change.
17972
17973 2011-02-23  Bruno Haible  <bruno@clisp.org>
17974
17975         Fix misindentation of preprocessor directives.
17976         * lib/argp-namefrob.h: Reindent preprocessor directives.
17977         * lib/getopt_int.h (struct _getopt_data): Likewise.
17978         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
17979         * lib/vasnprintf.c (decode_long_double): Likewise.
17980         * tests/test-argmatch.c: Insert blank lines, for clarity.
17981         * tests/test-exclude.c: Likewise.
17982
17983 2011-02-22  Bruno Haible  <bruno@clisp.org>
17984
17985         ioctl: Fix for MacOS X in 64-bit mode.
17986         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
17987         value.
17988         Suggested by Eric Blake.
17989         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
17990
17991 2011-02-22  Jim Meyering  <meyering@redhat.com>
17992
17993         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
17994         * Makefile (sc_cpp_indent_check): Don't limit the check to files
17995         in lib/.
17996
17997 2011-02-22  Eric Blake  <eblake@redhat.com>
17998
17999         maint: avoid any CDPATH issue
18000         * Makefile (sc_cpp_indent_check): Anchor cd argument.
18001
18002         maint: adjust cpp indentation for my modules, as well
18003         * Makefile (sc_cpp_indent_check): Add my name.
18004         * lib/fbufmode.c: Filter through cppi.
18005         * lib/fpurge.c: Likewise.
18006         * lib/freadable.c: Likewise.
18007         * lib/freading.c: Likewise.
18008         * lib/fwritable.c: Likewise.
18009         * lib/fwriting.c: Likewise.
18010         * lib/sigaction.c: Likewise.
18011
18012 2011-02-22  Jim Meyering  <meyering@redhat.com>
18013
18014         maint: adjust cpp indentation to reflect nesting depth
18015         I.e., in a block of code that begins with an unnested "#if",
18016         put one space between the "#" in column 1 and following token.
18017         For example,
18018         -#include <sys/vfs.h>
18019         +# include <sys/vfs.h>
18020         Do this only in .c files that are part of a module I maintain.
18021         * lib/linkat.c: Filter through cppi.
18022         * lib/nanosleep.c: Likewise.
18023         * lib/openat.c: Likewise.
18024         * lib/openat-die.c: Likewise.
18025         * lib/dup3.c: Likewise.
18026         * lib/fchownat.c: Likewise.
18027         * lib/flock.c: Likewise.
18028         * lib/fsync.c: Likewise.
18029         * lib/fts.c: Likewise.
18030         * lib/getpass.c: Likewise.
18031         * lib/gettimeofday.c: Likewise.
18032         * lib/userspec.c: Likewise.
18033         * Makefile (sc_cpp_indent_check): New rule, to check this.
18034
18035 2011-02-22  Bruno Haible  <bruno@clisp.org>
18036
18037         New module 'wctomb'.
18038         * lib/stdlib.in.h (wctomb): New declaration.
18039         * lib/wctomb.c: New file.
18040         * lib/wctomb-impl.h: New file.
18041         * m4/wctomb.m4: New file.
18042         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
18043         REPLACE_WCTOMB.
18044         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
18045         REPLACE_WCTOMB.
18046         * modules/wctomb: New file.
18047         * tests/test-stdlib-c++.cc: Test signature of wctomb.
18048         * doc/posix-functions/wctomb.texi: Mention the new module.
18049         * modules/wctob (Depends-on): Add wctomb.
18050
18051 2011-02-22  Bruno Haible  <bruno@clisp.org>
18052
18053         New module 'mbtowc'.
18054         * lib/stdlib.in.h (mbtowc): New declaration.
18055         * lib/mbtowc.c: New file.
18056         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
18057         * m4/mbtowc.m4: New file.
18058         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
18059         REPLACE_MBTOWC.
18060         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
18061         REPLACE_MBTOWC.
18062         * modules/mbtowc: New file.
18063         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
18064         * doc/posix-functions/mbtowc.texi: Mention the new module.
18065         * modules/btowc (Depends-on): Add mbtowc.
18066
18067 2011-02-22  Bruno Haible  <bruno@clisp.org>
18068
18069         wcrtomb: Add more tests for native Windows platforms.
18070         * tests/test-wcrtomb-w32-1.sh: New file.
18071         * tests/test-wcrtomb-w32-2.sh: New file.
18072         * tests/test-wcrtomb-w32-3.sh: New file.
18073         * tests/test-wcrtomb-w32-4.sh: New file.
18074         * tests/test-wcrtomb-w32-5.sh: New file.
18075         * tests/test-wcrtomb-w32.c: New file.
18076         * modules/wcrtomb-tests (Files): Add them.
18077         (Makefile.am): Arrange to run these tests.
18078         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
18079         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
18080
18081 2011-02-20  Bruno Haible  <bruno@clisp.org>
18082
18083         wcrtomb: Enhance test.
18084         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
18085
18086 2011-02-20  Bruno Haible  <bruno@clisp.org>
18087
18088         mbrtowc: Tiny optimization.
18089         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
18090
18091 2011-02-20  Jim Meyering  <meyering@redhat.com>
18092
18093         test-exclude.c: remove unmatched #endif
18094         * tests/test-exclude.c: Remove stray #endif, left over from
18095         the change of a week ago.
18096
18097 2011-02-19  Jim Meyering  <meyering@redhat.com>
18098
18099         git-version-gen: skip "-dirty" check when appropriate
18100         * build-aux/git-version-gen: Don't run any git commands when the
18101         version string comes from .tarball-version.  Prior to this, we
18102         would run git update-index --refresh even from a just-unpacked
18103         tarball directory, and that could affect a .git/ directory in a
18104         parent of the build directory.  Reported by Mike Frysinger.
18105
18106 2011-02-19  Bruno Haible  <bruno@clisp.org>
18107
18108         unictype/property-byname: Reduce the size of the 'data' segment.
18109         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
18110
18111 2011-02-19  Bruno Haible  <bruno@clisp.org>
18112
18113         unictype/scripts: Reduce the size of the 'data' segment.
18114         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
18115         '%pic'.
18116         * lib/unictype/scripts_byname.gperf: Regenerated.
18117
18118 2011-02-19  Bruno Haible  <bruno@clisp.org>
18119
18120         stdint: Update documentation.
18121         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
18122
18123 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18124
18125         stdint: omit redundant check for wchar.h
18126         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
18127         always tests whether wchar.h exists, so remove the now-redundant test.
18128
18129 2011-02-18  Bruno Haible  <bruno@clisp.org>
18130
18131         stdint: Cut dependency to module 'wchar'.
18132         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
18133         include the necessary prerequisites.
18134         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
18135         * modules/stdint (Depends-on): Remove wchar.
18136         (Makefile.am): Substitute HAVE_WCHAR_H.
18137         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
18138
18139 2011-02-18  Eric Blake  <eblake@redhat.com>
18140
18141         longlong: skip, rather than fail, on cross-compilation
18142         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
18143         when cross-compiling; regression from 2011-02-16.
18144
18145 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18146
18147         * NEWS: Mention 2011-02-08 change to stdlib.
18148
18149 2011-02-17  Bruno Haible  <bruno@clisp.org>
18150
18151         getloadavg: Add comments about platforms.
18152         * m4/getloadavg.m4: Add comment.
18153         * lib/getloadavg.c: Likewise.
18154
18155 2011-02-17  Bruno Haible  <bruno@clisp.org>
18156
18157         getloadavg: Fix link error on Solaris 2.6.
18158         * modules/getloadavg (Link): New section.
18159         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
18160         linking test-getloadavg.
18161         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
18162         getloadavg.
18163
18164 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18165
18166         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
18167         It was 'int', but this doesn't match the IRIX 6.5 manual.
18168         Suggested by Bruno Haible in
18169         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
18170
18171 2011-02-17  Bruno Haible  <bruno@clisp.org>
18172
18173         havelib: Fix comments.
18174         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
18175         change.
18176
18177 2011-02-17  Bruno Haible  <bruno@clisp.org>
18178
18179         havelib: Update config.rpath.
18180         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
18181
18182 2011-02-17  Bruno Haible  <bruno@clisp.org>
18183
18184         getloadavg test: Add some plausibility checks.
18185         * tests/test-getloadavg.c (check_avg): Print a warning when the value
18186         is improbable.
18187
18188 2011-02-16  Eric Blake  <eblake@redhat.com>
18189
18190         maintainer-makefile: make syntax-check a no-op from tarballs
18191         * top/maint.mk (no-vc-detected): New rule.
18192         (local-checks-available): Use it to avoid hanging if someone tries
18193         'make syntax-check' from a tarball.  Also append to any non-syntax
18194         checks already defined in cfg.mk.
18195
18196 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
18197
18198         longlong: tune, particularly for common case of c99
18199
18200         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
18201         or running anything if c99, or if unsigned long long int does not
18202         work.  In either case, we know the answer without further tests.
18203         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
18204         it at most once, and use its results for both long long int and
18205         unsigned long long int.  This is more likely to be efficient in
18206         the common case where the program wants to check for both long
18207         long int and unsigned long long int.
18208         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
18209         since the answer is already known.
18210
18211 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
18212
18213         getloadavg: set errno
18214         * lib/getloadavg.c: Set errno when returning -1.  If no other
18215         error number looks appropriate, set it to ENOSYS if the getloadavg
18216         looks like it can't possibly ever work, ENOTSUP otherwise.
18217         Suggested by Bruno Haible in
18218         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
18219
18220         getloadavg: trim unused parts and speed up 'configure'
18221         * NEWS: Document this.
18222         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
18223         always compiled if getloadavg is absent.
18224         Move test code to ...
18225         * tests/test-getloadavg.c: New file, containing previous
18226         contents of test from lib/getloadavg.c.  It also contains
18227         suggestions by Bruno Haible in
18228         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
18229         * modules/getloadavg-tests: New file.
18230         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
18231         Do tests in the same order as they're needed for getloadavg.c.
18232         Omit setgid-related tests that generate symbols KMEM_GROUP,
18233         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
18234         Do only the tests that are needed to see whether the system has
18235         getloadavg, moving the other tests into ...
18236         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
18237         NLIST_NAME_UNION; nobody should be using it.  Do not define
18238         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
18239         relevant, as the user of this module shouldn't care how getloadavg
18240         is implemented.
18241
18242         getloadavg: omit unused var
18243         * lib/getloadavg.c (getloadavg): Omit unused local variable.
18244
18245 2011-02-15  Jim Meyering  <meyering@redhat.com>
18246
18247         doc: update users.txt
18248         * users.txt: Update iwhd's URL.
18249
18250 2011-02-13  Bruno Haible  <bruno@clisp.org>
18251
18252         Consistent macro naming for macros that use GCC __attribute__.
18253         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
18254         _ATTRIBUTE_NONNULL_.
18255         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
18256         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
18257         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
18258         ATTRIBUTE_DEPRECATED.
18259         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
18260         ATTRIBUTE_NORETURN.
18261         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18262         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18263         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18264         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18265         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
18266         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
18267         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
18268         ATTRIBUTE_SENTINEL.
18269         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
18270         ATTRIBUTE_RETURN_CHECK.
18271         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
18272         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
18273         ATTRIBUTE_NORETURN.
18274         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
18275         Reported by Paul Eggert.
18276
18277 2011-02-13  Bruno Haible  <bruno@clisp.org>
18278
18279         Don't interfere with a program's definition of __attribute__.
18280         * lib/argp.h (__attribute__): Remove definition.
18281         (_GL_ATTRIBUTE_FORMAT): New macro.
18282         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
18283         * lib/argp-fmtstream.h (__attribute__): Remove definition.
18284         (_GL_ATTRIBUTE_FORMAT): New macro.
18285         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
18286         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
18287         GCC 3 or newer.
18288         * lib/error.h (__attribute__): Remove definition.
18289         (_GL_ATTRIBUTE_FORMAT): New macro.
18290         (error, error_at_line): Use it.
18291         * lib/hash.h (__attribute__): Remove definition.
18292         (ATTRIBUTE_WUR): Update definition. Define always.
18293         * lib/openat.h (__attribute__): Remove definition.
18294         (ATTRIBUTE_NORETURN): Update definition. Define always.
18295         * lib/sigpipe-die.h (__attribute__): Remove definition.
18296         (ATTRIBUTE_NORETURN): Update definition. Define always.
18297         * lib/vasnprintf.h (__attribute__): Remove definition.
18298         (_GL_ATTRIBUTE_FORMAT): New macro.
18299         (asnprintf, vasnprintf): Use it.
18300         * lib/xalloc.h (__attribute__): Remove definition.
18301         (ATTRIBUTE_NORETURN): Update definition. Define always.
18302         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
18303         * lib/xmemdup0.h (__attribute__): Remove definition.
18304         (ATTRIBUTE_NORETURN): Update definition. Define always.
18305         * lib/xprintf.h (__attribute__): Remove definition.
18306         (_GL_ATTRIBUTE_FORMAT): New macro.
18307         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
18308         * lib/xstrtol.h (__attribute__): Remove definition.
18309         (ATTRIBUTE_NORETURN): Update definition. Define always.
18310         * lib/xvasprintf.h (__attribute__): Remove definition.
18311         (_GL_ATTRIBUTE_FORMAT): New macro.
18312         (xasprintf, xvasprintf): Use it.
18313         * tests/test-argmatch.c (__attribute__): Remove definition.
18314         (ATTRIBUTE_NORETURN): Update definition. Define always.
18315         * tests/test-exclude.c (__attribute__): Remove definition.
18316         (ATTRIBUTE_NORETURN): Update definition. Define always.
18317         Reported by Paul Eggert.
18318
18319 2011-02-13  Bruno Haible  <bruno@clisp.org>
18320
18321         mbrtowc: Add more tests for native Windows platforms.
18322         * tests/test-mbrtowc-w32-1.sh: New file.
18323         * tests/test-mbrtowc-w32-2.sh: New file.
18324         * tests/test-mbrtowc-w32-3.sh: New file.
18325         * tests/test-mbrtowc-w32-4.sh: New file.
18326         * tests/test-mbrtowc-w32-5.sh: New file.
18327         * tests/test-mbrtowc-w32.c: New file.
18328         * modules/mbrtowc-tests (Files): Add them.
18329         (Makefile.am): Arrange to run these tests.
18330         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
18331         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
18332
18333 2011-02-13  Bruno Haible  <bruno@clisp.org>
18334
18335         mbrtowc: Work around native Windows bug.
18336         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
18337         guess when no suitable locale for testing was found.
18338         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
18339
18340 2011-02-13  Bruno Haible  <bruno@clisp.org>
18341
18342         mbsinit: Work around mingw bug.
18343         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
18344         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
18345         Windows.
18346         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
18347
18348 2011-02-13  Bruno Haible  <bruno@clisp.org>
18349
18350         mbsinit: Don't crash for a NULL argument.
18351         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
18352         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
18353
18354 2011-02-13  Bruno Haible  <bruno@clisp.org>
18355
18356         Don't interfere with a program's definition of __attribute__.
18357         * lib/stdio.in.h (__attribute__): Remove definition.
18358         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
18359         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
18360         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
18361         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
18362         * lib/string.in.h (__attribute__): Remove definition.
18363         Reported by Paul Eggert.
18364
18365 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18366
18367         stdlib: don't get in the way of non-GCC __attribute__
18368         See thread starting at
18369         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
18370         Revert previous stdlib change, installing the following instead:
18371         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
18372         to get in the way of a non-GCC compiler that supports __attribute__.
18373         (_GL_ATTRIBUTE_RETURN): New macro.
18374         (_Exit): Use it instead of __attribute__.
18375
18376 2011-02-12  Bruno Haible  <bruno@clisp.org>
18377
18378         quotearg test: Avoid test failure on mingw.
18379         * tests/test-quotearg.sh: Convert the locale identifier from native
18380         Windows syntax to Unix syntax.
18381
18382 2011-02-12  Bruno Haible  <bruno@clisp.org>
18383
18384         setlocale: Prefer gnulib's override over libintl's override.
18385         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
18386         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
18387         GNULIB_defined_setlocale is set.
18388
18389 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18390
18391         stdlib: support non-GCC __attribute__
18392
18393         Fix a serious and tricky problem encountered when attempting to
18394         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
18395         5.5, but it crashed due to memory corruption on Solaris 10 with
18396         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
18397         bits that are otherwise zero.  This tagging is optional inside
18398         Emacs but is preferred and is used when __attribute__ ((__aligned
18399         (8))) works, as it does with both recent-enough GCC and with Sun C
18400         5.11.  However, Sun C 5.11 is not GCC and does not #define
18401         __GNUC__ and __GNUC_MINOR__.
18402
18403         When I added the getloadavg module to Emacs, it brought in
18404         stdlib.in.h, which contained this fragment:
18405
18406            #ifndef __attribute__
18407            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
18408            #  define __attribute__(Spec)   /* empty */
18409            # endif
18410            #endif
18411
18412         When files that include <stdlib.h> were compiled with Sun C 5.11,
18413         the above code disabled __attribute__ ((__aligned (8))), which
18414         caused variables to not be properly aligned, which eventually led
18415         to the pointer corruption mentioned above.  (This was a bit hard
18416         to diagnose, unfortunately.)
18417
18418         Several "#define __attribute__(X) /* empty */" code snippets need
18419         to be eradicated from Gnulib to work with non-GCC compilers that
18420         support __attribute__.  The Autoconf way to do this is to test for
18421         each kind of attribute that we want support for, and selectively
18422         enable that in source code.
18423
18424         Fix this problem just for stdlib.h, by adding a test for the
18425         __noreturn__ attribute, and change stdlib.in.h to use that test
18426         when needed.  This technique can be easily generalized to the
18427         other *.in.h files and attributes, and a similar technique can be
18428         used for *.h and *.c files.  This patch is enough to solve the
18429         problem for Emacs + getloadavg, and I thought I'd publish it for
18430         feedback before undertaking further, similar fixes in other
18431         modules.
18432
18433         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
18434         because it's not needed for stdlib.h.  It merely substitutes the
18435         value directly into stdlib.h.  We may well need to #define it, or
18436         similar symbols, for other modules, but it's nice to also have an
18437         option to not #define it for applications like Emacs that do not
18438         need it.
18439
18440         * lib/stdlib.in.h (__attribute__): Do not #define.
18441         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
18442         be defined only if the _Exit module is also used.
18443         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
18444         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
18445         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
18446         platforms.
18447         * modules/_Exit (Files): Add m4/attribute.m4.
18448         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
18449         * m4/attribute.m4: New file.
18450
18451 2011-02-12  Bruno Haible  <bruno@clisp.org>
18452
18453         wcsrtombs: Work around bug on native Windows.
18454         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
18455         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
18456         instead of len.
18457         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
18458
18459 2011-02-12  Bruno Haible  <bruno@clisp.org>
18460
18461         mbsrtowcs: Work around bug on native Windows.
18462         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
18463         against mingw bug.
18464         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
18465
18466 2011-02-12  Bruno Haible  <bruno@clisp.org>
18467
18468         Avoid setlocale bugs in tests.
18469         * modules/btowc (Dependencies): Add setlocale.
18470         * modules/c-strcase (Dependencies): Likewise.
18471         * modules/mbmemcasecmp (Dependencies): Likewise.
18472         * modules/mbmemcasecoll (Dependencies): Likewise.
18473         * modules/mbrtowc (Dependencies): Likewise.
18474         * modules/mbscasecmp (Dependencies): Likewise.
18475         * modules/mbscasestr (Dependencies): Likewise.
18476         * modules/mbschr (Dependencies): Likewise.
18477         * modules/mbscspn (Dependencies): Likewise.
18478         * modules/mbsinit (Dependencies): Likewise.
18479         * modules/mbsncasecmp (Dependencies): Likewise.
18480         * modules/mbsnrtowcs (Dependencies): Likewise.
18481         * modules/mbspbrk (Dependencies): Likewise.
18482         * modules/mbspcasecmp (Dependencies): Likewise.
18483         * modules/mbsrchr (Dependencies): Likewise.
18484         * modules/mbsrtowcs (Dependencies): Likewise.
18485         * modules/mbsspn (Dependencies): Likewise.
18486         * modules/mbsstr (Dependencies): Likewise.
18487         * modules/nl_langinfo (Dependencies): Likewise.
18488         * modules/quotearg (Dependencies): Likewise.
18489         * modules/unicase/locale-language (Dependencies): Likewise.
18490         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
18491         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
18492         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
18493         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
18494         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
18495         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
18496         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
18497         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
18498         * modules/vasnprintf-posix (Dependencies): Likewise.
18499         * modules/wcrtomb (Dependencies): Likewise.
18500         * modules/wcsnrtombs (Dependencies): Likewise.
18501         * modules/wcsrtombs (Dependencies): Likewise.
18502
18503 2011-02-12  Bruno Haible  <bruno@clisp.org>
18504
18505         setlocale: Workaround native Windows bug.
18506         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
18507         succeeds but sets LC_CTYPE to "C", report a failure.
18508         * tests/test-setlocale2.sh: New file.
18509         * tests/test-setlocale2.c: New file.
18510         * modules/setlocale-tests (Files): Add the new files.
18511         (Makefile.am): Enable test-setlocale2.sh test.
18512         * doc/posix-functions/setlocale.texi: Mention workaround.
18513
18514 2011-02-11  Bruno Haible  <bruno@clisp.org>
18515
18516         Tests for module 'setlocale'.
18517         * modules/setlocale-tests: New file.
18518         * tests/test-setlocale1.sh: New file.
18519         * tests/test-setlocale1.c: New file.
18520
18521         New module 'setlocale'.
18522         * lib/locale.in.h (setlocale): New declaration.
18523         * lib/setlocale.c: New file, based on
18524         gettext/gettext-runtime/intl/setlocale.c.
18525         * m4/setlocale.m4: New file.
18526         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
18527         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
18528         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
18529         REPLACE_SETLOCALE.
18530         * modules/setlocale: New file.
18531         * tests/test-locale-c++.cc: Test the declaration of setlocale.
18532         * doc/posix-functions/setlocale.texi: Mention the new module.
18533
18534 2011-02-11  Bruno Haible  <bruno@clisp.org>
18535
18536         Prepare for locale dependent tests on mingw.
18537         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
18538         because it has the wrong locale encoding.
18539         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
18540         French_France.1252 instead of "fr".
18541         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
18542         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
18543         because it has the wrong locale encoding.
18544         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
18545         native Windows, try Turkish_Turkey.65001.
18546         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
18547         Chinese_China.54936.
18548
18549         Prepare for locale dependent tests on mingw.
18550         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
18551         differently.
18552         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18553         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18554         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18555         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18556
18557 2011-02-11  Eric Blake  <eblake@redhat.com>
18558
18559         strptime: avoid compiler warnings
18560         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
18561         compiler warnings about dead code.
18562         Reported by Daniel P. Berrange.
18563
18564 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
18565
18566         doc: update users.txt
18567         * users.txt: Add rcs.
18568
18569 2011-02-10  John W. Eaton  <jwe@gnu.org>
18570
18571         doc: update users.txt
18572         * users.txt: Add octave.
18573
18574 2011-02-10  Jim Meyering  <meyering@redhat.com>
18575
18576         doc: update users.txt
18577         * users.txt: Add iwhd.
18578
18579 2011-02-09  Bruno Haible  <bruno@clisp.org>
18580
18581         gnulib-tool: Make copyright notice adjustment more robust.
18582         * gnulib-tool (func_import): In sed_transform_main_lib_file,
18583         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
18584         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
18585         License".
18586         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
18587
18588 2011-02-06  Bruno Haible  <bruno@clisp.org>
18589
18590         New module 'towctrans'.
18591         * modules/towctrans: New file.
18592         * lib/wctype.in.h (towctrans): New declaration.
18593         * lib/towctrans.c: New file.
18594         * lib/towctrans-impl.h: New file.
18595         * m4/towctrans.m4: New file.
18596         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
18597         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
18598         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
18599         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
18600         * doc/posix-functions/towctrans.texi: Mention the new module.
18601
18602 2011-02-06  Bruno Haible  <bruno@clisp.org>
18603
18604         New module 'wctrans'.
18605         * modules/wctrans: New file.
18606         * lib/wctype.in.h (wctrans): New declaration.
18607         * lib/wctrans.c: New file.
18608         * lib/wctrans-impl.h: New file.
18609         * m4/wctrans.m4: New file.
18610         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
18611         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
18612         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
18613         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
18614         * doc/posix-functions/wctrans.texi: Mention the new module.
18615
18616 2011-02-06  Bruno Haible  <bruno@clisp.org>
18617
18618         New module 'iswctype'.
18619         * modules/iswctype: New file.
18620         * lib/wctype.in.h (iswctype): New declaration.
18621         * lib/iswctype.c: New file.
18622         * lib/iswctype-impl.h: New file.
18623         * m4/iswctype.m4: New file.
18624         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
18625         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
18626         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
18627         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
18628         * doc/posix-functions/iswctype.texi: Mention the new module and the
18629         HP-UX 11.00 problem.
18630
18631 2011-02-06  Bruno Haible  <bruno@clisp.org>
18632
18633         New module 'wctype'.
18634         * modules/wctype: Change to represent the wctype() substitute.
18635         * lib/wctype.in.h (wctype): New declaration.
18636         * lib/wctype.c: New file.
18637         * lib/wctype-impl.h: New file.
18638         * m4/wctype.m4: New file.
18639         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
18640         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
18641         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
18642         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
18643         * doc/posix-functions/wctype.texi: Mention the new module and the
18644         HP-UX 11.00 problem.
18645
18646 2011-02-06  Bruno Haible  <bruno@clisp.org>
18647
18648         wctype-h: Ensure wctype_t and wctrans_t are defined.
18649         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
18650         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18651         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18652         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
18653         HAVE_WCTRANS_T.
18654         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
18655
18656 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18657
18658         flock: fix license typo
18659
18660         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
18661         omitted.
18662
18663 2011-02-08  Bruno Haible  <bruno@clisp.org>
18664
18665         Split large sed scripts, for HP-UX sed.
18666         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
18667         to avoid HP-UX limit of 99 commands, in the near future.
18668         * modules/stdlib (Makefile.am): Likewise.
18669         * modules/unistd (Makefile.am): Likewise.
18670         * modules/wchar (Makefile.am): Likewise.
18671         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18672         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
18673         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
18674
18675 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18676             Bruno Haible  <bruno@clisp.org>
18677
18678         stdlib: improve random_r modularization
18679         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18680         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18681         you also need the random_r module to get this material right.
18682         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18683         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18684         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18685
18686 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18687
18688         stdlib: don't depend on stdint
18689         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18690         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18691         be independent of whether stdint.h is needed.
18692         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18693         here, instead of ...
18694         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18695         struct random_data should be using the random_r module, not just
18696         the stdlib module (which wouldn't make sense: what package needs
18697         just struct random_data without also needing random_r?).
18698         * modules/stdlib (Depends-on): Remove stdint.
18699
18700         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18701         See the thread rooted at
18702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18703         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18704         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18705         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18706         __VMS)); previously it was always included (via fcntl--.h).
18707         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18708         hand; this is good enough for load averages.  Also, do not use
18709         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18710         flags directly if available and don't bother otherwise.  (Packages
18711         that need the extra reliability should use the modules that define
18712         these flags on older platforms that lack them.)
18713         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18714         fcntl-safer.
18715
18716 2011-02-08  Jim Meyering  <meyering@redhat.com>
18717
18718         di-set.h, ino-map.h: add multiple-inclusion guard
18719         Technically, the guard is required only for ino-map.h, due to its
18720         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18721         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18722         * lib/ino-map.h: Likewise.
18723
18724 2011-02-06  Bruno Haible  <bruno@clisp.org>
18725
18726         iswblank: Ensure declaration on glibc systems.
18727         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18728         * modules/iswblank (Dependencies): Add 'extensions'.
18729         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18730
18731 2011-02-06  Bruno Haible  <bruno@clisp.org>
18732
18733         New module 'iswblank'.
18734         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18735         * modules/iswblank: New file.
18736         * modules/wctype-h (Files): Remove lib/iswblank.c.
18737         (Makefile.am): Substitute GNULIB_ISWBLANK.
18738         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18739         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18740         (gl_WCTYPE_H_DEFAULTS): New macro.
18741         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18742         * modules/iswblank-tests: New file.
18743         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18744         * tests/test-wctype-h.c (main): Remove iswblank tests.
18745         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18746         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18747         of 'wctype-h'.
18748         * NEWS: Mention the change.
18749         * modules/mbchar (Depends-on): Add iswblank.
18750
18751 2011-02-08  Bruno Haible  <bruno@clisp.org>
18752
18753         di-set tests: Refactor.
18754         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18755         unnecessary includes.
18756         (ASSERT): Remove macro.
18757         (main): Make C90 compliant by avoiding variable declaration after
18758         statement.
18759         * modules/di-set-tests (Files): Add tests/macros.h.
18760
18761 2011-02-08  Bruno Haible  <bruno@clisp.org>
18762
18763         ino-map tests: Refactor.
18764         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18765         unnecessary includes.
18766         (ASSERT): Remove macro.
18767         (main): Make C90 compliant by avoiding variable declaration after
18768         statement.
18769         * modules/ino-map-tests (Files): Add tests/macros.h.
18770
18771 2011-02-08  Jim Meyering  <meyering@redhat.com>
18772
18773         di-set: add "const" to a cast
18774         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18775         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18776
18777 2011-02-06  Bruno Haible  <bruno@clisp.org>
18778
18779         Rename module 'wctype' to 'wctype-h'.
18780         * modules/wctype-h: Renamed from modules/wctype.
18781         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18782         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18783         (Files, Depends-on, Makefile.am): Update.
18784         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18785         (Files, Makefile.am): Update.
18786         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18787         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18788         * doc/posix-headers/wctype.texi: Update.
18789         * doc/posix-functions/iswalnum.texi: Update.
18790         * doc/posix-functions/iswalpha.texi: Update.
18791         * doc/posix-functions/iswblank.texi: Update.
18792         * doc/posix-functions/iswcntrl.texi: Update.
18793         * doc/posix-functions/iswdigit.texi: Update.
18794         * doc/posix-functions/iswgraph.texi: Update.
18795         * doc/posix-functions/iswlower.texi: Update.
18796         * doc/posix-functions/iswprint.texi: Update.
18797         * doc/posix-functions/iswpunct.texi: Update.
18798         * doc/posix-functions/iswspace.texi: Update.
18799         * doc/posix-functions/iswupper.texi: Update.
18800         * doc/posix-functions/iswxdigit.texi: Update.
18801         * doc/posix-functions/towlower.texi: Update.
18802         * doc/posix-functions/towupper.texi: Update.
18803         * NEWS: Mention the change.
18804         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18805         * modules/mbchar (Dependencies): Likewise.
18806         * modules/mbswidth (Dependencies): Likewise.
18807         * modules/quotearg (Dependencies): Likewise.
18808         * modules/regex (Dependencies): Likewise.
18809         * modules/wcscasecmp (Dependencies): Likewise.
18810         * modules/wcsncasecmp (Dependencies): Likewise.
18811         * modules/wcwidth (Dependencies): Likewise.
18812
18813 2011-02-06  Bruno Haible  <bruno@clisp.org>
18814
18815         New module 'wcswidth'.
18816         * modules/wcswidth: New file.
18817         * lib/wchar.in.h (wcswidth): New declaration.
18818         * lib/wcswidth.c: New file.
18819         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
18820         * m4/wcswidth.m4: New file.
18821         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
18822         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
18823         REPLACE_WCSWIDTH.
18824         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
18825         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
18826         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
18827         * doc/posix-functions/wcswidth.texi: Mention the new module.
18828
18829 2011-02-06  Bruno Haible  <bruno@clisp.org>
18830
18831         New module 'wcstok'.
18832         * modules/wcstok: New file.
18833         * lib/wchar.in.h (wcstok): New declaration.
18834         * lib/wcstok.c: New file.
18835         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
18836         * m4/wcstok.m4: New file.
18837         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
18838         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
18839         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
18840         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
18841         * doc/posix-functions/wcstok.texi: Mention the new module.
18842
18843 2011-02-06  Bruno Haible  <bruno@clisp.org>
18844
18845         New module 'wcsstr'.
18846         * modules/wcsstr: New file.
18847         * lib/wchar.in.h (wcsstr): New declaration.
18848         * lib/wcsstr.c: New file.
18849         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18850         * m4/wcsstr.m4: New file.
18851         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18852         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18853         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18854         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18855         * doc/posix-functions/wcsstr.texi: Mention the new module.
18856
18857 2011-02-06  Bruno Haible  <bruno@clisp.org>
18858
18859         New module 'wcspbrk'.
18860         * modules/wcspbrk: New file.
18861         * lib/wchar.in.h (wcspbrk): New declaration.
18862         * lib/wcspbrk.c: New file.
18863         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18864         * m4/wcspbrk.m4: New file.
18865         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18866         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18867         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18868         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18869         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18870
18871 2011-02-06  Bruno Haible  <bruno@clisp.org>
18872
18873         New module 'wcsspn'.
18874         * modules/wcsspn: New file.
18875         * lib/wchar.in.h (wcsspn): New declaration.
18876         * lib/wcsspn.c: New file.
18877         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18878         * m4/wcsspn.m4: New file.
18879         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18880         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18881         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18882         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18883         * doc/posix-functions/wcsspn.texi: Mention the new module.
18884
18885 2011-02-06  Bruno Haible  <bruno@clisp.org>
18886
18887         New module 'wcscspn'.
18888         * modules/wcscspn: New file.
18889         * lib/wchar.in.h (wcscspn): New declaration.
18890         * lib/wcscspn.c: New file.
18891         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18892         * m4/wcscspn.m4: New file.
18893         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18894         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18895         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18896         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18897         * doc/posix-functions/wcscspn.texi: Mention the new module.
18898
18899 2011-02-06  Bruno Haible  <bruno@clisp.org>
18900
18901         New module 'wcsrchr'.
18902         * modules/wcsrchr: New file.
18903         * lib/wchar.in.h (wcsrchr): New declaration.
18904         * lib/wcsrchr.c: New file.
18905         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18906         * m4/wcsrchr.m4: New file.
18907         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18908         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18909         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18910         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18911         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18912
18913 2011-02-06  Bruno Haible  <bruno@clisp.org>
18914
18915         New module 'wcschr'.
18916         * modules/wcschr: New file.
18917         * lib/wchar.in.h (wcschr): New declaration.
18918         * lib/wcschr.c: New file.
18919         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18920         * m4/wcschr.m4: New file.
18921         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18922         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18923         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18924         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18925         * doc/posix-functions/wcschr.texi: Mention the new module.
18926
18927 2011-02-06  Bruno Haible  <bruno@clisp.org>
18928
18929         New module 'wcsdup'.
18930         * modules/wcsdup: New file.
18931         * lib/wchar.in.h (wcsdup): New declaration.
18932         * lib/wcsdup.c: New file.
18933         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18934         * m4/wcsdup.m4: New file.
18935         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18936         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18937         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18938         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18939         * doc/posix-functions/wcsdup.texi: Mention the new module.
18940
18941 2011-02-06  Bruno Haible  <bruno@clisp.org>
18942
18943         New module 'wcsxfrm'.
18944         * modules/wcsxfrm: New file.
18945         * lib/wchar.in.h (wcsxfrm): New declaration.
18946         * lib/wcsxfrm.c: New file.
18947         * lib/wcsxfrm-impl.h: New file.
18948         * m4/wcsxfrm.m4: New file.
18949         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18950         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18951         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18952         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18953         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18954
18955 2011-02-06  Bruno Haible  <bruno@clisp.org>
18956
18957         New module 'wcscoll'.
18958         * modules/wcscoll: New file.
18959         * lib/wchar.in.h (wcscoll): New declaration.
18960         * lib/wcscoll.c: New file.
18961         * lib/wcscoll-impl.h: New file.
18962         * m4/wcscoll.m4: New file.
18963         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
18964         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
18965         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
18966         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
18967         * doc/posix-functions/wcscoll.texi: Mention the new module.
18968
18969 2011-02-06  Bruno Haible  <bruno@clisp.org>
18970
18971         New module 'wcsncasecmp'.
18972         * modules/wcsncasecmp: New file.
18973         * lib/wchar.in.h (wcsncasecmp): New declaration.
18974         * lib/wcsncasecmp.c: New file.
18975         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
18976         * m4/wcsncasecmp.m4: New file.
18977         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
18978         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
18979         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
18980         HAVE_WCSNCASECMP.
18981         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
18982         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
18983
18984 2011-02-06  Bruno Haible  <bruno@clisp.org>
18985
18986         New module 'wcscasecmp'.
18987         * modules/wcscasecmp: New file.
18988         * lib/wchar.in.h (wcscasecmp): New declaration.
18989         * lib/wcscasecmp.c: New file.
18990         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
18991         * m4/wcscasecmp.m4: New file.
18992         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
18993         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
18994         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
18995         HAVE_WCSCASECMP.
18996         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
18997         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
18998
18999 2011-02-05  Bruno Haible  <bruno@clisp.org>
19000
19001         New module 'wcsncmp'.
19002         * modules/wcsncmp: New file.
19003         * lib/wchar.in.h (wcsncmp): New declaration.
19004         * lib/wcsncmp.c: New file.
19005         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
19006         * m4/wcsncmp.m4: New file.
19007         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
19008         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
19009         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
19010         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
19011         * doc/posix-functions/wcsncmp.texi: Mention the new module.
19012
19013 2011-02-05  Bruno Haible  <bruno@clisp.org>
19014
19015         New module 'wcscmp'.
19016         * modules/wcscmp: New file.
19017         * lib/wchar.in.h (wcscmp): New declaration.
19018         * lib/wcscmp.c: New file.
19019         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
19020         * m4/wcscmp.m4: New file.
19021         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
19022         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
19023         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
19024         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
19025         * doc/posix-functions/wcscmp.texi: Mention the new module.
19026
19027 2011-02-05  Bruno Haible  <bruno@clisp.org>
19028
19029         New module 'wcsncat'.
19030         * modules/wcsncat: New file.
19031         * lib/wchar.in.h (wcsncat): New declaration.
19032         * lib/wcsncat.c: New file.
19033         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
19034         * m4/wcsncat.m4: New file.
19035         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
19036         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
19037         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
19038         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
19039         * doc/posix-functions/wcsncat.texi: Mention the new module.
19040
19041 2011-02-05  Bruno Haible  <bruno@clisp.org>
19042
19043         New module 'wcscat'.
19044         * modules/wcscat: New file.
19045         * lib/wchar.in.h (wcscat): New declaration.
19046         * lib/wcscat.c: New file.
19047         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
19048         * m4/wcscat.m4: New file.
19049         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
19050         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
19051         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
19052         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
19053         * doc/posix-functions/wcscat.texi: Mention the new module.
19054
19055 2011-02-05  Bruno Haible  <bruno@clisp.org>
19056
19057         New module 'wcpncpy'.
19058         * modules/wcpncpy: New file.
19059         * lib/wchar.in.h (wcpncpy): New declaration.
19060         * lib/wcpncpy.c: New file.
19061         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
19062         * m4/wcpncpy.m4: New file.
19063         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
19064         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
19065         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
19066         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
19067         * doc/posix-functions/wcpncpy.texi: Mention the new module.
19068
19069 2011-02-05  Bruno Haible  <bruno@clisp.org>
19070
19071         New module 'wcsncpy'.
19072         * modules/wcsncpy: New file.
19073         * lib/wchar.in.h (wcsncpy): New declaration.
19074         * lib/wcsncpy.c: New file.
19075         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
19076         * m4/wcsncpy.m4: New file.
19077         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
19078         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
19079         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
19080         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
19081         * doc/posix-functions/wcsncpy.texi: Mention the new module.
19082
19083 2011-02-05  Bruno Haible  <bruno@clisp.org>
19084
19085         New module 'wcpcpy'.
19086         * modules/wcpcpy: New file.
19087         * lib/wchar.in.h (wcpcpy): New declaration.
19088         * lib/wcpcpy.c: New file.
19089         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
19090         * m4/wcpcpy.m4: New file.
19091         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
19092         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
19093         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
19094         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
19095         * doc/posix-functions/wcpcpy.texi: Mention the new module.
19096
19097 2011-02-05  Bruno Haible  <bruno@clisp.org>
19098
19099         New module 'wcscpy'.
19100         * modules/wcscpy: New file.
19101         * lib/wchar.in.h (wcscpy): New declaration.
19102         * lib/wcscpy.c: New file.
19103         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
19104         * m4/wcscpy.m4: New file.
19105         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
19106         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
19107         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
19108         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
19109         * doc/posix-functions/wcscpy.texi: Mention the new module.
19110
19111 2011-02-05  Bruno Haible  <bruno@clisp.org>
19112
19113         New module 'wcsnlen'.
19114         * modules/wcsnlen: New file.
19115         * lib/wchar.in.h (wcsnlen): New declaration.
19116         * lib/wcsnlen.c: New file.
19117         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
19118         * m4/wcsnlen.m4: New file.
19119         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
19120         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
19121         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
19122         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
19123         * doc/posix-functions/wcsnlen.texi: Mention the new module.
19124
19125 2011-02-05  Bruno Haible  <bruno@clisp.org>
19126
19127         New module 'wcslen'.
19128         * modules/wcslen: New file.
19129         * lib/wchar.in.h (wcslen): New declaration.
19130         * lib/wcslen.c: New file.
19131         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
19132         * m4/wcslen.m4: New file.
19133         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
19134         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
19135         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
19136         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
19137         * doc/posix-functions/wcslen.texi: Mention the new module.
19138
19139 2011-02-05  Bruno Haible  <bruno@clisp.org>
19140
19141         New module 'wmemset'.
19142         * modules/wmemset: New file.
19143         * lib/wchar.in.h (wmemset): New declaration.
19144         * lib/wmemset.c: New file.
19145         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
19146         * m4/wmemset.m4: New file.
19147         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
19148         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
19149         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
19150         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
19151         * doc/posix-functions/wmemset.texi: Mention the new module.
19152
19153 2011-02-05  Bruno Haible  <bruno@clisp.org>
19154
19155         New module 'wmemmove'.
19156         * modules/wmemmove: New file.
19157         * lib/wchar.in.h (wmemmove): New declaration.
19158         * lib/wmemmove.c: New file.
19159         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
19160         * m4/wmemmove.m4: New file.
19161         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
19162         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
19163         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
19164         HAVE_WMEMMOVE.
19165         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
19166         * doc/posix-functions/wmemmove.texi: Mention the new module.
19167
19168 2011-02-05  Bruno Haible  <bruno@clisp.org>
19169
19170         New module 'wmemcpy'.
19171         * modules/wmemcpy: New file.
19172         * lib/wchar.in.h (wmemcpy): New declaration.
19173         * lib/wmemcpy.c: New file.
19174         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
19175         * m4/wmemcpy.m4: New file.
19176         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
19177         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
19178         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
19179         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
19180         * doc/posix-functions/wmemcpy.texi: Mention the new module.
19181
19182 2011-02-05  Bruno Haible  <bruno@clisp.org>
19183
19184         New module 'wmemcmp'.
19185         * modules/wmemcmp: New file.
19186         * lib/wchar.in.h (wmemcmp): New declaration.
19187         * lib/wmemcmp.c: New file.
19188         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
19189         * m4/wmemcmp.m4: New file.
19190         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
19191         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
19192         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
19193         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
19194         * doc/posix-functions/wmemcmp.texi: Mention the new module.
19195
19196 2011-02-07  Jim Meyering  <meyering@redhat.com>
19197
19198         di-set, ino-map: new modules, from coreutils
19199         * lib/di-set.c: New file.
19200         * lib/di-set.h: Likewise.
19201         * lib/ino-map.c: Likewise.
19202         * lib/ino-map.h: Likewise.
19203         * modules/di-set: Likewise.
19204         * modules/di-set-tests: Likewise.
19205         * modules/ino-map: Likewise.
19206         * modules/ino-map-tests: Likewise.
19207         * tests/test-di-set.c: Likewise.
19208         * tests/test-ino-map.c: Likewise.
19209
19210 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19211
19212         getloadavg: merge minor changes from Emacs
19213
19214         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
19215         (getloadavg): Use memset, not bzero.
19216
19217         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
19218         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
19219         clash (bug#86).
19220
19221 2010-11-14  Bruno Haible  <bruno@clisp.org>
19222
19223         Allow multiple gnulib generated replacements to coexist.
19224         * lib/getopt.in.h (struct option): Avoid identical redefinition.
19225         * lib/inttypes.in.h (imaxdiv_t): Likewise.
19226         * lib/langinfo.in.h (nl_item): Likewise.
19227         * lib/math.in.h (_NaN, NAN): Likewise.
19228         * lib/netdb.in.h (struct addrinfo): Likewise.
19229         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
19230         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
19231         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
19232         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
19233         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
19234         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
19235         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
19236         pthread_mutexattr_init, pthread_mutexattr_settype,
19237         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
19238         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
19239         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
19240         pthread_spin_trylock, pthread_spin_unlock): Likewise.
19241         * lib/sched.in.h (struct sched_param): Likewise.
19242         * lib/se-selinux.in.h (security_class_t, security_context_t,
19243         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
19244         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
19245         lsetfilecon, fsetfilecon, security_check_context,
19246         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
19247         Likewise.
19248         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
19249         Likewise.
19250         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
19251         _gl_function_taking_int_returning_void_t, union sigval,
19252         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
19253         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
19254         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19255         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
19256         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
19257         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
19258         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
19259         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
19260         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
19261         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
19262         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
19263         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
19264         socklen_t, rpl_fd_isset): Likewise.
19265         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
19266         * lib/sys_time.in.h (struct timeval): Likewise.
19267         * lib/sys_times.in.h (struct tms): Likewise.
19268         * lib/sys_utsname.in.h (struct utsname):
19269         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
19270         * lib/unistd.in.h (getpagesize): Likewise.
19271         * lib/wchar.in.h (mbstate_t): Likewise.
19272         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
19273         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
19274         towlower, towupper): Likewise.
19275         Reported by Sam Steingold <sds@gnu.org>.
19276
19277 2011-02-05  Eric Blake  <eblake@redhat.com>
19278
19279         unsetenv: work around Haiku issues
19280         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
19281         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
19282
19283 2010-12-30  Bruce Korb  <bkorb@gnu.org>
19284
19285         libposix: avoid calling error() within libposix
19286         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
19287         is defined.
19288
19289 2011-02-05  Eric Blake  <eblake@redhat.com>
19290
19291         strerror_r-posix: port to cygwin
19292         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
19293         implementation.
19294         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
19295         * tests/test-strerror_r.c (main): Fix test.
19296         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19297         issue.
19298
19299 2011-02-05  Bruno Haible  <bruno@clisp.org>
19300
19301         New module 'wmemchr'.
19302         * modules/wmemchr: New file.
19303         * lib/wchar.in.h (wmemchr): New declaration.
19304         * lib/wmemchr.c: New file.
19305         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
19306         * m4/wmemchr.m4: New file.
19307         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
19308         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
19309         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
19310         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
19311         * doc/posix-functions/wmemchr.texi: Mention the new module.
19312
19313 2011-02-04  Eric Blake  <eblake@redhat.com>
19314
19315         fdopendir: detect FreeBSD bug
19316         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
19317         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
19318
19319 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19320
19321         stdbool: do not define HAVE_STDBOOL_H
19322         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
19323         AC_HEADER_STDBOOL.  All uses changed.  Do not define
19324         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
19325         imported from the latest Autoconf git.  It was motivated by Emacs,
19326         which uses gnulib but does not need HAVE_STDBOOL_H.
19327
19328 2011-02-04  Bruno Haible  <bruno@clisp.org>
19329
19330         wcsnrtombs: Prepare for new module wwcsnrtombs.
19331         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
19332         * lib/wcsnrtombs.c: Include it.
19333         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
19334
19335         wcsrtombs: Prepare for new module wwcsrtombs.
19336         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
19337         * lib/wcsrtombs.c: Include it.
19338         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
19339
19340         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
19341         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
19342         * lib/mbsnrtowcs.c: Include it.
19343         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
19344
19345         mbsrtowcs: Prepare for new module mbsrtowwcs.
19346         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
19347         * lib/mbsrtowcs.c: Include it.
19348         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
19349
19350 2011-02-04  Bruno Haible  <bruno@clisp.org>
19351
19352         vasnprintf: Reduce use of malloc for small format strings.
19353         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
19354         (arguments): Add room for the first 7 arguments.
19355         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
19356         (char_directives, u8_directives, u16_directives, u32_directives): Add
19357         room for the first 7 directives.
19358         * lib/printf-parse.c: Include <string.h>.
19359         (PRINTF_PARSE): Change memory handling code so that it uses the first
19360         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
19361         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
19362         Reported by Pádraig Brady <P@draigbrady.com>.
19363
19364 2011-01-31  Eric Blake  <eblake@redhat.com>
19365
19366         dup2: work around Haiku bug
19367         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
19368         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
19369         * doc/posix-functions/dup2.texi (dup2): Document the bug.
19370         * tests/test-dup2.c (main): Enhance test.
19371
19372 2011-01-31  Simon Josefsson  <simon@josefsson.org>
19373
19374         doc: off_t is not available in eglibc 2.11.2 stdio.h.
19375         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
19376         declared by eglibc 2.11.2.
19377         * lib/stdio.in.h: Likewise.
19378
19379 2011-01-31  Eric Blake  <eblake@redhat.com>
19380
19381         ignore-value: add missing test dependency
19382         * tests/test-ignore-value.c: Revert previous change; stdio.h
19383         provides off_t.
19384         * modules/ignore-value-tests (Depends-on): Add missing dependency.
19385
19386 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19387
19388         mktime: clarify long_int width checking
19389         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
19390         the top level, to make it clearer that the assumption about
19391         long_int width is being checked.  See
19392         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
19393
19394 2011-01-30  Simon Josefsson  <simon@josefsson.org>
19395
19396         ignore-value: Fix self-test.
19397         * tests/test-ignore-value.c: Include sys/types.h for off_t.
19398
19399 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19400
19401         TYPE_MAXIMUM: avoid theoretically undefined behavior
19402         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
19403         negative number, which the C Standard says has undefined behavior.
19404         In practice this is not a problem, but might as well do it by the book.
19405         Reported by Rich Felker and Eric Blake; see
19406         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
19407         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
19408         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19409         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19410         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
19411         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19412         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
19413
19414         mktime: #undef mktime before #defining it
19415         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
19416
19417         mktime: systematically normalize tm_isdst comparisons
19418         * lib/mktime.c (isdst_differ): New function.
19419         (__mktime_internal): Use it systematically for all isdst comparisons.
19420         This completes the fix for libc BZ #6723, and removes the need for
19421         normalizing tm_isdst.  See
19422         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
19423         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
19424
19425         mktime: fix some integer overflow issues and sidestep the rest
19426
19427         This was prompted by a bug report by Benjamin Lindner for MinGW
19428         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
19429         His bug is due to signed integer overflow (0 - INT_MIN), and I
19430         I scanned through mktime.c looking for other integer overflow
19431         problems, fixing all the bugs I found.
19432
19433         Although the C Standard says the resulting code is still not safe
19434         in the presence of integer overflow, in practice it should be good
19435         enough for all real-world two's-complement implementations, except
19436         for debugging environments that deliberately trap on integer
19437         overflow (e.g., gcc -ftrapv).
19438
19439         * lib/mktime.c (WRAPV): New macro.
19440         (SHR): Also check that long_int and time_t shift right in the
19441         usual way, before using the fast-but-unportable method.
19442         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
19443         used.  The code already assumed two's complement, so there's
19444         no need to test for alternatives.  All uses removed.
19445         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
19446         the C standard.  Problem reported by Rich Felker in
19447         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
19448         (twos_complement_arithmetic): Also check long_int and time_t.
19449         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
19450         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
19451         (__mktime_internal): Avoid integer overflow with unary subtraction
19452         in two instances where -1 - X is an adequate replacement for -X,
19453         since the calculations are approximate.
19454
19455 2011-01-29  Eric Blake  <eblake@redhat.com>
19456
19457         mktime: avoid infinite loop
19458         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
19459         type; behavior is still undefined but portable to all known targets.
19460         Reported by Rich Felker.
19461
19462 2011-01-29  Simon Josefsson  <simon@josefsson.org>
19463
19464         rename, unlink, same-inode: Relicense.
19465         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
19466         * modules/unlink (License): Likewise.
19467         * modules/same-inode (License): Likewise.
19468
19469 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
19470
19471         mktime: avoid problems on NetBSD 5 / i386
19472         * lib/mktime.c (long_int): New type.  This works around a problem
19473         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
19474         but time_t is 64 bits, and where I expect the existing code is
19475         wrong in some cases.
19476         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
19477         (ydhms_diff): Bring back the compile-time check for wide-enough
19478         year and yday.
19479
19480         mktime: fix misspelling in comment
19481         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
19482         This merges all recent glibc changes of importance.
19483
19484 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19485
19486         move-if-change: cope with concurrent mv of identical file.
19487         * build-aux/move-if-change (CMPPROG): Accept environment
19488         variable as an override for `cmp'.
19489         (usage): Document CMPPROG.
19490         Adjust comparison to drop stdout.  Cope with failure of mv if
19491         the target file exists and is identical to the source, for
19492         parallel builds.
19493         Report from H.J. Lu against binutils in PR binutils/12283.
19494
19495 2011-01-28  Bruce Korb  <bkorb@gnu.org>
19496
19497         * users.txt: Mention sharutils.
19498
19499 2011-01-28  Simon Josefsson  <simon@josefsson.org>
19500
19501         * users.txt: Mention OATH Toolkit.
19502
19503 2011-01-27  Bruno Haible  <bruno@clisp.org>
19504
19505         Prepare for supporting FreeBSD 10.
19506         * build-aux/config.libpath: Remove handling of freebsd1*.
19507
19508 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
19509
19510         Prepare for supporting FreeBSD 10.
19511         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
19512         match FreeBSD 10.0.
19513
19514 2011-01-27  Bruno Haible  <bruno@clisp.org>
19515
19516         vma-iter, get-rusage-as: Add OpenBSD support.
19517         * modules/vma-iter (configure.ac): Test for mquery.
19518         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
19519         * lib/vma-iter.c: Include <sys/mman.h>.
19520         (vma_iterate): Add an implementation based on mquery().
19521         * lib/resource-ext.h (get_rusage_as): Update comments.
19522         * lib/get-rusage-as.c: Likewise.
19523         * lib/get-rusage-data.c: Likewise.
19524
19525 2011-01-26  Karl Berry  <karl@gnu.org>
19526
19527         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
19528         variables to make it easier to override the makeinfo program used.
19529
19530 2011-01-26  Eric Blake  <eblake@redhat.com>
19531
19532         fcntl: work around Haiku F_DUPFD bugs
19533         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
19534         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
19535         cloexec bit on duplication.
19536         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
19537
19538 2011-01-26  Bruno Haible  <bruno@clisp.org>
19539
19540         Enable memory leak tests on AIX.
19541         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
19542         * tests/test-fprintf-posix3.c (main): Likewise.
19543
19544 2011-01-26  Bruno Haible  <bruno@clisp.org>
19545
19546         Tests for module 'get-rusage-data'.
19547         * modules/get-rusage-data-tests: New file.
19548         * tests/test-get-rusage-data.c: New file.
19549
19550         New module 'get-rusage-data'.
19551         * lib/resource-ext.h (get_rusage_data): New declaration.
19552         * lib/get-rusage-data.c: New file.
19553         * modules/get-rusage-data: New file.
19554
19555 2011-01-25  Bruno Haible  <bruno@clisp.org>
19556
19557         get-rusage-as: Allow for easier testing.
19558         * lib/resource-ext.h (get_rusage_as): Add comment.
19559         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
19560         (main): New function for interactive testing.
19561
19562 2011-01-25  Bruno Haible  <bruno@clisp.org>
19563
19564         vma-iter: Treat Haiku like BeOS.
19565         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19566         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
19567
19568 2011-01-25  Eric Blake  <eblake@redhat.com>
19569
19570         c-stack: fix regression on cygwin when libsigsegv is present
19571         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
19572
19573 2011-01-24  Bruno Haible  <bruno@clisp.org>
19574
19575         vma-iter: Avoid empty intervals.
19576         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
19577         on an empty interval.
19578
19579 2011-01-24  Jim Meyering  <meyering@redhat.com>
19580
19581         u64: remove unnecessary #include
19582         * lib/u64.h: Don't include <stddef.h>.  It was not used.
19583
19584 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19585
19586         Allow the user to avoid the HAVE_RAW_DECL_* macros.
19587         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
19588
19589 2011-01-23  Bruno Haible  <bruno@clisp.org>
19590
19591         New module 'vma-iter'.
19592         * lib/vma-iter.h: New file.
19593         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
19594         * modules/vma-iter: New file.
19595         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
19596         for get_rusage_as_via_iterator.
19597         (vma_iterate_callback): New function.
19598         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
19599         * modules/get-rusage-as (Depends-on): Add vma-iter.
19600
19601 2011-01-23  Bruno Haible  <bruno@clisp.org>
19602
19603         uninorm: Tweak includes.
19604         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
19605         Reported by Jim Meyering.
19606
19607 2011-01-23  Bruno Haible  <bruno@clisp.org>
19608
19609         get-rusage-as: Improve on NetBSD.
19610         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
19611         /proc, like on FreeBSD.
19612
19613 2011-01-23  Jim Meyering  <meyering@redhat.com>
19614
19615         xreadlink.h: remove unnecessary #include
19616         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
19617
19618         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
19619         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
19620
19621 2011-01-23  Bruno Haible  <bruno@clisp.org>
19622
19623         get-rusage-as: Fix bug.
19624         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
19625         original limit when aborting the first loop.
19626
19627 2011-01-23  Bruno Haible  <bruno@clisp.org>
19628
19629         wctype: Ensure valid C syntax.
19630         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
19631         unconditionally, instead of gl_NEXT_HEADERS conditionally.
19632
19633 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19634
19635         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
19636         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
19637         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
19638         as they are needed only for configure's test case.
19639         This removes two unnecessary symbols from config.h.
19640
19641         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
19642         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
19643         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
19644         AC_CHECK_HEADERS_ONCE on a header that we also invoke
19645         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
19646         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
19647         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
19648         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
19649         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19650         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19651         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19652         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19653         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19654         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19655         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
19656         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19657         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19658         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19659
19660 2011-01-21  Eric Blake  <eblake@redhat.com>
19661
19662         maintainer-makefile: work with older git for submodule check
19663         * top/maint.mk (public-submodule-commit): Rewrite to avoid
19664         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
19665         Reported by Matthias Bolte.
19666
19667         bootstrap: minor portability fixes
19668         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
19669         (usage): Omit leading capital and trailing . on help phrases, per
19670         GNU Coding Standards.
19671         (check_versions, top level): Prefix messages with script name.
19672
19673 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
19674
19675         bootstrap: support --no-git option
19676         * build-aux/bootstrap: Add --no-git option, to be used when
19677         --gnulib-srcdir points to the exact desired checkout.
19678
19679 2011-01-21  Eric Blake  <eblake@redhat.com>
19680
19681         strerror_r-posix: work with glibc 2.13
19682         * lib/strerror_r.c (strerror_r): Fix return type.
19683
19684 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19685             Bruno Haible  <bruno@clisp.org>
19686
19687         uN_strstr: New unit tests.
19688         * modules/unistr/u8-strstr-tests: New file.
19689         * modules/unistr/u16-strstr-tests: New file.
19690         * modules/unistr/u32-strstr-tests: New file.
19691         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19692         * tests/unistr/test-u8-strstr.c: New file.
19693         * tests/unistr/test-u16-strstr.c: New file.
19694         * tests/unistr/test-u32-strstr.c: New file.
19695
19696 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19697             Bruno Haible  <bruno@clisp.org>
19698
19699         Make uN_strstr functions O(n) worst-case.
19700         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19701         16-bit and 32-bit unit cases, use the unibyte algorithm from
19702         lib/mbsstr.c.
19703         * lib/unistr/u8-strstr.c: Include <string.h>.
19704         (UNIT_IS_UINT8_T): New macro.
19705         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19706         (U_STRLEN, U_STRNLEN): New macros.
19707         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19708         (U_STRLEN, U_STRNLEN): New macros.
19709         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19710         (configure.ac): Update required libunistring version.
19711         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19712         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19713         malloca.
19714         (configure.ac): Update required libunistring version.
19715         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19716         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19717         malloca.
19718         (configure.ac): Update required libunistring version.
19719
19720 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19721             Bruno Haible  <bruno@clisp.org>
19722
19723         Prepare for faster uN_strstr functions.
19724         * lib/str-kmp.h: Support definable UNITs.
19725         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19726         needle_len argument.
19727         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19728         * lib/mbscasestr.c (mbscasestr): Likewise.
19729
19730 2011-01-21  Pádraig Brady <P@draigBrady.com>
19731
19732         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19733         * tests/test-malloca.c (main): Unset the environment variable
19734         to greatly speed up the test.
19735         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19736         * modules/malloca-tests: Depend on unsetenv.
19737
19738 2011-01-21  Pádraig Brady <P@draigBrady.com>
19739
19740         ignore-value: remove stdint dependency
19741         * lib/ignore-value.h: Remove <stdint.h>
19742         * modules/ignore-value: Remove stdint dependency.
19743
19744 2011-01-21  Jim Meyering  <meyering@redhat.com>
19745
19746         maint.mk: adjust variable name to be consistent with other gl_ vars
19747         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19748         to be lower case.
19749
19750 2011-01-20  Jim Meyering  <meyering@redhat.com>
19751
19752         maint.mk: make "check" depend on public-submodule-commit by default
19753         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19754
19755 2011-01-20  Bruno Haible  <bruno@clisp.org>
19756
19757         mbfile, mbiter: Complete change from 2008-12-21.
19758         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19759         * m4/mbiter.m4 (gl_MBITER): Likewise.
19760
19761 2011-01-20  Jim Meyering  <meyering@redhat.com>
19762
19763         init.sh: insert space between each function name and "()"
19764         * tests/init.sh: Make it a little easier to see that a function's
19765         name is "warn_", and not "warn" when looking at the first part of
19766         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19767
19768 2011-01-20  Jim Meyering  <meyering@redhat.com>
19769
19770         mountlist: clean up code formatting
19771         * lib/mountlist.c (read_file_system_list): Split a long line,
19772         correct bracing style, use NULL in place of "(struct statfs *)0",
19773         don't parenthesize return value, add spaces around "=" and after
19774         ";-in-for-stmt".
19775
19776 2011-01-14  Markus Duft <mduft@gentoo.org>
19777
19778         mountlist: add support for Interix
19779         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19780         Apply statvfs to all entries of /dev/fs.
19781         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19782         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19783
19784 2011-01-20  Jim Meyering  <meyering@redhat.com>
19785
19786         maint.mk: improve the public-submodule-commit rule
19787         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19788         to suppress printing of its commands... unless V=1.
19789         Add git submodule's --quiet option to suppress printing of e.g.,
19790         "Entering gnulib" output.
19791         "cd" into $(srcdir) before running git submodule.
19792
19793 2011-01-20  Bruno Haible  <bruno@clisp.org>
19794
19795         include_next: Fix bug introduced on 2011-01-18.
19796         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19797         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19798         ac_cv_header_... variable if the second argument is not 'check'.
19799         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19800         gl_NEXT_HEADERS_INTERNAL.
19801
19802 2011-01-20  Bruno Haible  <bruno@clisp.org>
19803
19804         Allow the user to avoid the GNULIB_TEST_* macros.
19805         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19806         Suggested by Paul Eggert.
19807
19808 2011-01-14  Jim Meyering  <meyering@redhat.com>
19809
19810         bootstrap: avoid failure when there is no .gitmodules file
19811         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19812         has been assigned to, even when its value is the empty string.
19813         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19814         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19815         Reported by John W. Eaton <jwe@gnu.org>.
19816
19817 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19818
19819         assume <ctype.h>, ..., <time.h> exist
19820         For years gnulib has been assuming the existence of the headers
19821         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
19822         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
19823         them, since they don't appear to be needed.
19824         * README (Portability guidelines): Document this.
19825         * lib/flock.c: Assume <fcntl.h> exists.
19826         * lib/regex_internal.h: Assume <locale.h> exists.
19827         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
19828         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
19829         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
19830         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
19831         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
19832         * m4/regex.m4 (gl_REGEX): Likewise.
19833         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
19834         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
19835         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
19836         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
19837         * tests/test-argp.c: Likewise.
19838         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
19839
19840         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
19841         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
19842         AA_APPLE_UNIVERSAL_BUILD.  See
19843         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
19844         * NEWS: Document this.
19845
19846 2011-01-19  Eric Blake  <eblake@redhat.com>
19847
19848         c-stack: assume stack overflow if SA_SIGINFO unsupported
19849         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19850         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19851         sigaction will work.
19852         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19853         behavior match Linux.
19854         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19855
19856         stdbool-tests: accomodate Haiku
19857         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19858
19859         binary-io: fix O_TEXT on Haiku
19860         * modules/binary-io (Depends-on): Add fcntl-h.
19861         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19862         than blindly undefining O_TEXT.
19863         Reported by Scott McCreary.
19864
19865 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19866
19867         include_next: do not check for standard headers like stddef.h
19868
19869         I found this problem when modifying Emacs to use gnulib.
19870         I noticed that it added HAVE_STDDEF_H to config.h, even though
19871         gnulib always assumes <stddef.h> exists as per README and this
19872         symbol is unnecessary.
19873         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19874         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19875         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19876         faster for headers like stddef.h that are known to exist.
19877         (gl_CHECK_NEXT_HEADERS): Use it.
19878         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19879         rather than gl_CHECK_NEXT_HEADERS.
19880         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19881         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19882
19883 2011-01-18  Eric Blake  <eblake@redhat.com>
19884
19885         ansi-c++-opt: skip C++ dependency style if C++ is unused
19886         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19887         tests when we know C++ compilation is not desired.
19888         Reported by Scott McCreary.
19889
19890 2011-01-18  Bruno Haible  <bruno@clisp.org>
19891
19892         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19893         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19894         (main): Perform test also when getrlimit and setrlimit don't exist or
19895         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19896         limiting the address space size using setrlimit, compare the address
19897         space size before and after the the test.
19898         * tests/test-dprintf-posix2.c: Likewise.
19899         * tests/test-fprintf-posix3.sh: Update skip messages.
19900         * tests/test-dprintf-posix2.sh: Likewise.
19901         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19902         * modules/dprintf-posix-tests (Depends-on): Likewise.
19903         Reported by Bruce Korb <bkorb@gnu.org> and
19904         Gary V. Vaughan <gary@gnu.org>.
19905
19906 2011-01-18  Bruno Haible  <bruno@clisp.org>
19907
19908         get-rusage-as: Improvement for Cygwin.
19909         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19910         areas that are merely reserved.
19911
19912 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19913
19914         strftime: remove dependencies on multibyte modules
19915
19916         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19917         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19918         only if __osf__ is defined, and I suspect OSF doesn't need these
19919         other modules.  If my guess is wrong, we'll need to come up with a
19920         variant of strftime that doesn't need the multibyte modules.
19921
19922         I discovered this problem when attempting modify Emacs to use the
19923         strftime module.  With the previous gnulib, this caused Emacs to
19924         need 31 new files, ranging from lib/config.charset to
19925         m4/wint_t.m4.  This was overkill and I expect would be offputting
19926         to the Emacs maintainers.  After this change, only 6 new files are
19927         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19928         stdbool.m4, and tm_gmtoff.m4.
19929
19930         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19931         Suggested by Bruno Haible in
19932         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19933         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19934         and do not check for wchar.h.
19935         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19936         (Depends-on): Remove mbrlen, mbsinit, wchar.
19937
19938 2011-01-18  Bruno Haible  <bruno@clisp.org>
19939
19940         Tests for module 'get-rusage-as'.
19941         * modules/get-rusage-as-tests: New file.
19942         * tests/test-get-rusage-as.c: New file.
19943
19944         New module 'get-rusage-as'.
19945         * modules/get-rusage-as: New file.
19946         * lib/resource-ext.h: New file.
19947         * lib/get-rusage-as.c: New file.
19948
19949 2011-01-17  Eric Blake  <eblake@redhat.com>
19950
19951         sigaction: relax license from LGPLv3+ to LGPLv2+
19952         * modules/sigaction (License): Relax to LGPLv2+.
19953
19954 2011-01-14  Bruno Haible  <bruno@clisp.org>
19955
19956         filemode: Make function declarations usable in C++ mode.
19957         * lib/filemode.h: Enclose function declarations in extern "C" block.
19958         Reported by John W. Eaton <jwe@gnu.org>.
19959
19960 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
19961
19962         save-cwd: no longer include "xgetcwd.h"
19963         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
19964         This avoids a compilation failure in projects that use save-cwd
19965         without also using the xgetcwd module.
19966
19967 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19968
19969         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
19970         This is so that a program like Emacs, which needs only dtoastr,
19971         does not have to bother with distributing and compiling ftoastr
19972         and ldtoastr.
19973         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
19974         * modules/dtoastr, modules/ldtoastr: New files.
19975         * modules/ftoastr: Now works just for 'float'.
19976         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
19977         (Makefile.am): Remove ftoastr.h (not needed and no effect),
19978         dtoastr.c, ldtoastr.c.
19979
19980 2011-01-11  Jim Meyering  <meyering@redhat.com>
19981
19982         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
19983         There is no need to work around the lack of the fchdir function,
19984         since gnulib can now provide a replacement when required.
19985         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
19986         * modules/save-cwd (Depends-on): Add fchdir.
19987
19988 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19989
19990         openat, save-cwd: avoid xmalloc
19991
19992         This removes a direct (but undocumented) dependency of openat on
19993         xalloc, along with an indirect dependency via save-cwd.  It also
19994         removes a dependency of save-cwd on xgetcwd, and thereby
19995         indirectly on xalloc.  This change causes the openat substitute
19996         to fall back on save_cwd when memory is tight, and for save_cwd to
19997         fail instead of dying when memory is tight, but that's good enough.
19998         Problem and initial idea for fix reported by Bastien Roucaries in
19999         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
20000
20001         * lib/openat-proc.c: Include stdlib.h (for malloc), not
20002         xalloc.h (for xmalloc).
20003         (openat_proc_name): Use malloc, not xmalloc.
20004         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
20005         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
20006
20007         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
20008         This avoids heap allocation for file names whose lengths are in
20009         the range 512..1023, with the upper bound increasing to at most
20010         4031 depending on the platform's PATH_MAX.  (We do not want
20011         pathmax.h here as it might supply a non-constant PATH_MAX.)
20012         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
20013         Perhaps they should be moved to malloca.h?
20014         (OPENAT_BUFFER_SIZE): Use them.
20015
20016 2011-01-10  Bruno Haible  <bruno@clisp.org>
20017
20018         doc: Update users.txt.
20019         * users.txt: Add recutils.
20020
20021 2011-01-09  Karl Berry  <karl@gnu.org>
20022
20023         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
20024
20025         * doc/configmake.texi: New file.
20026         * doc/gnulib.texi: Include it.
20027         * modules/configmake: Move documentation from here.
20028
20029 2011-01-09  Bruno Haible  <bruno@clisp.org>
20030
20031         Update to Unicode 6.0.0.
20032         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
20033         (get_lbp): Update for Unicode 6.0.0.
20034         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
20035         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
20036         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
20037         U+11001, U+11038..U+11046. Remove U+06DE.
20038         (uc_width): Fix bounds of planes.
20039         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20040         lib/uniwidth/width.c.
20041         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
20042         trailing whitespace removed.
20043         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
20044         without comments, but with the original copyright notice.
20045         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
20046         * lib/unicase/ignorable.h: Likewise.
20047         * lib/unicase/tocasefold.h: Likewise.
20048         * lib/unicase/tolower.h: Likewise.
20049         * lib/unicase/totitle.h: Likewise.
20050         * lib/unicase/toupper.h: Likewise.
20051         * lib/unictype/bidi_of.h: Likewise.
20052         * lib/unictype/blocks.h: Likewise.
20053         * lib/unictype/categ_C.h: Likewise.
20054         * lib/unictype/categ_Cn.h: Likewise.
20055         * lib/unictype/categ_L.h: Likewise.
20056         * lib/unictype/categ_Ll.h: Likewise.
20057         * lib/unictype/categ_Lm.h: Likewise.
20058         * lib/unictype/categ_Lo.h: Likewise.
20059         * lib/unictype/categ_Lu.h: Likewise.
20060         * lib/unictype/categ_M.h: Likewise.
20061         * lib/unictype/categ_Mc.h: Likewise.
20062         * lib/unictype/categ_Me.h: Likewise.
20063         * lib/unictype/categ_Mn.h: Likewise.
20064         * lib/unictype/categ_N.h: Likewise.
20065         * lib/unictype/categ_Nd.h: Likewise.
20066         * lib/unictype/categ_No.h: Likewise.
20067         * lib/unictype/categ_P.h: Likewise.
20068         * lib/unictype/categ_Po.h: Likewise.
20069         * lib/unictype/categ_S.h: Likewise.
20070         * lib/unictype/categ_Sc.h: Likewise.
20071         * lib/unictype/categ_Sk.h: Likewise.
20072         * lib/unictype/categ_Sm.h: Likewise.
20073         * lib/unictype/categ_So.h: Likewise.
20074         * lib/unictype/categ_of.h: Likewise.
20075         * lib/unictype/combining.h: Likewise.
20076         * lib/unictype/ctype_alnum.h: Likewise.
20077         * lib/unictype/ctype_alpha.h: Likewise.
20078         * lib/unictype/ctype_graph.h: Likewise.
20079         * lib/unictype/ctype_lower.h: Likewise.
20080         * lib/unictype/ctype_print.h: Likewise.
20081         * lib/unictype/ctype_punct.h: Likewise.
20082         * lib/unictype/ctype_upper.h: Likewise.
20083         * lib/unictype/decdigit.h: Likewise.
20084         * lib/unictype/digit.h: Likewise.
20085         * lib/unictype/numeric.h: Likewise.
20086         * lib/unictype/pr_alphabetic.h: Likewise.
20087         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20088         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20089         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20090         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20091         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20092         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20093         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20094         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20095         * lib/unictype/pr_case_ignorable.h: Likewise.
20096         * lib/unictype/pr_cased.h: Likewise.
20097         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
20098         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
20099         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
20100         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
20101         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
20102         * lib/unictype/pr_combining.h: Likewise.
20103         * lib/unictype/pr_composite.h: Likewise.
20104         * lib/unictype/pr_currency_symbol.h: Likewise.
20105         * lib/unictype/pr_decimal_digit.h: Likewise.
20106         * lib/unictype/pr_deprecated.h: Likewise.
20107         * lib/unictype/pr_format_control.h: Likewise.
20108         * lib/unictype/pr_grapheme_base.h: Likewise.
20109         * lib/unictype/pr_grapheme_extend.h: Likewise.
20110         * lib/unictype/pr_grapheme_link.h: Likewise.
20111         * lib/unictype/pr_id_continue.h: Likewise.
20112         * lib/unictype/pr_id_start.h: Likewise.
20113         * lib/unictype/pr_ideographic.h: Likewise.
20114         * lib/unictype/pr_lowercase.h: Likewise.
20115         * lib/unictype/pr_math.h: Likewise.
20116         * lib/unictype/pr_numeric.h: Likewise.
20117         * lib/unictype/pr_other_alphabetic.h: Likewise.
20118         * lib/unictype/pr_other_id_continue.h: Likewise.
20119         * lib/unictype/pr_other_math.h: Likewise.
20120         * lib/unictype/pr_punctuation.h: Likewise.
20121         * lib/unictype/pr_sentence_terminal.h: Likewise.
20122         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20123         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20124         * lib/unictype/pr_unified_ideograph.h: Likewise.
20125         * lib/unictype/pr_uppercase.h: Likewise.
20126         * lib/unictype/pr_xid_continue.h: Likewise.
20127         * lib/unictype/pr_xid_start.h: Likewise.
20128         * lib/unictype/scripts.h: Likewise.
20129         * lib/unictype/scripts_byname.gperf: Likewise.
20130         * lib/unictype/sy_java_ident.h: Likewise.
20131         * lib/unigbrk/gbrkprop.h: Likewise.
20132         * lib/unilbrk/lbrkprop1.h: Likewise.
20133         * lib/unilbrk/lbrkprop2.h: Likewise.
20134         * lib/uninorm/decomposition-table2.h: Likewise.
20135         * lib/uniwbrk/wbrkprop.h: Likewise.
20136         * tests/unicase/test-cased.c: Likewise.
20137         * tests/unicase/test-ignorable.c: Likewise.
20138         * tests/unicase/test-uc_tolower.c: Likewise.
20139         * tests/unicase/test-uc_totitle.c: Likewise.
20140         * tests/unicase/test-uc_toupper.c: Likewise.
20141         * tests/unictype/test-categ_C.c: Likewise.
20142         * tests/unictype/test-categ_Cn.c: Likewise.
20143         * tests/unictype/test-categ_L.c: Likewise.
20144         * tests/unictype/test-categ_Ll.c: Likewise.
20145         * tests/unictype/test-categ_Lm.c: Likewise.
20146         * tests/unictype/test-categ_Lo.c: Likewise.
20147         * tests/unictype/test-categ_Lu.c: Likewise.
20148         * tests/unictype/test-categ_M.c: Likewise.
20149         * tests/unictype/test-categ_Mc.c: Likewise.
20150         * tests/unictype/test-categ_Me.c: Likewise.
20151         * tests/unictype/test-categ_Mn.c: Likewise.
20152         * tests/unictype/test-categ_N.c: Likewise.
20153         * tests/unictype/test-categ_Nd.c: Likewise.
20154         * tests/unictype/test-categ_No.c: Likewise.
20155         * tests/unictype/test-categ_P.c: Likewise.
20156         * tests/unictype/test-categ_Po.c: Likewise.
20157         * tests/unictype/test-categ_S.c: Likewise.
20158         * tests/unictype/test-categ_Sc.c: Likewise.
20159         * tests/unictype/test-categ_Sk.c: Likewise.
20160         * tests/unictype/test-categ_Sm.c: Likewise.
20161         * tests/unictype/test-categ_So.c: Likewise.
20162         * tests/unictype/test-ctype_alnum.c: Likewise.
20163         * tests/unictype/test-ctype_alpha.c: Likewise.
20164         * tests/unictype/test-ctype_graph.c: Likewise.
20165         * tests/unictype/test-ctype_lower.c: Likewise.
20166         * tests/unictype/test-ctype_print.c: Likewise.
20167         * tests/unictype/test-ctype_punct.c: Likewise.
20168         * tests/unictype/test-ctype_upper.c: Likewise.
20169         * tests/unictype/test-decdigit.h: Likewise.
20170         * tests/unictype/test-digit.h: Likewise.
20171         * tests/unictype/test-numeric.h: Likewise.
20172         * tests/unictype/test-pr_alphabetic.c: Likewise.
20173         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20174         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
20175         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
20176         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20177         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20178         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20179         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20180         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20181         * tests/unictype/test-pr_case_ignorable.c: Likewise.
20182         * tests/unictype/test-pr_cased.c: Likewise.
20183         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
20184         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
20185         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
20186         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
20187         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
20188         * tests/unictype/test-pr_combining.c: Likewise.
20189         * tests/unictype/test-pr_composite.c: Likewise.
20190         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20191         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20192         * tests/unictype/test-pr_deprecated.c: Likewise.
20193         * tests/unictype/test-pr_format_control.c: Likewise.
20194         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20195         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20196         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20197         * tests/unictype/test-pr_id_continue.c: Likewise.
20198         * tests/unictype/test-pr_id_start.c: Likewise.
20199         * tests/unictype/test-pr_ideographic.c: Likewise.
20200         * tests/unictype/test-pr_lowercase.c: Likewise.
20201         * tests/unictype/test-pr_math.c: Likewise.
20202         * tests/unictype/test-pr_numeric.c: Likewise.
20203         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20204         * tests/unictype/test-pr_other_id_continue.c: Likewise.
20205         * tests/unictype/test-pr_other_math.c: Likewise.
20206         * tests/unictype/test-pr_punctuation.c: Likewise.
20207         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20208         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20209         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20210         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20211         * tests/unictype/test-pr_uppercase.c: Likewise.
20212         * tests/unictype/test-pr_xid_continue.c: Likewise.
20213         * tests/unictype/test-pr_xid_start.c: Likewise.
20214         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20215         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20216         changes.
20217         * lib/unictype/categ_Cc.h: Likewise.
20218         * lib/unictype/categ_Cf.h: Likewise.
20219         * lib/unictype/categ_Co.h: Likewise.
20220         * lib/unictype/categ_Cs.h: Likewise.
20221         * lib/unictype/categ_Lt.h: Likewise.
20222         * lib/unictype/categ_Nl.h: Likewise.
20223         * lib/unictype/categ_Pc.h: Likewise.
20224         * lib/unictype/categ_Pd.h: Likewise.
20225         * lib/unictype/categ_Pe.h: Likewise.
20226         * lib/unictype/categ_Pf.h: Likewise.
20227         * lib/unictype/categ_Pi.h: Likewise.
20228         * lib/unictype/categ_Ps.h: Likewise.
20229         * lib/unictype/categ_Z.h: Likewise.
20230         * lib/unictype/categ_Zl.h: Likewise.
20231         * lib/unictype/categ_Zp.h: Likewise.
20232         * lib/unictype/categ_Zs.h: Likewise.
20233         * lib/unictype/ctype_blank.h: Likewise.
20234         * lib/unictype/ctype_cntrl.h: Likewise.
20235         * lib/unictype/ctype_digit.h: Likewise.
20236         * lib/unictype/ctype_space.h: Likewise.
20237         * lib/unictype/ctype_xdigit.h: Likewise.
20238         * lib/unictype/mirror.h: Likewise.
20239         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20240         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20241         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20242         * lib/unictype/pr_bidi_control.h: Likewise.
20243         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20244         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20245         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20246         * lib/unictype/pr_bidi_pdf.h: Likewise.
20247         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20248         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20249         * lib/unictype/pr_dash.h: Likewise.
20250         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20251         * lib/unictype/pr_diacritic.h: Likewise.
20252         * lib/unictype/pr_extender.h: Likewise.
20253         * lib/unictype/pr_hex_digit.h: Likewise.
20254         * lib/unictype/pr_hyphen.h: Likewise.
20255         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20256         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20257         * lib/unictype/pr_ignorable_control.h: Likewise.
20258         * lib/unictype/pr_iso_control.h: Likewise.
20259         * lib/unictype/pr_join_control.h: Likewise.
20260         * lib/unictype/pr_left_of_pair.h: Likewise.
20261         * lib/unictype/pr_line_separator.h: Likewise.
20262         * lib/unictype/pr_logical_order_exception.h: Likewise.
20263         * lib/unictype/pr_non_break.h: Likewise.
20264         * lib/unictype/pr_not_a_character.h: Likewise.
20265         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20266         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20267         * lib/unictype/pr_other_id_start.h: Likewise.
20268         * lib/unictype/pr_other_lowercase.h: Likewise.
20269         * lib/unictype/pr_other_uppercase.h: Likewise.
20270         * lib/unictype/pr_paired_punctuation.h: Likewise.
20271         * lib/unictype/pr_paragraph_separator.h: Likewise.
20272         * lib/unictype/pr_pattern_syntax.h: Likewise.
20273         * lib/unictype/pr_pattern_white_space.h: Likewise.
20274         * lib/unictype/pr_private_use.h: Likewise.
20275         * lib/unictype/pr_quotation_mark.h: Likewise.
20276         * lib/unictype/pr_radical.h: Likewise.
20277         * lib/unictype/pr_soft_dotted.h: Likewise.
20278         * lib/unictype/pr_space.h: Likewise.
20279         * lib/unictype/pr_titlecase.h: Likewise.
20280         * lib/unictype/pr_variation_selector.h: Likewise.
20281         * lib/unictype/pr_white_space.h: Likewise.
20282         * lib/unictype/pr_zero_width.h: Likewise.
20283         * lib/unictype/sy_c_ident.h: Likewise.
20284         * lib/unictype/sy_c_whitespace.h: Likewise.
20285         * lib/unictype/sy_java_whitespace.h: Likewise.
20286         * lib/uninorm/composition-table.gperf: Likewise.
20287         * lib/uninorm/decomposition-table1.h: Likewise.
20288         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
20289         LB8.
20290         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20291         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20292         * modules/unictype/*: Bump version number of expected libunistring
20293         version.
20294
20295 2011-01-09  Bruno Haible  <bruno@clisp.org>
20296
20297         Update to Unicode 5.2.0.
20298         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
20299         trailing whitespace removed.
20300
20301 2011-01-09  Bruno Haible  <bruno@clisp.org>
20302
20303         New Unicode character properties, from Unicode 5.2.0.
20304         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
20305         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
20306         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
20307         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
20308         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
20309         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
20310         uc_is_property_cased, uc_is_property_case_ignorable,
20311         uc_is_property_changes_when_lowercased,
20312         uc_is_property_changes_when_uppercased,
20313         uc_is_property_changes_when_titlecased,
20314         uc_is_property_changes_when_casefolded,
20315         uc_is_property_changes_when_casemapped): New declarations.
20316         * lib/unictype/pr_byname.gperf: Add the new properties.
20317         * modules/unictype/property-byname (Depends-on): Depend on the new
20318         properties modules.
20319         * modules/unictype/property-all (Depends-on): Likewise.
20320         * MODULES.html.sh (Unicode string functions): Add
20321         unictype/property-case-ignorable, unictype/property-cased,
20322         unictype/property-changes-when-casefolded,
20323         unictype/property-changes-when-casemapped,
20324         unictype/property-changes-when-lowercased,
20325         unictype/property-changes-when-titlecased,
20326         unictype/property-changes-when-uppercased.
20327
20328         New module 'unictype/property-changes-when-casemapped'.
20329         * modules/unictype/property-changes-when-casemapped: New file.
20330         * lib/unictype/pr_changes_when_casemapped.c: New file.
20331         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
20332         generated by gen-uni-tables.
20333         * modules/unictype/property-changes-when-casemapped-tests: New file.
20334         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
20335         automatically generated by gen-uni-tables.
20336
20337         New module 'unictype/property-changes-when-casefolded'.
20338         * modules/unictype/property-changes-when-casefolded: New file.
20339         * lib/unictype/pr_changes_when_casefolded.c: New file.
20340         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
20341         generated by gen-uni-tables.
20342         * modules/unictype/property-changes-when-casefolded-tests: New file.
20343         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
20344         automatically generated by gen-uni-tables.
20345
20346         New module 'unictype/property-changes-when-titlecased'.
20347         * modules/unictype/property-changes-when-titlecased: New file.
20348         * lib/unictype/pr_changes_when_titlecased.c: New file.
20349         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
20350         generated by gen-uni-tables.
20351         * modules/unictype/property-changes-when-titlecased-tests: New file.
20352         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
20353         automatically generated by gen-uni-tables.
20354
20355         New module 'unictype/property-changes-when-uppercased'.
20356         * modules/unictype/property-changes-when-uppercased: New file.
20357         * lib/unictype/pr_changes_when_uppercased.c: New file.
20358         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
20359         generated by gen-uni-tables.
20360         * modules/unictype/property-changes-when-uppercased-tests: New file.
20361         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
20362         automatically generated by gen-uni-tables.
20363
20364         New module 'unictype/property-changes-when-lowercased'.
20365         * modules/unictype/property-changes-when-lowercased: New file.
20366         * lib/unictype/pr_changes_when_lowercased.c: New file.
20367         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
20368         generated by gen-uni-tables.
20369         * modules/unictype/property-changes-when-lowercased-tests: New file.
20370         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
20371         automatically generated by gen-uni-tables.
20372
20373         New module 'unictype/property-case-ignorable'.
20374         * modules/unictype/property-case-ignorable: New file.
20375         * lib/unictype/pr_case_ignorable.c: New file.
20376         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
20377         by gen-uni-tables.
20378         * modules/unictype/property-case-ignorable-tests: New file.
20379         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
20380         generated by gen-uni-tables.
20381
20382         New module 'unictype/property-cased'.
20383         * modules/unictype/property-cased: New file.
20384         * lib/unictype/pr_cased.c: New file.
20385         * lib/unictype/pr_cased.h: New file, automatically generated by
20386         gen-uni-tables.
20387         * modules/unictype/property-cased-tests: New file.
20388         * tests/unictype/test-pr_cased.c: New file, automatically generated by
20389         gen-uni-tables.
20390
20391 2011-01-09  Bruno Haible  <bruno@clisp.org>
20392
20393         Update to Unicode 5.2.0.
20394         * lib/gen-uni-tables.c (output_predicate, output_category,
20395         output_combclass, output_bidi_category, output_decimal_digit_test,
20396         output_decimal_digit, output_digit_test, output_digit,
20397         output_numeric_test, output_numeric, output_mirror, output_scripts,
20398         output_scripts_byname, output_blocks, output_ident_category): Fix
20399         comment header.
20400         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
20401         get_wbp.
20402         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
20403         items.
20404         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
20405         Changes_When_Lowercased, Changes_When_Uppercased,
20406         Changes_When_Titlecased, Changes_When_Casefolded,
20407         Changes_When_Casemapped.
20408         (is_property_alphabetic, is_property_default_ignorable_code_point):
20409         Update for Unicode 5.2.0.
20410         (is_property_cased, is_property_case_ignorable,
20411         is_property_changes_when_lowercased,
20412         is_property_changes_when_uppercased,
20413         is_property_changes_when_titlecased,
20414         is_property_changes_when_casefolded,
20415         is_property_changes_when_casemapped): New functions.
20416         (output_properties): Output also the properties cased, case_ignorable,
20417         changes_when_lowercased, changes_when_uppercased,
20418         changes_when_titlecased, changes_when_casefolded,
20419         changes_when_casemapped.
20420         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
20421         Unicode TR#11 revision 17 -> 19.
20422         (LBP_CP): New enumeration value.
20423         (LBP_*): Adjust values accordingly.
20424         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20425         TR#14 revision 22 -> 24.
20426         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
20427         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
20428         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20429         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
20430         is_WBP_MIDLETTER.
20431         (output_composition_tables): Allow for 24 bits instead of 16 bits in
20432         the code1 and code2 of each composition rule.
20433         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
20434         * lib/unicase/ignorable.h: Likewise.
20435         * lib/unicase/tocasefold.h: Likewise.
20436         * lib/unicase/tolower.h: Likewise.
20437         * lib/unicase/totitle.h: Likewise.
20438         * lib/unicase/toupper.h: Likewise.
20439         * lib/unictype/bidi_of.h: Likewise.
20440         * lib/unictype/blocks.h: Likewise.
20441         * lib/unictype/categ_C.h: Likewise.
20442         * lib/unictype/categ_Cf.h: Likewise.
20443         * lib/unictype/categ_Cn.h: Likewise.
20444         * lib/unictype/categ_L.h: Likewise.
20445         * lib/unictype/categ_Ll.h: Likewise.
20446         * lib/unictype/categ_Lm.h: Likewise.
20447         * lib/unictype/categ_Lo.h: Likewise.
20448         * lib/unictype/categ_Lu.h: Likewise.
20449         * lib/unictype/categ_M.h: Likewise.
20450         * lib/unictype/categ_Mc.h: Likewise.
20451         * lib/unictype/categ_Mn.h: Likewise.
20452         * lib/unictype/categ_N.h: Likewise.
20453         * lib/unictype/categ_Nd.h: Likewise.
20454         * lib/unictype/categ_Nl.h: Likewise.
20455         * lib/unictype/categ_No.h: Likewise.
20456         * lib/unictype/categ_P.h: Likewise.
20457         * lib/unictype/categ_Pd.h: Likewise.
20458         * lib/unictype/categ_Po.h: Likewise.
20459         * lib/unictype/categ_S.h: Likewise.
20460         * lib/unictype/categ_Sc.h: Likewise.
20461         * lib/unictype/categ_So.h: Likewise.
20462         * lib/unictype/categ_of.h: Likewise.
20463         * lib/unictype/combining.h: Likewise.
20464         * lib/unictype/ctype_alnum.h: Likewise.
20465         * lib/unictype/ctype_alpha.h: Likewise.
20466         * lib/unictype/ctype_graph.h: Likewise.
20467         * lib/unictype/ctype_lower.h: Likewise.
20468         * lib/unictype/ctype_print.h: Likewise.
20469         * lib/unictype/ctype_punct.h: Likewise.
20470         * lib/unictype/ctype_upper.h: Likewise.
20471         * lib/unictype/decdigit.h: Likewise.
20472         * lib/unictype/digit.h: Likewise.
20473         * lib/unictype/numeric.h: Likewise.
20474         * lib/unictype/pr_alphabetic.h: Likewise.
20475         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20476         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20477         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20478         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20479         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20480         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20481         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20482         * lib/unictype/pr_combining.h: Likewise.
20483         * lib/unictype/pr_composite.h: Likewise.
20484         * lib/unictype/pr_currency_symbol.h: Likewise.
20485         * lib/unictype/pr_dash.h: Likewise.
20486         * lib/unictype/pr_decimal_digit.h: Likewise.
20487         * lib/unictype/pr_deprecated.h: Likewise.
20488         * lib/unictype/pr_diacritic.h: Likewise.
20489         * lib/unictype/pr_extender.h: Likewise.
20490         * lib/unictype/pr_grapheme_base.h: Likewise.
20491         * lib/unictype/pr_grapheme_extend.h: Likewise.
20492         * lib/unictype/pr_grapheme_link.h: Likewise.
20493         * lib/unictype/pr_id_continue.h: Likewise.
20494         * lib/unictype/pr_id_start.h: Likewise.
20495         * lib/unictype/pr_ideographic.h: Likewise.
20496         * lib/unictype/pr_ignorable_control.h: Likewise.
20497         * lib/unictype/pr_logical_order_exception.h: Likewise.
20498         * lib/unictype/pr_lowercase.h: Likewise.
20499         * lib/unictype/pr_numeric.h: Likewise.
20500         * lib/unictype/pr_other_alphabetic.h: Likewise.
20501         * lib/unictype/pr_punctuation.h: Likewise.
20502         * lib/unictype/pr_sentence_terminal.h: Likewise.
20503         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20504         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20505         * lib/unictype/pr_unified_ideograph.h: Likewise.
20506         * lib/unictype/pr_uppercase.h: Likewise.
20507         * lib/unictype/pr_xid_continue.h: Likewise.
20508         * lib/unictype/pr_xid_start.h: Likewise.
20509         * lib/unictype/pr_zero_width.h: Likewise.
20510         * lib/unictype/scripts.h: Likewise.
20511         * lib/unictype/scripts_byname.gperf: Likewise.
20512         * lib/unictype/sy_java_ident.h: Likewise.
20513         * lib/unigbrk/gbrkprop.h: Likewise.
20514         * lib/unilbrk/lbrkprop1.h: Likewise.
20515         * lib/unilbrk/lbrkprop2.h: Likewise.
20516         * lib/unilbrk/lbrktables.h: Likewise.
20517         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
20518         LBP_CP. Implement rule LB30.
20519         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
20520         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
20521         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
20522         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
20523         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
20524         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
20525         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
20526         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
20527         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
20528         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
20529         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
20530         bits instead of 16 bits in the code1 and code2 of each composition
20531         rule.
20532         (uc_composition): Update for Unicode 5.2.0.
20533         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
20534         * lib/uninorm/decomposition-table2.h: Likewise.
20535         * lib/uniwbrk/wbrkprop.h: Likewise.
20536         * tests/unicase/test-cased.c: Likewise.
20537         * tests/unicase/test-ignorable.c: Likewise.
20538         * tests/unicase/test-uc_tolower.c: Likewise.
20539         * tests/unicase/test-uc_totitle.c: Likewise.
20540         * tests/unicase/test-uc_toupper.c: Likewise.
20541         * tests/unictype/test-categ_C.c: Likewise.
20542         * tests/unictype/test-categ_Cf.c: Likewise.
20543         * tests/unictype/test-categ_Cn.c: Likewise.
20544         * tests/unictype/test-categ_L.c: Likewise.
20545         * tests/unictype/test-categ_Ll.c: Likewise.
20546         * tests/unictype/test-categ_Lm.c: Likewise.
20547         * tests/unictype/test-categ_Lo.c: Likewise.
20548         * tests/unictype/test-categ_Lu.c: Likewise.
20549         * tests/unictype/test-categ_M.c: Likewise.
20550         * tests/unictype/test-categ_Mc.c: Likewise.
20551         * tests/unictype/test-categ_Mn.c: Likewise.
20552         * tests/unictype/test-categ_N.c: Likewise.
20553         * tests/unictype/test-categ_Nd.c: Likewise.
20554         * tests/unictype/test-categ_Nl.c: Likewise.
20555         * tests/unictype/test-categ_No.c: Likewise.
20556         * tests/unictype/test-categ_P.c: Likewise.
20557         * tests/unictype/test-categ_Pd.c: Likewise.
20558         * tests/unictype/test-categ_Po.c: Likewise.
20559         * tests/unictype/test-categ_S.c: Likewise.
20560         * tests/unictype/test-categ_Sc.c: Likewise.
20561         * tests/unictype/test-categ_So.c: Likewise.
20562         * tests/unictype/test-ctype_alnum.c: Likewise.
20563         * tests/unictype/test-ctype_alpha.c: Likewise.
20564         * tests/unictype/test-ctype_graph.c: Likewise.
20565         * tests/unictype/test-ctype_lower.c: Likewise.
20566         * tests/unictype/test-ctype_print.c: Likewise.
20567         * tests/unictype/test-ctype_punct.c: Likewise.
20568         * tests/unictype/test-ctype_upper.c: Likewise.
20569         * tests/unictype/test-decdigit.h: Likewise.
20570         * tests/unictype/test-digit.h: Likewise.
20571         * tests/unictype/test-numeric.h: Likewise.
20572         * tests/unictype/test-pr_alphabetic.c: Likewise.
20573         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20574         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20575         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20576         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20577         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20578         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20579         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20580         * tests/unictype/test-pr_combining.c: Likewise.
20581         * tests/unictype/test-pr_composite.c: Likewise.
20582         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20583         * tests/unictype/test-pr_dash.c: Likewise.
20584         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20585         * tests/unictype/test-pr_deprecated.c: Likewise.
20586         * tests/unictype/test-pr_diacritic.c: Likewise.
20587         * tests/unictype/test-pr_extender.c: Likewise.
20588         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20589         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20590         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20591         * tests/unictype/test-pr_id_continue.c: Likewise.
20592         * tests/unictype/test-pr_id_start.c: Likewise.
20593         * tests/unictype/test-pr_ideographic.c: Likewise.
20594         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20595         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20596         * tests/unictype/test-pr_lowercase.c: Likewise.
20597         * tests/unictype/test-pr_numeric.c: Likewise.
20598         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20599         * tests/unictype/test-pr_punctuation.c: Likewise.
20600         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20601         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20602         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20603         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20604         * tests/unictype/test-pr_uppercase.c: Likewise.
20605         * tests/unictype/test-pr_xid_continue.c: Likewise.
20606         * tests/unictype/test-pr_xid_start.c: Likewise.
20607         * tests/unictype/test-pr_zero_width.c: Likewise.
20608         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20609         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
20610         changed behaviour: line breaking is now disallowed between a letter
20611         or '=' and '('.
20612         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20613         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20614         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
20615         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
20616         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20617         lib/uniwidth/width.c.
20618         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
20619         without comments, but with the original copyright notice.
20620         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20621         changes.
20622         * lib/unictype/categ_Cc.h: Likewise.
20623         * lib/unictype/categ_Co.h: Likewise.
20624         * lib/unictype/categ_Cs.h: Likewise.
20625         * lib/unictype/categ_Lt.h: Likewise.
20626         * lib/unictype/categ_Me.h: Likewise.
20627         * lib/unictype/categ_Pc.h: Likewise.
20628         * lib/unictype/categ_Pe.h: Likewise.
20629         * lib/unictype/categ_Pf.h: Likewise.
20630         * lib/unictype/categ_Pi.h: Likewise.
20631         * lib/unictype/categ_Ps.h: Likewise.
20632         * lib/unictype/categ_Sk.h: Likewise.
20633         * lib/unictype/categ_Sm.h: Likewise.
20634         * lib/unictype/categ_Z.h: Likewise.
20635         * lib/unictype/categ_Zl.h: Likewise.
20636         * lib/unictype/categ_Zp.h: Likewise.
20637         * lib/unictype/categ_Zs.h: Likewise.
20638         * lib/unictype/ctype_blank.h: Likewise.
20639         * lib/unictype/ctype_cntrl.h: Likewise.
20640         * lib/unictype/ctype_digit.h: Likewise.
20641         * lib/unictype/ctype_space.h: Likewise.
20642         * lib/unictype/ctype_xdigit.h: Likewise.
20643         * lib/unictype/mirror.h: Likewise.
20644         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20645         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20646         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20647         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20648         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20649         * lib/unictype/pr_bidi_control.h: Likewise.
20650         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20651         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20652         * lib/unictype/pr_bidi_pdf.h: Likewise.
20653         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20654         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20655         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20656         * lib/unictype/pr_format_control.h: Likewise.
20657         * lib/unictype/pr_hex_digit.h: Likewise.
20658         * lib/unictype/pr_hyphen.h: Likewise.
20659         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20660         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20661         * lib/unictype/pr_iso_control.h: Likewise.
20662         * lib/unictype/pr_join_control.h: Likewise.
20663         * lib/unictype/pr_left_of_pair.h: Likewise.
20664         * lib/unictype/pr_line_separator.h: Likewise.
20665         * lib/unictype/pr_math.h: Likewise.
20666         * lib/unictype/pr_non_break.h: Likewise.
20667         * lib/unictype/pr_not_a_character.h: Likewise.
20668         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20669         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20670         * lib/unictype/pr_other_id_continue.h: Likewise.
20671         * lib/unictype/pr_other_id_start.h: Likewise.
20672         * lib/unictype/pr_other_lowercase.h: Likewise.
20673         * lib/unictype/pr_other_math.h: Likewise.
20674         * lib/unictype/pr_other_uppercase.h: Likewise.
20675         * lib/unictype/pr_paired_punctuation.h: Likewise.
20676         * lib/unictype/pr_paragraph_separator.h: Likewise.
20677         * lib/unictype/pr_pattern_syntax.h: Likewise.
20678         * lib/unictype/pr_pattern_white_space.h: Likewise.
20679         * lib/unictype/pr_private_use.h: Likewise.
20680         * lib/unictype/pr_quotation_mark.h: Likewise.
20681         * lib/unictype/pr_radical.h: Likewise.
20682         * lib/unictype/pr_soft_dotted.h: Likewise.
20683         * lib/unictype/pr_space.h: Likewise.
20684         * lib/unictype/pr_titlecase.h: Likewise.
20685         * lib/unictype/pr_variation_selector.h: Likewise.
20686         * lib/unictype/pr_white_space.h: Likewise.
20687         * lib/unictype/sy_c_ident.h: Likewise.
20688         * lib/unictype/sy_c_whitespace.h: Likewise.
20689         * lib/unictype/sy_java_whitespace.h: Likewise.
20690         * modules/uni*/*: Bump version number of expected libunistring version.
20691         Reported by Simon Josefsson.
20692
20693 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20694
20695         useless-if-before-free: fix typo in --help and make the internal,
20696         automatic version date update process work once again.
20697         --help output contained a NUL character instead of the
20698         backslash-zero that was intended.  Also, the "must lie within
20699         the first 8 lines" line is on line 9, and hence not getting
20700         automatically updated.
20701         * build-aux/useless-if-before-free: Fix the former by adding a
20702         backslash, and the latter by condensing the three lines of what-it-does
20703         to a single line, leaving one line of slack for the future.
20704
20705 2011-01-09  Bruno Haible  <bruno@clisp.org>
20706
20707         uniwidth/width: Fix width of U+1D173..U+1D17A.
20708         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20709         symbolic_width, output_width_property_test): New functions.
20710         (main): Invoke output_nonspacing_property, output_width_property_test.
20711         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20712         U+1D173..U+1D17A.
20713         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20714         1.
20715         * modules/uniwidth/*: Bump version number of expected libunistring
20716         version.
20717         * modules/unilbrk/*: Likewise.
20718
20719 2011-01-08  Bruno Haible  <bruno@clisp.org>
20720
20721         uninorm tests: Preserve copyright of Unicode data file.
20722         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20723         Mention modifications.
20724
20725 2011-01-08  Bruno Haible  <bruno@clisp.org>
20726
20727         gen-uni-tables: Prepare for Unicode 5.2.0.
20728         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20729         (debug_output_lbp, output_lbp): Update.
20730
20731 2011-01-08  Bruno Haible  <bruno@clisp.org>
20732
20733         unilbrk: Clarify gen-uni-tables.c code.
20734         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20735         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20736         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20737
20738 2011-01-07  Bruno Haible  <bruno@clisp.org>
20739
20740         strtod: Restore errno when successfully parsing Infinity or NaN.
20741         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20742         restore the original errno.
20743
20744 2011-01-07  Bruno Haible  <bruno@clisp.org>
20745
20746         remove test: Avoid failure on HP-UX 11.
20747         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20748
20749 2011-01-07  Bruno Haible  <bruno@clisp.org>
20750
20751         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20752         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20753         error code.
20754
20755 2011-01-07  Pádraig Brady <P@draigBrady.com>
20756
20757         ignore-value: fixup comments, and add Eric Blake
20758         as an author since he rewrote the macros.
20759         * lib/ignore-value.h (ignore_value):  State that
20760         we now support aggregates.  Also specify exactly
20761         when the GCC warn_unused_result feature was added.
20762
20763 2011-01-06  Eric Blake  <eblake@redhat.com>
20764
20765         ignore-value: support aggregate types
20766         * lib/ignore-value.h (ignore_value): Provide separate gcc
20767         definition.
20768         * modules/ignore-value-tests: New test module.
20769         * tests/test-ignore-value.c: New test.
20770
20771         maint.mk: improve sc_prohibit_strcmp regex
20772         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20773         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20774         definition of STRNEQ.
20775
20776         signal: work around Haiku issue with SIGBUS
20777         * lib/siglist.h: Add comment.
20778         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20779         strsignal's favoring of SIGSEGV.
20780         * tests/test-signal.c (main): Avoid test failure.
20781         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20782         Reported by Scott McCreary.
20783
20784         maint.mk: add pre-release check to ensure submodule commits are public
20785         * top/maint.mk (public-submodule-commit): New rule.
20786         (submodule-checks): New variable.
20787         (alpha beta stable): Depend on the variable.
20788
20789 2011-01-05  Pádraig Brady <P@draigBrady.com>
20790         and Jim Meyering  <meyering@redhat.com>
20791
20792         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20793         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20794         (ATTRIBUTE_DEPRECATED): Define.
20795         (_ignore_case): New function.
20796         (ignore_value): New macro, to replace the old function.
20797         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20798         * modules/ignore-value (Depends-on): Add stdint.
20799
20800 2011-01-04  Eric Blake  <eblake@redhat.com>
20801
20802         doc: regenerate INSTALL
20803         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20804         @firstparagraphindent support, now that autoconf dropped it.
20805         (INSTALL_PRELUDE): Reinstate old macro.
20806         * doc/install.texi: Resync from autoconf.
20807         * doc/INSTALL: Reflect recent autoconf update.
20808         * doc/INSTALL.ISO: Likewise.
20809         * doc/INSTALL.UTF-8: Likewise.
20810         Reported by Karl Berry.
20811
20812 2011-01-04  Bruce Korb  <address@hidden>
20813
20814         git-version-gen: avoid a sub-shell
20815         * build-aux/git-version-gen: Redirect stderr in `...` via
20816         "exec 2>...", rather than via an added sub-shell.
20817
20818 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20819
20820         git-version-gen: use (...) rather than sh -c '...'
20821         * build-aux/git-version-gen: Rather than hard-coding a shell's name
20822         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
20823
20824 2011-01-03  Jim Meyering  <meyering@redhat.com>
20825
20826         git-version-gen: convert leading TABs to spaces
20827         * build-aux/git-version-gen: Expand leading TABs.
20828
20829         git-version-gen: handle failed "git rev-list"
20830         * build-aux/git-version-gen: Rather than leaking a "fatal" error
20831         from git and proceeding as if it had succeeded but printed no SHA1
20832         checksums, suppress the diagnostic and handle the failure.
20833         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
20834
20835         git-version-gen: include command name in one more diagnostic
20836         * build-aux/git-version-gen: When the required .tarball-version file
20837         was missing or unreadable, you might see the diagnostic from "cat",
20838         but no trace of the name of the invoking script.  Now, you still see
20839         the diagnostic from cat, but also get one from "git-version-gen: ".
20840         Inspired by a patch from Bruce Korb.
20841
20842         update-copyright: adjust test to match changed code
20843         * tests/test-update-copyright.sh: Change test's expected output
20844         to match new actual output.
20845
20846 2011-01-02  Bruno Haible  <bruno@clisp.org>
20847
20848         getlogin_r: Avoid test failure on HP-UX 11.
20849         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20850         ERANGE when the second argument is zero.
20851         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20852         portability problem.
20853
20854 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20855
20856         * build-aux/update-copyright: doc Simon's changes
20857
20858 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20859
20860         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20861         environment variable.
20862
20863 2011-01-02  Bruno Haible  <bruno@clisp.org>
20864
20865         unigbrk: Avoid gcc warnings.
20866         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20867         unused variable.
20868         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20869         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20870         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20871         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20872         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20873         Change type of first argument to 'const char *'.
20874         (main): Remove unused variable.
20875         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20876         type of first argument to 'const char *'.
20877         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20878         Likewise.
20879         (main): Change type of variable 's'.
20880         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20881         to 'int'.
20882
20883 2011-01-02  Bruno Haible  <bruno@clisp.org>
20884
20885         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20886         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20887         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20888         bug.
20889         * lib/pwrite.c: Undo 2010-12-31 patch.
20890         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20891
20892 2011-01-02  Bruno Haible  <bruno@clisp.org>
20893
20894         pread: Fix test whether it works.
20895         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20896
20897 2011-01-02  Bruno Haible  <bruno@clisp.org>
20898
20899         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20900         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20901         ends in "6". Don't require a specific month name. Try also the locale
20902         names found on HP-UX 11 and Solaris 7.
20903
20904 2011-01-02  Bruno Haible  <bruno@clisp.org>
20905
20906         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20907         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20908         C linkage.
20909         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20910
20911 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20912
20913         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20914         for consistency, since the "cluster" term is not used elsewhere.
20915         * lib/unigbrk.in.h: Update name.
20916         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20917         * lib/unigbrk/u16-grapheme-next.c: Update name.
20918         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20919         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20920         * lib/unigbrk/u32-grapheme-next.c: Update name.
20921         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20922         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20923         * lib/unigbrk/u8-grapheme-next.c: Update name.
20924         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20925         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20926         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20927         Suggested by Bruno Haible.
20928
20929 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20930
20931         Remove module 'u8-grapheme-len' as too redundant with
20932         'u8-grapheme-next'.
20933         * modules/unigbrk/u8-grapheme-len: Delete file.
20934         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20935         * lib/unigbrk.in.h: Remove prototype for deleted function.
20936         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20937         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20938
20939         Remove module 'u16-grapheme-len' as too redundant with
20940         'u16-grapheme-next'.
20941         * modules/unigbrk/u16-grapheme-len: Delete file.
20942         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20943         * lib/unigbrk.in.h: Remove prototype for deleted function.
20944         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20945         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20946
20947         Remove module 'u32-grapheme-len' as too redundant with
20948         'u32-grapheme-next'.
20949         * modules/unigbrk/u32-grapheme-len: Delete file.
20950         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20951         * lib/unigbrk.in.h: Remove prototype for deleted function.
20952         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20953         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20954
20955         Suggested by Bruno Haible.
20956
20957 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20958
20959         * unigbrk.in.h: Fix typo: "ben" => "been".
20960         Reported by Bruno Haible.
20961
20962 2011-01-01  Jim Meyering  <meyering@redhat.com>
20963
20964         maint: update almost all copyright ranges to include 2011
20965         Run the new "make update-copyright" rule.
20966
20967 2011-01-01  Jim Meyering  <meyering@redhat.com>
20968
20969         maint: update-copyright: exempt doc/INSTALL*
20970         * Makefile (update-copyright): Also exclude doc/INSTALL*,
20971         since they are generated.  Suggested by Bruno Haible.
20972
20973 2011-01-01  Jim Meyering  <meyering@redhat.com>
20974
20975         maint: refine the update-copyright rule
20976         * Makefile (update-copyright): Also exclude any file that includes
20977         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
20978         code that merely generates the comment.
20979
20980 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20981
20982         New module 'u8-grapheme-len'.
20983         * modules/unigbrk/u8-grapheme-len: New file.
20984         * modules/unigbrk/u8-grapheme-len-tests: New file.
20985         * lib/unigbrk.in.h: Add prototype for new function.
20986         * lib/unigbrk/u8-grapheme-len.c: New file.
20987         * tests/unigbrk/test-u8-grapheme-len.c: New file.
20988
20989         New module 'u16-grapheme-len'.
20990         * modules/unigbrk/u16-grapheme-len: New file.
20991         * modules/unigbrk/u16-grapheme-len-tests: New file.
20992         * lib/unigbrk.in.h: Add prototype for new function.
20993         * lib/unigbrk/u16-grapheme-len.c: New file.
20994         * tests/unigbrk/test-u16-grapheme-len.c: New file.
20995
20996         New module 'u32-grapheme-len'.
20997         * modules/unigbrk/u32-grapheme-len: New file.
20998         * modules/unigbrk/u32-grapheme-len-tests: New file.
20999         * lib/unigbrk.in.h: Add prototype for new function.
21000         * lib/unigbrk/u32-grapheme-len.c: New file.
21001         * tests/unigbrk/test-u32-grapheme-len.c: New file.
21002
21003         New module 'u8-grapheme-next'.
21004         * modules/unigbrk/u8-grapheme-next: New file.
21005         * modules/unigbrk/u8-grapheme-next-tests: New file.
21006         * lib/unigbrk.in.h: Add prototype for new function.
21007         * lib/unigbrk/u8-grapheme-next.c: New file.
21008         * tests/unigbrk/test-u8-grapheme-next.c: New file.
21009
21010         New module 'u16-grapheme-next'.
21011         * modules/unigbrk/u16-grapheme-next: New file.
21012         * modules/unigbrk/u16-grapheme-next-tests: New file.
21013         * lib/unigbrk.in.h: Add prototype for new function.
21014         * lib/unigbrk/u16-grapheme-next.c: New file.
21015         * tests/unigbrk/test-u16-grapheme-next.c: New file.
21016
21017         New module 'u32-grapheme-next'.
21018         * modules/unigbrk/u32-grapheme-next: New file.
21019         * modules/unigbrk/u32-grapheme-next-tests: New file.
21020         * lib/unigbrk.in.h: Add prototype for new function.
21021         * lib/unigbrk/u32-grapheme-next.c: New file.
21022         * tests/unigbrk/test-u32-grapheme-next.c: New file.
21023
21024         New module 'u8-grapheme-prev'.
21025         * modules/unigbrk/u8-grapheme-prev: New file.
21026         * modules/unigbrk/u8-grapheme-prev-tests: New file.
21027         * lib/unigbrk.in.h: Add prototype for new function.
21028         * lib/unigbrk/u8-grapheme-prev.c: New file.
21029         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
21030
21031         New module 'u16-grapheme-prev'.
21032         * modules/unigbrk/u16-grapheme-prev: New file.
21033         * modules/unigbrk/u16-grapheme-prev-tests: New file.
21034         * lib/unigbrk.in.h: Add prototype for new function.
21035         * lib/unigbrk/u16-grapheme-prev.c: New file.
21036         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
21037
21038         New module 'u32-grapheme-prev'.
21039         * modules/unigbrk/u32-grapheme-prev: New file.
21040         * modules/unigbrk/u32-grapheme-prev-tests: New file.
21041         * lib/unigbrk.in.h: Add prototype for new function.
21042         * lib/unigbrk/u32-grapheme-prev.c: New file.
21043         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
21044
21045         New module 'u8-grapheme-breaks'.
21046         * modules/unigbrk/u8-grapheme-breaks: New file.
21047         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
21048         * lib/unigbrk.in.h: Add prototype for new function.
21049         * lib/unigbrk/u8-grapheme-breaks.c: New file.
21050         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
21051
21052         New module 'u16-grapheme-breaks'.
21053         * modules/unigbrk/u16-grapheme-breaks: New file.
21054         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
21055         * lib/unigbrk.in.h: Add prototype for new function.
21056         * lib/unigbrk/u16-grapheme-breaks.c: New file.
21057         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
21058
21059         New module 'u32-grapheme-breaks'.
21060         * modules/unigbrk/u32-grapheme-breaks: New file.
21061         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
21062         * lib/unigbrk.in.h: Add prototype for new function.
21063         * lib/unigbrk/u32-grapheme-breaks.c: New file.
21064         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
21065
21066         New module 'ulc-grapheme-breaks'.
21067         * modules/unigbrk/ulc-grapheme-breaks: New file.
21068         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
21069         * m4/locale-ar.m4: New file.
21070         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
21071         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
21072         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
21073
21074 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21075
21076         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
21077         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
21078         modified how this file was generated before I initially submitted
21079         the module, but failed to regenerate it.  This meant that several
21080         of the level2 entries were wrong.
21081         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
21082         Remove the division-by-2 that is folded into the table now that
21083         gbrkprop.h has been regenerated properly.  Now -1 entries are
21084         handled correctly.
21085
21086         New module 'unigbrk/uc-gbrk-prop-tests'.
21087         * modules/unigbrk/uc-gbrk-prop-tests: New file.
21088         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
21089         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
21090         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
21091
21092 2011-01-01  Bruno Haible  <bruno@clisp.org>
21093
21094         Avoid use of hexadecimal escapes.
21095         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
21096         instead of hexadecimal escapes.
21097
21098 2011-01-01  Jim Meyering  <meyering@redhat.com>
21099
21100         maint: new rule to update copyright year ranges
21101         * Makefile (update-copyright): New rule.
21102
21103         maint: indent with TABs in Makefile
21104         * Makefile: Expand leading sequences of spaces to TABs
21105
21106         version-etc: update the copyright year it reports
21107         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
21108
21109 2010-12-31  Bruno Haible  <bruno@clisp.org>
21110
21111         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
21112         * lib/isfinite.c (zerof, zerod, zerol): New variables.
21113         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
21114         zero.
21115
21116 2010-12-31  Bruno Haible  <bruno@clisp.org>
21117
21118         pwrite: Work around HP-UX 11.11 bug.
21119         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
21120         works and set REPLACE_PWRITE if not.
21121         * lib/pwrite.c (pwrite): Add an implementation that uses the system
21122         function.
21123         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
21124
21125 2010-12-31  Bruno Haible  <bruno@clisp.org>
21126
21127         pread: Work around HP-UX 11 bugs.
21128         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
21129         and set REPLACE_PREAD if not.
21130         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
21131
21132 2010-12-31  Eric Blake  <eblake@redhat.com>
21133
21134         nl_langinfo: fix YESEXPR on Irix 6.5
21135         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
21136         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
21137         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
21138         it.
21139
21140 2010-12-31  Bruno Haible  <bruno@clisp.org>
21141
21142         iconv: Document HP-UX 11 bug.
21143         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
21144
21145 2010-12-31  Bruno Haible  <bruno@clisp.org>
21146
21147         ldexpl: Fix link error on HP-UX 11.
21148         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
21149         LDEXPL_LIBM, using $ISNANL_LIBM.
21150
21151 2010-12-31  Eric Blake  <eblake@redhat.com>
21152
21153         ftello: avoid compilation failure with SunStudio c89
21154         * lib/ftello.c (ftello): Use lseek, not llseek.
21155
21156         tests: avoid failing coreutils tests on cygwin
21157         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
21158         (create_exe_shims_): Return 0 when skipping.
21159
21160 2010-12-31  Bruno Haible  <bruno@clisp.org>
21161
21162         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
21163         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
21164
21165 2010-12-31  Bruno Haible  <bruno@clisp.org>
21166
21167         waitpid: Fix link error in C++ mode.
21168         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
21169
21170 2010-12-31  Bruno Haible  <bruno@clisp.org>
21171
21172         isnan: Use GCC built-ins when possible.
21173         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
21174         __builtin_isnan.
21175         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
21176         (isnan): Define using GCC built-ins for GCC >= 4.0.
21177
21178 2010-12-31  Bruno Haible  <bruno@clisp.org>
21179
21180         isnand: Fix mistake.
21181         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
21182         __builtin_isnand.
21183
21184 2010-12-31  Bruno Haible  <bruno@clisp.org>
21185
21186         open: Avoid C++ error on HP-UX 11.
21187         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
21188
21189 2010-12-31  Bruno Haible  <bruno@clisp.org>
21190
21191         time_r: Add missing declarations on HP-UX 11.
21192         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
21193         instead of HAVE_LOCALTIME_R.
21194         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
21195         HAVE_LOCALTIME_R always.
21196         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
21197         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
21198         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
21199         HAVE_LOCALTIME_R.
21200         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
21201         * doc/posix-functions/localtime_r.texi: Likewise.
21202
21203 2010-12-29  Eric Blake  <eblake@redhat.com>
21204
21205         mountlist: tweak previous commit
21206         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
21207         Reported by Paul Eggert.
21208
21209         mountlist: fix local drive detection on cygwin
21210         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
21211         that works for cygwin.
21212
21213 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
21214
21215         ftoastr, snprintf: ftoastr + snprintf module
21216         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
21217         since the snprintf module now should be good enough here.
21218         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
21219         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
21220         and gl_MODULE_INDICATOR([snprintf]), but the former enables
21221         GNULIB_SNPRINTF only for the test directory, and the latter
21222         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
21223         seems to suffice by itself.
21224
21225 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21226
21227         alloca: one step towards thread-safety
21228         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
21229         need for a static variable.  All callers changed.  This does not
21230         make the alloca replacement thread-safe, but it's one step.
21231
21232         tests: minor indenting change
21233         * tests/init.sh: Sync from coreutils housekeeping patch
21234         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
21235         to keep lines within 80 columns.
21236
21237 2010-12-28  Jim Meyering  <meyering@redhat.com>
21238
21239         regex: don't infloop on persistent failing calloc
21240         * lib/regexec.c (build_trtable): Return failure indication upon
21241         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
21242         In glibc, this was fixed for version 2.13:
21243         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
21244
21245 2010-12-28  Bruno Haible  <bruno@clisp.org>
21246             Paul Eggert <eggert@cs.ucla.edu>
21247
21248         linkat: Make implementation robust against system behaviour variations.
21249         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
21250         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
21251         way, and to -2 if it needs a generic runtime test.
21252         * lib/linkat.c (solaris_optimized_link_immediate,
21253         solaris_optimized_link_follow): New functions.
21254         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
21255         (check_same_link): Use it.
21256
21257 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
21258
21259         New module 'unigbrk/base'.
21260         * modules/unigbrk/base: New file.
21261         * lib/unigbrk.in.h: New file.
21262
21263         New module 'unigbrk/uc-gbrk-prop'.
21264         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
21265         * modules/unigbrk/uc-gbrk-prop: New file.
21266         * lib/unigbrk/gbrkprop.h: New file.
21267         * lib/unigbrk/uc-gbrk-prop.c: New file.
21268
21269         New module 'unigbrk/uc-is-grapheme-break'.
21270         * modules/unigbrk/uc-is-grapheme-break: New file.
21271         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
21272         * lib/unigbrk/uc-is-grapheme-break.c: New file.
21273         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
21274         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
21275         * tests/unigbrk/GraphemeBreakTest.txt: New file.
21276
21277         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
21278
21279 2010-12-27  Bruno Haible  <bruno@clisp.org>
21280
21281         linkat test: Avoid failure on Solaris 11 2010-11.
21282         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
21283
21284 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21285
21286         utimens: work around glibc rounding bug on more platforms
21287         * lib/utimens.c (fdutimens): Work around rounding bug even if
21288         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
21289         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
21290
21291 2010-12-27  Bruno Haible  <bruno@clisp.org>
21292
21293         select tests: Improve comments.
21294         * tests/test-select.c (do_select): Add comments.
21295
21296 2010-12-27  Bruno Haible  <bruno@clisp.org>
21297
21298         select tests: Safer way of handling timeout.
21299         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
21300         at every invocation.
21301
21302 2010-12-27  Bruno Haible  <bruno@clisp.org>
21303
21304         select tests: Use 'bool' where appropriate.
21305         * tests/test-select.c (connect_to_socket): Change argument type to
21306         'bool'.
21307
21308 2010-12-27  Bruno Haible  <bruno@clisp.org>
21309
21310         select tests: Use existing modules.
21311         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
21312         (configure.ac): Don't test for unistd.h.
21313         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
21314         declared in <unistd.h>.
21315
21316 2010-12-27  Bruno Haible  <bruno@clisp.org>
21317
21318         mbrtowc: Work around a Solaris 7 bug.
21319         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
21320         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
21321         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
21322         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
21323         MBRTOWC_NULL_ARG1_BUG.
21324         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
21325         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
21326         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
21327         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
21328
21329 2010-12-27  Jim Meyering  <meyering@redhat.com>
21330
21331         read-file.c: tweak syntax
21332         * lib/read-file.c (fread_file): Remove space after "*" in function
21333         definitions.
21334
21335 2010-12-27  Bruno Haible  <bruno@clisp.org>
21336
21337         times test: Avoid gcc warnings on OSF/1.
21338         * tests/test-times.c (main): Cast printf arguments from clock_t to
21339         'long int'.
21340
21341 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21342
21343         utimens: work around glibc rounding bug on older Linux kernels
21344         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
21345         on Linux with a glibc whose utimes might not work, then work
21346         around a longstanding glibc bug involving rounding rather than
21347         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
21348         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21349
21350 2010-12-26  Bruno Haible  <bruno@clisp.org>
21351
21352         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
21353         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
21354         _GL_CXXALIAS_SYS.
21355         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21356
21357 2010-12-26  Bruno Haible  <bruno@clisp.org>
21358
21359         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
21360         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
21361         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21362         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
21363         looking for the declaration.
21364         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
21365         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
21366         problem.
21367         * doc/posix-functions/inet_pton.texi: Likewise.
21368
21369 2010-12-26  Bruno Haible  <bruno@clisp.org>
21370
21371         arpa_inet: Use the common idioms with C++ support.
21372         * lib/arpa_inet.in.h: Include c++defs.h.
21373         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
21374         support.
21375         * modules/arpa_inet (Depends-on): Add c++defs.
21376         (Makefile.am): Substitute the contents of c++defs.h.
21377         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
21378         * modules/arpa_inet-c++-tests: New file.
21379         * tests/test-arpa_inet-c++.cc: New file.
21380
21381 2010-12-25  Bruno Haible  <bruno@clisp.org>
21382
21383         Fix more C++ link errors on Solaris 8.
21384         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
21385         $(LIB_EACCESS).
21386         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
21387         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
21388         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
21389         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
21390         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
21391
21392 2010-12-25  Bruno Haible  <bruno@clisp.org>
21393
21394         printf-posix: Fix link error when a non-GCC compiler is used.
21395         * lib/stdio.in.h (printf): When not using GCC, override printf
21396         correctly.
21397         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21398
21399 2010-12-25  Bruno Haible  <bruno@clisp.org>
21400
21401         strerror_r-posix: Update doc.
21402         * doc/posix-functions/strerror_r.texi: Update doc about the return
21403         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
21404
21405 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
21406
21407         utimens: simplify the logic of the previous change
21408         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
21409         This should not affect whether the test succeeds or fails.
21410
21411         utimens: configure better on hosts with NFS clock skew
21412         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
21413         uses the clock of the local host.  It might use the clock of the
21414         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
21415         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21416
21417 2010-12-25  Bruno Haible  <bruno@clisp.org>
21418
21419         ptsname test: Avoid failure on Solaris.
21420         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
21421         open a pseudo-terminal; don't use BSD-style ptys.
21422         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
21423
21424 2010-12-25  Bruno Haible  <bruno@clisp.org>
21425
21426         ptsname: Avoid ERANGE failure on some systems.
21427         * lib/ptsname.c (buffer): Increase size.
21428
21429 2010-12-25  Bruno Haible  <bruno@clisp.org>
21430
21431         rename, renameat: Avoid test failures at NFS mounted locations.
21432         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
21433         so that subsequent mkdir calls succeed.
21434
21435 2010-12-25  Bruno Haible  <bruno@clisp.org>
21436
21437         iswblank: Fix C++ link error on Solaris 8.
21438         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
21439         _GL_FUNCDECL_SYS.
21440
21441 2010-12-25  Bruno Haible  <bruno@clisp.org>
21442
21443         unistd: Fix C++ link error on Solaris 8.
21444         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
21445
21446 2010-12-25  Bruno Haible  <bruno@clisp.org>
21447
21448         readlink doc: Mention an old glibc bug.
21449         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
21450
21451 2010-12-25  Bruno Haible  <bruno@clisp.org>
21452
21453         fcntl-h: Fix for use of C++ on glibc systems.
21454         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21455         also on glibc systems in C++ mode.
21456         Reported by Gary V. Vaughan <gary@gnu.org>.
21457
21458 2010-12-25  Bruno Haible  <bruno@clisp.org>
21459
21460         roundl-ieee: Make it work on OSF/1 5.1 with cc.
21461         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
21462
21463 2010-12-25  Bruno Haible  <bruno@clisp.org>
21464
21465         truncl-ieee: Make it work on OSF/1 5.1 with cc.
21466         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
21467         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
21468         test whether truncl works according to ISO C 99 with IEC 60559.
21469         * m4/truncl-ieee.m4: New file.
21470         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
21471         m4/signbit.m4.
21472         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
21473
21474 2010-12-25  Bruno Haible  <bruno@clisp.org>
21475
21476         ceill-ieee: Make it work on OSF/1 5.1 with cc.
21477         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
21478         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
21479         test whether ceill works according to ISO C 99 with IEC 60559.
21480         * m4/ceill-ieee.m4: New file.
21481         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
21482         m4/signbit.m4.
21483         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
21484
21485 2010-12-25  Bruno Haible  <bruno@clisp.org>
21486
21487         Ensure all prerequisites of <wchar.h> are included.
21488         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
21489         before <wchar.h>.
21490         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21491         gl_MBRLEN_NUL_RETVAL): Likewise.
21492         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21493         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
21494         AC_FUNC_MBRTOWC): Likewise.
21495         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21496         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21497         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21498         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21499         Likewise.
21500         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21501         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
21502         (gl_WCHAR_H): Improve comments.
21503         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21504
21505 2010-12-25  Bruno Haible  <bruno@clisp.org>
21506
21507         strtok_r: Fix C syntax error in autoconf macro.
21508         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
21509         characters in test program.
21510
21511 2010-12-24  Bruno Haible  <bruno@clisp.org>
21512
21513         ceil, trunc, round: Fix gcc warnings.
21514         * lib/ceil.c (MIN): Undefine before redefining.
21515         * lib/trunc.c (MIN): Likewise.
21516         * lib/round.c (MIN): Likewise.
21517         Include <math.h> first.
21518
21519 2010-12-24  Bruno Haible  <bruno@clisp.org>
21520
21521         select tests: Avoid failures on OSF/1 5.1.
21522         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
21523         failure of closing the last socket; it may fail with ECONNRESET.
21524
21525 2010-12-24  Eric Blake  <eblake@redhat.com>
21526
21527         stdint: avoid HP-UX 10.20 preprocessor bug
21528         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
21529         than #if.
21530         * tests/test-floor2.c (main): Likewise.
21531         Reported by Peter O'Gorman.
21532
21533         pipe: make obsoletion transition easier
21534         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
21535         * modules/pipe (Files): Include revived file.
21536         (Include): Drop reference, to mirror getdate's behavior.
21537
21538 2010-12-24  Bruno Haible  <bruno@clisp.org>
21539
21540         sys_socket: Hide mismatch of declarations on NonStop Kernel.
21541         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
21542         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
21543         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21544
21545 2010-12-24  Bruno Haible  <bruno@clisp.org>
21546
21547         gethostname: Ensure declaration on NonStop Kernel.
21548         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
21549         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21550
21551 2010-12-24  Bruno Haible  <bruno@clisp.org>
21552
21553         sys_select: Ensure all necessary types on NonStop Kernel.
21554         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
21555         include <sys/time.h>.
21556         * doc/posix-headers/sys_select.texi: Mention that it's missing on
21557         NonStop Kernel.
21558         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21559
21560 2010-12-24  Bruno Haible  <bruno@clisp.org>
21561
21562         sys_select: Remove unneeded include.
21563         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
21564         have <sys/select.h>.
21565
21566 2010-12-24  Bruno Haible  <bruno@clisp.org>
21567
21568         gethostname: Provide a fallback for HOST_NAME_MAX.
21569         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
21570         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
21571         instead.
21572         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21573
21574 2010-12-24  Bruno Haible  <bruno@clisp.org>
21575
21576         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
21577         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
21578         (SA_RESTART): Likewise.
21579         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21580
21581 2010-12-24  Bruno Haible  <bruno@clisp.org>
21582
21583         signal: Define NSIG.
21584         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
21585         * tests/test-signal.c (nsig): New variable.
21586         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21587
21588 2010-12-24  Bruno Haible  <bruno@clisp.org>
21589
21590         rename, renameat: Avoid test failures on OSF/1 5.1.
21591         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
21592         alternative error codes.
21593         * tests/test-renameat.c (main): Likewise.
21594
21595 2010-12-24  Bruno Haible  <bruno@clisp.org>
21596
21597         *printf: Detect large precisions bug on Solaris 10/SPARC.
21598         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
21599         by Paul Eggert.
21600         * tests/test-snprintf-posix.h (test_function): Add this test code here
21601         too.
21602         * tests/test-sprintf-posix.h (test_function): Likewise.
21603         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21604         * tests/test-vasprintf-posix.c (test_function): Likewise.
21605         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
21606         around by gnulib.
21607         * doc/posix-functions/printf.texi: Likewise.
21608         * doc/posix-functions/snprintf.texi: Likewise.
21609         * doc/posix-functions/sprintf.texi: Likewise.
21610         * doc/posix-functions/vfprintf.texi: Likewise.
21611         * doc/posix-functions/vprintf.texi: Likewise.
21612         * doc/posix-functions/vsnprintf.texi: Likewise.
21613         * doc/posix-functions/vsprintf.texi: Likewise.
21614         * doc/posix-functions/dprintf.texi: Undo last commit.
21615         * doc/posix-functions/vdprintf.texi: Likewise.
21616
21617 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21618
21619         tests: port test-fdutimensat.c to Solaris 8
21620         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
21621         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
21622         On Solaris 8, it fails with errno == ENOSYS, because there is no
21623         futimens (so it can't use the fd), and there is no lutimens (so it
21624         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
21625
21626         vsnprintf: make more consistent with snprintf; doc fixes
21627
21628         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
21629         the byte count return problem was promoted from the snprintf-posix
21630         to the snprintf module.
21631         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21632         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
21633         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
21634         * tests/test-snprintf.c (main): Check the byte count returned.
21635         * tests/test-vsnprintf.c (main): Likewise.
21636
21637 2010-12-23  Eric Blake  <eblake@redhat.com>
21638
21639         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
21640         * modules/sigpipe (License): Relax license.
21641
21642 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21643
21644         doc: document Solaris printf bug with large float precisions
21645         * doc/posix-functions/dprintf.texi (dprintf):
21646         * doc/posix-functions/fprintf.texi (fprintf):
21647         * doc/posix-functions/printf.texi (printf):
21648         * doc/posix-functions/snprintf.texi (snprintf):
21649         * doc/posix-functions/sprintf.texi (sprintf):
21650         * doc/posix-functions/vdprintf.texi (vdprintf):
21651         * doc/posix-functions/vfprintf.texi (vfprintf):
21652         * doc/posix-functions/vprintf.texi (vprintf):
21653         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21654         * doc/posix-functions/vsprintf.texi (vsprintf):
21655         Mention that these functions mishandle large floating point
21656         precisions on Solaris 10.  The same bug is also present in Solaris
21657         8, and I assume earlier.  This causes "cd gnulib-tests; make
21658         check" to fail on Solaris 8 (and I assume, later) when building
21659         the latest coreutils, in test-vasprintf-posix's call to
21660         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
21661         the wide flavors (e.g., wprintf) so this patch just updates the
21662         documentation for the narrow ones.
21663
21664         test-posixtm.c: add two tests
21665         * tests/test-posixtm.c: Add two tests, to highlight the
21666         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
21667         around this bug; this is merely to document it.
21668
21669 2010-12-22  Bruno Haible  <bruno@clisp.org>
21670
21671         getlogin_r: Work around portability problem on OSF/1.
21672         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
21673         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
21674         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
21675         test for a truncated result.
21676         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
21677         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
21678         * modules/getlogin_r (Depends-on): Add memchr.
21679         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21680
21681 2010-12-22  Bruno Haible  <bruno@clisp.org>
21682
21683         ptsname: Avoid test failure on OSF/1 5.1.
21684         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21685         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21686         (same_slave): New function.
21687         (main): Use it to compare ptsname's result with the expected file name.
21688
21689 2010-12-22  Bruno Haible  <bruno@clisp.org>
21690
21691         Port extended stdio modules to HP NonStop Kernel.
21692         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21693         macros.
21694         * lib/fbufmode.c: Update comments.
21695         * lib/fflush.c: Likewise.
21696         * lib/fpurge.c: Likewise.
21697         * lib/freadable.c: Likewise.
21698         * lib/freadahead.c: Likewise.
21699         * lib/freading.c: Likewise.
21700         * lib/freadptr.c: Likewise.
21701         * lib/freadseek.c: Likewise.
21702         * lib/fseeko.c: Likewise.
21703         * lib/fseterr.c: Likewise.
21704         * lib/fwritable.c: Likewise.
21705         * lib/fwriting.c: Likewise.
21706         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21707
21708 2010-12-22  Bruno Haible  <bruno@clisp.org>
21709
21710         ttyname_r: Work around bug on OSF/1 5.1.
21711         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21712         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21713         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21714         present.
21715         * lib/ttyname_r.c (ttyname_r): Update comments.
21716
21717 2010-12-22  Bruno Haible  <bruno@clisp.org>
21718
21719         round: Implement result sign according to IEEE 754.
21720         * lib/round.c (MIN, MINUS_ZERO): New macros.
21721         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21722         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21723         * tests/test-round-ieee.c (main): Likewise.
21724         * tests/test-roundl-ieee.c (main): Likewise.
21725
21726         trunc: Implement result sign according to IEEE 754.
21727         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21728         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21729         * tests/test-trunc2.c: Include minus-zero.h.
21730         (MINUS_ZERO): New macro.
21731         (trunc_reference): Keep in sync with lib/trunc.c.
21732         * tests/test-truncf2.c: Include minus-zero.h.
21733         (MINUS_ZERO): New macro.
21734         (truncf_reference): Keep in sync with lib/trunc.c.
21735         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21736         * tests/test-trunc-ieee.c (main): Likewise.
21737         * tests/test-truncl-ieee.c (main): Likewise.
21738
21739         ceil: Implement result sign according to IEEE 754.
21740         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21741         (FUNC): Return -0.0 for -1 < x < 0.
21742         * tests/test-ceil2.c: Include minus-zero.h.
21743         (MINUS_ZERO): New macro.
21744         (ceil_reference): Keep in sync with lib/ceil.c.
21745         * tests/test-ceilf2.c: Include minus-zero.h.
21746         (MINUS_ZERO): New macro.
21747         (ceilf_reference): Keep in sync with lib/ceil.c.
21748         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21749         * tests/test-ceil-ieee.c (main): Likewise.
21750         * tests/test-ceill-ieee.c (main): Likewise.
21751
21752         floor: Implement result sign according to IEEE 754.
21753         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21754         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21755         * tests/test-floorf2.c (floorf_reference): Likewise.
21756         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21757         * tests/test-floor-ieee.c (main): Likewise.
21758         * tests/test-floorl-ieee.c (main): Likewise.
21759
21760 2010-12-22  Bruno Haible  <bruno@clisp.org>
21761
21762         getaddrinfo: Update doc.
21763         * doc/posix-functions/gai_strerror.texi: Return type is also different
21764         on AIX and HP-UX.
21765
21766 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21767
21768         getaddrinfo, inet_ntop: Update doc for Solaris.
21769         * doc/posix-functions/gai_strerror.texi: Return type is also an
21770         issue on Solaris 9 and earlier.
21771         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21772         on Solaris 10 and earlier.
21773
21774 2010-12-21  Bruno Haible  <bruno@clisp.org>
21775
21776         New module 'roundl-ieee'.
21777         * modules/roundl-ieee: New file.
21778         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21779         test whether roundl works according to ISO C 99 with IEC 60559.
21780         * m4/roundl-ieee.m4: New file.
21781         * modules/roundl-ieee-tests: New file.
21782         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21783         * tests/test-roundl.c (main): Remove signbit tests.
21784         * modules/roundl-tests (Depends-on): Remove signbit.
21785         * doc/posix-functions/roundl.texi: Mention the new module.
21786
21787 2010-12-21  Bruno Haible  <bruno@clisp.org>
21788
21789         New module 'truncl-ieee'.
21790         * modules/truncl-ieee: New file.
21791         * modules/truncl-ieee-tests: New file.
21792         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21793         * tests/test-truncl.c (main): Remove signbit tests.
21794         * modules/truncl-tests (Depends-on): Remove signbit.
21795         * doc/posix-functions/truncl.texi: Mention the new module.
21796
21797 2010-12-21  Bruno Haible  <bruno@clisp.org>
21798
21799         New module 'ceill-ieee'.
21800         * modules/ceill-ieee: New file.
21801         * modules/ceill-ieee-tests: New file.
21802         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21803         * tests/test-ceill.c (main): Remove signbit tests.
21804         * modules/ceill-tests (Depends-on): Remove signbit.
21805         * doc/posix-functions/ceill.texi: Mention the new module.
21806
21807 2010-12-21  Bruno Haible  <bruno@clisp.org>
21808
21809         New module 'floorl-ieee'.
21810         * modules/floorl-ieee: New file.
21811         * modules/floorl-ieee-tests: New file.
21812         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21813         * tests/test-floorl.c (main): Remove signbit tests.
21814         * modules/floorl-tests (Depends-on): Remove signbit.
21815         * doc/posix-functions/floorl.texi: Mention the new module.
21816
21817 2010-12-21  Bruno Haible  <bruno@clisp.org>
21818
21819         New module 'round-ieee'.
21820         * modules/round-ieee: New file.
21821         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
21822         whether round works according to ISO C 99 with IEC 60559.
21823         * m4/round-ieee.m4: New file.
21824         * modules/round-ieee-tests: New file.
21825         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
21826         * tests/test-round1.c (main): Remove signbit tests.
21827         * modules/round-tests (Depends-on): Remove 'signbit'.
21828         * doc/posix-functions/round.texi: Mention the new module.
21829
21830 2010-12-21  Bruno Haible  <bruno@clisp.org>
21831
21832         New module 'trunc-ieee'.
21833         * modules/trunc-ieee: New file.
21834         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
21835         whether trunc works according to ISO C 99 with IEC 60559.
21836         * m4/trunc-ieee.m4: New file.
21837         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
21838         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
21839         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
21840         * modules/trunc-ieee-tests: New file.
21841         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
21842         * tests/test-trunc1.c (main): Remove signbit tests.
21843         * modules/trunc-tests (Depends-on): Remove 'signbit'.
21844         * doc/posix-functions/trunc.texi: Mention the new module.
21845
21846 2010-12-21  Bruno Haible  <bruno@clisp.org>
21847
21848         New module 'ceil-ieee'.
21849         * modules/ceil-ieee: New file.
21850         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21851         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21852         ISO C 99 with IEC 60559.
21853         * m4/ceil-ieee.m4: New file.
21854         * modules/ceil (Files): Add lib/ceil.c.
21855         (Depends-on): Add 'float'.
21856         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21857         * lib/math.in.h (ceil): New declaration.
21858         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21859         REPLACE_CEIL.
21860         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21861         * modules/ceil-ieee-tests: New file.
21862         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21863         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21864         * doc/posix-functions/ceil.texi: Mention the new module.
21865
21866 2010-12-21  Bruno Haible  <bruno@clisp.org>
21867
21868         New module 'floor-ieee'.
21869         * modules/floor-ieee: New file.
21870         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21871         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21872         ISO C 99 with IEC 60559.
21873         * m4/floor-ieee.m4: New file.
21874         * modules/floor (Files): Add lib/floor.c.
21875         (Depends-on): Add 'float'.
21876         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21877         * lib/math.in.h (floor): New declaration.
21878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21879         REPLACE_FLOOR.
21880         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21881         * modules/floor-ieee-tests: New file.
21882         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21883         * tests/test-math-c++.cc: Check the signature of 'floor'.
21884         * doc/posix-functions/floor.texi: Mention the new module.
21885
21886 2010-12-21  Bruno Haible  <bruno@clisp.org>
21887
21888         New module 'roundf-ieee'.
21889         * modules/roundf-ieee: New file.
21890         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21891         test whether roundf works according to ISO C 99 with IEC 60559.
21892         * m4/roundf-ieee.m4: New file.
21893         * modules/roundf-ieee-tests: New file.
21894         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21895         * tests/test-roundf1.c (main): Remove signbit tests.
21896         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21897         * doc/posix-functions/roundf.texi: Mention the new module.
21898
21899 2010-12-21  Bruno Haible  <bruno@clisp.org>
21900
21901         New module 'truncf-ieee'.
21902         * modules/truncf-ieee: New file.
21903         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21904         test whether truncf works according to ISO C 99 with IEC 60559.
21905         * m4/truncf-ieee.m4: New file.
21906         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21907         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21908         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21909         * modules/truncf-ieee-tests: New file.
21910         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21911         * tests/test-truncf1.c (main): Remove signbit tests.
21912         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21913         * doc/posix-functions/truncf.texi: Mention the new module.
21914
21915 2010-12-21  Bruno Haible  <bruno@clisp.org>
21916
21917         New module 'ceilf-ieee'.
21918         * modules/ceilf-ieee: New file.
21919         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21920         test whether ceilf works according to ISO C 99 with IEC 60559.
21921         * m4/ceilf-ieee.m4: New file.
21922         * modules/ceilf-ieee-tests: New file.
21923         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21924         * tests/test-ceilf1.c (main): Remove signbit tests.
21925         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21926         * doc/posix-functions/ceilf.texi: Mention the new module.
21927
21928 2010-12-21  Bruno Haible  <bruno@clisp.org>
21929
21930         New module 'floorf-ieee'.
21931         * modules/floorf-ieee: New file.
21932         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21933         test whether floorf works according to ISO C 99 with IEC 60559.
21934         * m4/floorf-ieee.m4: New file.
21935         * modules/floorf-ieee-tests: New file.
21936         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21937         * tests/test-floorf1.c (main): Remove signbit tests.
21938         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21939         * doc/posix-functions/floorf.texi: Mention the new module.
21940
21941 2010-12-21  Bruno Haible  <bruno@clisp.org>
21942
21943         Support for minus zero in autoconf macros.
21944         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21945         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21946         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21947         * tests/minus-zero.h: Update comments.
21948
21949 2010-12-21  Bruno Haible  <bruno@clisp.org>
21950
21951         Tests for module 'ceil'.
21952         * modules/ceil-tests: New file.
21953         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21954         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21955
21956 2010-12-21  Bruno Haible  <bruno@clisp.org>
21957
21958         Tests for module 'floor'.
21959         * modules/floor-tests: New file.
21960         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
21961         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
21962
21963 2010-12-21  Bruno Haible  <bruno@clisp.org>
21964
21965         math: Fix indentation.
21966         * lib/math.in.h (floorf): Fix indentation.
21967
21968 2010-12-21  Bruno Haible  <bruno@clisp.org>
21969
21970         Fix cross-compilation guesses on Solaris.
21971         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
21972         not match "solaris2.10".
21973         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21974         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
21975         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
21976
21977 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
21978
21979         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
21980         This fixes a problem observed with the latest coreutils snapshot
21981         that caused a test to fail on Solaris 8.  src/csplit.c's call
21982         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
21983         earlier, instead of returning the number of bytes that would have
21984         been generated; this causes csplit to incorrectly report memory
21985         exhaustion.
21986         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
21987         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
21988         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
21989         comments to match.
21990         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
21991         Fix typo in matching older versions of Solaris: "solaris2.10"
21992         is matched by the shell pattern "solaris2.[0-9]*".  This matters
21993         only for guessing while cross-compiling.
21994         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
21995
21996 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
21997
21998         ftoastr: fix comment again
21999         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22000         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
22001         Also, simplify example a bit by using flags = 0.
22002
22003 2010-12-20  Bruno Haible  <bruno@clisp.org>
22004
22005         round*, trunc*: Update documentation regarding glibc.
22006         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
22007         * doc/posix-functions/round.texi: Likewise.
22008         * doc/posix-functions/roundl.texi: Likewise.
22009         * doc/posix-functions/truncf.texi: Likewise.
22010         * doc/posix-functions/trunc.texi: Likewise.
22011         * doc/posix-functions/truncl.texi: Likewise.
22012
22013 2010-12-20  Bruno Haible  <bruno@clisp.org>
22014
22015         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
22016         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
22017         * doc/posix-functions/round.texi: Likewise.
22018         * doc/posix-functions/roundl.texi: Likewise.
22019
22020 2010-12-20  Bruno Haible  <bruno@clisp.org>
22021
22022         ttyname_r: Add missing declaration on HP-UX 11.
22023         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
22024         HAVE_TTYNAME_R.
22025         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
22026         declared. Set HAVE_TTYNAME_R always.
22027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22028         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
22029         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
22030         HAVE_TTYNAME_R.
22031         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
22032
22033 2010-12-20  Bruno Haible  <bruno@clisp.org>
22034
22035         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
22036         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
22037         * doc/posix-functions/getlogin_r.texi: Likewise.
22038         * tests/test-getlogin.c: Include <errno.h>.
22039         (main): Avoid test failure on HP-UX 11.11.
22040         * tests/test-getlogin_r.c (main): Likewise.
22041
22042 2010-12-20  Bruno Haible  <bruno@clisp.org>
22043
22044         getlogin_r: Add missing declaration on HP-UX 11.
22045         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
22046         declared also when it exists as a function.
22047         * doc/posix-functions/getlogin_r.texi: Document this workaround.
22048
22049 2010-12-20  Bruno Haible  <bruno@clisp.org>
22050
22051         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
22052         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
22053         through wcrtomb.
22054
22055 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
22056
22057         ftoastr: fix comment
22058         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22059         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
22060
22061 2010-12-19  Bruno Haible  <bruno@clisp.org>
22062
22063         isnan: Ensure it is a macro.
22064         * lib/math.in.h (isnan): Define as a macro if not already a macro.
22065         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
22066         Solaris.
22067
22068 2010-12-19  Bruno Haible  <bruno@clisp.org>
22069
22070         ldexpl test: Fix link error on OSF/1 5.1.
22071         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
22072
22073 2010-12-19  Bruno Haible  <bruno@clisp.org>
22074
22075         wctype: Make it work in C++ mode on OSF/1 5.1.
22076         * lib/wctype.in.h (iswblank): Declare but not define here.
22077         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
22078         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
22079         * modules/wctype (Files): Add lib/iswblank.c.
22080
22081 2010-12-19  Bruno Haible  <bruno@clisp.org>
22082
22083         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
22084         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
22085         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
22086
22087 2010-12-19  Bruno Haible  <bruno@clisp.org>
22088
22089         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
22090         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
22091         _POSIX_PII_SOCKET.
22092         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
22093         * doc/posix-functions/recvfrom.texi: Likewise.
22094         * doc/posix-functions/send.texi: Likewise.
22095         * doc/posix-functions/sendto.texi: Likewise.
22096
22097 2010-12-19  Bruno Haible  <bruno@clisp.org>
22098
22099         tcgetsid: Add missing declaration on OSF/1 5.1.
22100         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
22101         HAVE_TCGETSID.
22102         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
22103         Don't set HAVE_TCGETSID.
22104         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
22105         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
22106         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
22107         HAVE_TCGETSID.
22108         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
22109
22110 2010-12-19  Bruno Haible  <bruno@clisp.org>
22111
22112         stdio: Fix problem with popen() declaration on OSF/1 5.1.
22113         * lib/stdio.in.h: During the include_next statement, let recursive
22114         includes of this file include only the system header file.
22115
22116 2010-12-19  Bruno Haible  <bruno@clisp.org>
22117
22118         iconv_open: Fix regression from 2010-12-04.
22119         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
22120         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
22121
22122 2010-12-19  Bruno Haible  <bruno@clisp.org>
22123
22124         stdbool test: Avoid a gcc warning.
22125         * tests/test-stdbool.c (main): Fail if e1 is false.
22126         Reported by Jim Meyering.
22127
22128 2010-12-19  Jim Meyering  <meyering@redhat.com>
22129
22130         setenv: restore to working order
22131         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
22132         mistakenly removed.
22133         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
22134         HAVE_SETENV.
22135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
22136         HAVE_SETENV.
22137
22138 2010-12-19  Bruno Haible  <bruno@clisp.org>
22139
22140         Document some different function declarations on OSF/1 5.1.
22141         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
22142         * doc/posix-functions/inet_ntop.texi: Likewise.
22143         * doc/posix-functions/gethostname.texi: Likewise.
22144         * lib/unistd.in.h (gethostname): Update comment.
22145
22146 2010-12-19  Bruno Haible  <bruno@clisp.org>
22147
22148         doc: Mention vasprintf-posix module.
22149         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
22150         the 'vasprintf-posix' module.
22151         * doc/glibc-functions/vasprintf.texi: Likewise.
22152
22153 2010-12-19  Bruno Haible  <bruno@clisp.org>
22154
22155         unsetenv: Add missing declaration on OSF/1 5.1.
22156         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
22157         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
22158         Don't set HAVE_UNSETENV. In the test program, set _BSD.
22159         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
22160         not HAVE_UNSETENV.
22161         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
22162         HAVE_UNSETENV.
22163         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
22164
22165 2010-12-19  Bruno Haible  <bruno@clisp.org>
22166
22167         setenv: Add missing declaration on OSF/1 5.1.
22168         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
22169         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
22170         declared. Don't set HAVE_SETENV.
22171         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
22172         not HAVE_SETENV.
22173         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
22174         HAVE_SETENV.
22175         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
22176
22177 2010-12-19  Bruno Haible  <bruno@clisp.org>
22178
22179         nl_langinfo tests: Avoid gcc warning.
22180         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
22181
22182 2010-12-19  Bruno Haible  <bruno@clisp.org>
22183
22184         mknod: Avoid error in C++ mode on OSF/1 with GCC.
22185         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
22186         _GL_CXXALIAS_SYS.
22187
22188 2010-12-19  Bruno Haible  <bruno@clisp.org>
22189
22190         stdbool: Relax test.
22191         * tests/test-stdbool.c (e): Don't require that casts from a variable's
22192         address to 'bool' work in static initializer, for compilers other than
22193         GCC.
22194
22195 2010-12-19  Bruno Haible  <bruno@clisp.org>
22196
22197         ftello: Add missing declaration on OSF/1 5.1.
22198         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
22199         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
22200         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
22201         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
22202         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
22203
22204 2010-12-19  Bruno Haible  <bruno@clisp.org>
22205
22206         fseeko: Add missing declaration on OSF/1 5.1.
22207         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
22208         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
22209         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
22210         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
22211         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
22212
22213 2010-12-19  Bruno Haible  <bruno@clisp.org>
22214
22215         fchdir: Add missing declaration on OSF/1 5.1.
22216         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
22217         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
22218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
22219         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
22220         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
22221
22222 2010-12-19  Bruno Haible  <bruno@clisp.org>
22223
22224         relocatable-prog-wrapper: Separate from relocatable-prog.
22225         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
22226         uninstall-relocwrapper rule here.
22227         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
22228         Reported by Ian Beckwith <ianb@erislabs.net>.
22229
22230 2010-12-19  Bruno Haible  <bruno@clisp.org>
22231
22232         unistr/u8-mbsnlen: Add missing dependency.
22233         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
22234         Reported by Ian Beckwith <ianb@erislabs.net>.
22235
22236 2010-12-19  Bruno Haible  <bruno@clisp.org>
22237
22238         iconv: Make it possible again to use this module without 'iconv-h'.
22239         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
22240         if it is not defined.
22241         Reported by Ian Beckwith <ianb@erislabs.net>.
22242
22243 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
22244
22245         acl: port to Solaris 8 when copying from tmpfs to ufs
22246         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
22247         error number.  Problem observed on Solaris 8 with latest
22248         coreutils, with "mv A B", where A is on a tmpfs file system and B
22249         is on a ufs file system.  This caused coreutils' mv/part-symlink
22250         test to fail.
22251
22252         tests: set fail=0 at start
22253         * tests/init.sh (setup_): Move fail=0 initialization here ...
22254         (mktempd_): ... from here, so that tests can rely on fail being
22255         set to 0 initially.  This fixes a problem in coreutils; see:
22256         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
22257
22258 2010-12-18  Bruno Haible  <bruno@clisp.org>
22259
22260         memmem-simple: Stylistic changes.
22261         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
22262         Fix preprocessor directive indentation.
22263
22264 2010-12-15  Pádraig Brady <P@draigBrady.com>
22265
22266         memmem, memmem-simple: reorganize and expand empty needle check
22267         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
22268         functional checks to memmem-simple so that one has a fully functional
22269         memmem by using just this module.
22270         Restrict the performance only check to the memmem module.
22271         Also expand the empty needle check to ensure the correct
22272         pointer is returned, not just a non NULL pointer.
22273         * doc/glibc-functions/memmem.texi: Rearrange the portability
22274         documentation to correlate with the rearranged checks.
22275         Clarify exactly how the memmem and memmem-simple modules
22276         relate to each other.
22277
22278 2010-12-15  Pádraig Brady <P@draigBrady.com>
22279             Bruno Haible  <bruno@clisp.org>
22280
22281         Improve cross-compilation guesses for uClibc.
22282         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
22283         that uClibc does not have the glibc bug.
22284         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22285         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
22286
22287 2010-12-14  Eric Blake  <eblake@redhat.com>
22288
22289         configmake: provide fallbacks for oldest supported autotools
22290         * m4/configmake.m4: New file.
22291         * modules/configmake (Files): Ship it.
22292         (configure.ac): Use it to guarantee fallbacks.
22293
22294 2010-12-13  Pádraig Brady <P@draigBrady.com>
22295
22296         read-file: Improve handling of large files
22297         * lib/read-file.c (fread_file): Minimize realloc()s
22298         for regular files, and better manage sizes around SIZE_MAX.
22299
22300 2010-12-13  Eric Blake  <eblake@redhat.com>
22301
22302         cloexec, fcntl: relax license
22303         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
22304         consent from all contributors.
22305         * modules/fcntl (License): Likewise.
22306
22307 2010-12-10  Bruno Haible  <bruno@clisp.org>
22308
22309         Tests for module 'pipe-posix'.
22310         * modules/pipe-posix-tests: New file.
22311         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
22312
22313 2010-12-10  Bruno Haible  <bruno@clisp.org>
22314
22315         pipe-posix: Make it work in C++ mode.
22316         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
22317         (pipe): Use common idiom, not a macro definition.
22318         * lib/pipe.c: New file.
22319         * m4/pipe.m4: New file.
22320         * modules/pipe-posix (Description): Enhance.
22321         (Files): Add lib/pipe.c, m4/pipe.m4.
22322         (configure.ac): Invoke gl_FUNC_PIPE.
22323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
22324         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
22325         * tests/test-unistd-c++.cc: Check the signature of pipe.
22326
22327 2010-12-10  Bruno Haible  <bruno@clisp.org>
22328
22329         Rename module 'pipe' to 'spawn-pipe'.
22330         * modules/spawn-pipe: New file, renamed from modules/pipe.
22331         (Files, configure.ac, Makefile.am): Update.
22332         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
22333         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
22334         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
22335         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
22336         "spawn-pipe.h" instead of "pipe.h".
22337         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
22338         to gl_SPAWN_PIPE.
22339         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
22340         (Files, Makefile.am): Update.
22341         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
22342         Update.
22343         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
22344         Include "spawn-pipe.h" instead of "pipe.h".
22345         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
22346         * lib/javacomp.c: Likewise.
22347         * lib/javaversion.c: Likewise.
22348         * lib/pipe-filter-gi.c: Likewise.
22349         * lib/pipe-filter-ii.c: Likewise.
22350         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
22351         * modules/javacomp (Depends-on): Likewise.
22352         * modules/javaversion (Depends-on): Likewise.
22353         * modules/pipe-filter-gi (Depends-on): Likewise.
22354         * modules/pipe-filter-ii (Depends-on): Likewise.
22355         * MODULES.html.sh (Executing programs): Update.
22356         * NEWS: Mention the change.
22357
22358 2010-12-10  Eric Blake  <eblake@redhat.com>
22359
22360         pipe-posix: new module
22361         * modules/pipe-posix: New file.
22362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
22363         (gl_UNISTD_H): Check for declaration.
22364         * modules/unistd (Makefile.am): Substitute it.
22365         * lib/unistd.in.h (pipe): Provide it for mingw.
22366         * doc/posix-functions/pipe.texi (pipe): Update documentation.
22367         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
22368
22369 2010-12-07  Bruno Haible  <bruno@clisp.org>
22370
22371         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
22372         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
22373         u8_strcmp_gnu.
22374         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
22375
22376 2010-12-06  Bruno Haible  <bruno@clisp.org>
22377
22378         Update internal documentation.
22379         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
22380
22381 2010-12-04  Bruno Haible  <bruno@clisp.org>
22382
22383         Put more information about failed tests into the test return codes.
22384         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
22385         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
22386         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22387         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22388         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22389         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22390         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22391         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22392         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
22393         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22394         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
22395         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22396         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22397         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22398         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
22399         returns a bit mask.
22400         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22401         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
22402         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
22403         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22404         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22405         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22406         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22407         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22408         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22409         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22410         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22411         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22412         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22413         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22414         * m4/link.m4 (gl_FUNC_LINK): Likewise.
22415         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22416         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
22417         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
22418         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22419         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
22420         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22421         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22422         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22423         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22424         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22425         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22426         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22427         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22428         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22429         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
22430         gl_PRINTF_PRECISION): Likewise.
22431         * m4/regex.m4 (gl_REGEX): Likewise.
22432         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22433         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22434         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
22435         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22436         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22437         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22438         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
22439         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
22440         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22441         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22442         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22443         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22444         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22445         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22446         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22447         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22448         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22449         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22450         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22451         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
22452         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
22453         enumerated value.
22454         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
22455
22456 2010-12-04  Bruno Haible  <bruno@clisp.org>
22457
22458         Update for Solaris 11 2010-11.
22459         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
22460         Express, released in November 2010.
22461
22462 2010-12-04  Bruno Haible  <bruno@clisp.org>
22463
22464         nproc: Relax license.
22465         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
22466         and Paul Eggert.
22467         Requested by Ludovic Courtès <ludo@gnu.org>.
22468
22469 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
22470
22471         utimecmp: fine-grained src to nearby coarse-grained dest
22472
22473         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
22474         and the source is on a file system with higher-resolution time
22475         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
22476         not work, and the time stamps are close together, the algorithm to
22477         determine the exact resolution from the read-back mtime was buggy:
22478         it had a "!=" where it should have had an "==".  This bug has been
22479         in the code ever since it was introduced to gnulib.
22480         Problem reported by Dan Jacobson in
22481         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
22482
22483 2010-11-30  Bruno Haible  <bruno@clisp.org>
22484
22485         strerror_r-posix: Fix autoconf test.
22486         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
22487
22488 2010-11-28  Bruno Haible  <bruno@clisp.org>
22489             Paul Eggert  <eggert@cs.ucla.edu>
22490
22491         Tests for module 'getdomainname'.
22492         * modules/getdomainname-tests: New file.
22493         * tests/test-getdomainname.c: New file, based on
22494         tests/test-gethostname.c.
22495
22496 2010-11-28  Bruno Haible  <bruno@clisp.org>
22497             Paul Eggert  <eggert@cs.ucla.edu>
22498
22499         getdomainname: Use the system function when possible.
22500         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
22501         (getdomainname): Replace if needed. Provide the declaration if it is
22502         missing. Don't use _GL_CXXALIAS_SYS_CAST.
22503         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
22504         (getdomainname): When the system has getdomainname, call the system
22505         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
22506         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22507         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
22508         found in libnsl. Look for the declaration also in <netdb.h>. Replace
22509         the function if its second argument is of type 'int' or if it is found
22510         in libnsl.
22511         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
22512         <sys/systeminfo.h> and sysinfo().
22513         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
22514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22515         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
22516         HAVE_GETDOMAINNAME.
22517         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
22518         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
22519         * doc/glibc-functions/getdomainname.texi: Document the problems with
22520         the getdomainname declaration.
22521
22522 2010-11-28  Bruno Haible  <bruno@clisp.org>
22523
22524         sys_socket: Ensure ss_family field on AIX.
22525         * lib/sys_socket.in.h (ss_family): New macro definition.
22526         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
22527         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
22528         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22529         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22530         * modules/sys_socket (Makefile.am): Substitute
22531         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22532         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
22533
22534 2010-11-27  Bruno Haible  <bruno@clisp.org>
22535
22536         readline: Improve configure output.
22537         * m4/readline.m4 (gl_FUNC_READLINE): Make the
22538         "checking for readline..." result understandable.
22539
22540 2010-11-27  Bruno Haible  <bruno@clisp.org>
22541
22542         *printf-posix: Detect a bug on Solaris 10/x86.
22543         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
22544         for floating-point output.
22545         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
22546         directive.
22547         * tests/test-snprintf-posix.h (test_function): Likewise.
22548         * tests/test-sprintf-posix.h (test_function): Likewise.
22549         * tests/test-vasprintf-posix.c (test_function): Likewise.
22550         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
22551         * doc/posix-functions/printf.texi: Likewise.
22552         * doc/posix-functions/snprintf.texi: Likewise.
22553         * doc/posix-functions/sprintf.texi: Likewise.
22554         * doc/posix-functions/vfprintf.texi: Likewise.
22555         * doc/posix-functions/vprintf.texi: Likewise.
22556         * doc/posix-functions/vsnprintf.texi: Likewise.
22557         * doc/posix-functions/vsprintf.texi: Likewise.
22558         * doc/glibc-functions/obstack_printf.texi: Likewise.
22559         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22560
22561 2010-11-27  Bruno Haible  <bruno@clisp.org>
22562
22563         Fix link error when module libunistring-optional is in use.
22564         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
22565         * modules/striconveha-tests (Makefile.am): Likewise.
22566
22567 2010-11-27  Bruno Haible  <bruno@clisp.org>
22568
22569         regex: Mention link dependencies.
22570         * modules/regex (Link): New section.
22571         * modules/rpmatch (Link): Likewise.
22572         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
22573
22574 2010-11-27  Bruno Haible  <bruno@clisp.org>
22575
22576         ftoastr: Fix compilation error on Solaris.
22577         * lib/ftoastr.c: Include <config.h>.
22578
22579 2010-11-27  Bruno Haible  <bruno@clisp.org>
22580
22581         getloadavg: Update documentation.
22582         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
22583
22584 2010-11-27  Bruno Haible  <bruno@clisp.org>
22585
22586         sys_socket: Fix test whether the functions are declared.
22587         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
22588         not <sys/select.h>.
22589
22590 2010-11-27  Bruno Haible  <bruno@clisp.org>
22591
22592         getpass: Make sure to get system declaration on some platforms.
22593         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
22594         gl_USE_SYSTEM_EXTENSIONS.
22595         * modules/getpass (Depends-on): Add extensions.
22596
22597 2010-11-26  Bruno Haible  <bruno@clisp.org>
22598
22599         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
22600         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
22601         'iconv' module is present.
22602         (ICONV_CONST): New macro.
22603         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
22604         ICONV_CONST.
22605         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
22606         set ICONV_CONST.
22607         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
22608         here.
22609         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
22610         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
22611         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
22612         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
22613         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
22614         present.
22615
22616 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22617
22618         ftoastr: comment fix
22619         * lib/ftoastr.c: "little" -> "little or no" in comment
22620
22621 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
22622
22623         stdint: port to GCC 4.3 + OSX + Octave
22624         On this platform, stdint.h is buggy and defines int64_t to long
22625         long int.  The replacement defined it to long int, causing
22626         problems with C++ style name mangling.  Instead, trust the system
22627         definition if INT64_MAX is defined, and likewise for the unsigned
22628         variant.   Problem reported by Jarno Rajahalme in
22629         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
22630         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
22631         and don't mess with int64_t and INT64_MAX in this case.
22632         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
22633
22634 2010-11-24  Bruno Haible  <bruno@clisp.org>
22635
22636         doc: Corrections regarding MacOS X 10.4 and 10.5.
22637         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
22638         MacOS X.
22639         Reported by Simon Josefsson.
22640
22641 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
22642
22643         Uninstall ".bin" files installed by relocwrapper.
22644         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
22645         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
22646         unless it is already there.
22647
22648 2010-11-21  Bruno Haible  <bruno@clisp.org>
22649
22650         Update for NetBSD 5.0.
22651         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22652         NetBSD; the test fails on NetBSD 5.0.
22653         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22654         about NetBSD.
22655
22656 2010-11-21  Bruno Haible  <bruno@clisp.org>
22657
22658         Update for HP-UX 11.23 and HP-UX 11.31.
22659         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
22660         HP-UX.
22661
22662 2010-11-21  Bruno Haible  <bruno@clisp.org>
22663
22664         Update for MacOS X 10.5.
22665         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22666         MacOS X; the test fails on MacOS X 10.5.8.
22667         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22668         about MacOS X.
22669
22670 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
22671
22672         bootstrap: add bootstrap_sync option.
22673         See discussion at
22674         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
22675         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
22676         * build-aux/bootstrap: Accept --bootstrap-sync to update
22677         bootstrap if it is not identical to the local gnulib's
22678         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22679         enable this by default.  Accept --no-bootstrap-sync to disable
22680         it.
22681
22682 2010-11-20  Bruno Haible  <bruno@clisp.org>
22683
22684         Ensure that <features.h> is included before __GLIBC__ is tested.
22685         * lib/printf-parse.h: Include <features.h>.
22686         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22687         Reported by Mike Frysinger <vapier@gentoo.org>.
22688
22689         Ensure that <features.h> is included before __GLIBC__ is tested.
22690         * lib/wchar.in.h: Include <features.h>.
22691         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22692         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22693         Reported by Mike Frysinger <vapier@gentoo.org>.
22694
22695         Ensure that <features.h> is included before __GLIBC__ is tested.
22696         * lib/arpa_inet.in.h: Include <features.h>.
22697         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22698         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22699         Reported by Mike Frysinger <vapier@gentoo.org>.
22700
22701         Ensure that <features.h> is included before __GLIBC__ is tested.
22702         * build-aux/link-warning.h: Include <features.h>.
22703         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22704         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22705         Reported by Mike Frysinger <vapier@gentoo.org>.
22706
22707         Ensure that <features.h> is included before __GLIBC__ is tested.
22708         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22709         Reported by Mike Frysinger <vapier@gentoo.org>.
22710
22711 2010-11-20  Bruno Haible  <bruno@clisp.org>
22712
22713         memmem: Fix autoconf test.
22714         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22715
22716 2010-11-20  Bruno Haible  <bruno@clisp.org>
22717
22718         Port to uClibc.
22719         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22720         * lib/fcntl.in.h: Likewise.
22721         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22722         * lib/mbrtowc.c (mbrtowc): Likewise.
22723         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22724         * lib/strerror_r.c: Likewise.
22725         * lib/unistr/u8-strnlen.c: Likewise.
22726         * lib/vasnprintf.c (decimal_point_char): Likewise.
22727         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22728         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22729         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22730         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22731         * tests/test-sigaction.c (handler, main): Likewise.
22732         * lib/freading.h: Treat uClibc like a non-glibc platform.
22733         * lib/freading.c: Likewise.
22734         * lib/gettext.h: Likewise.
22735         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22736         Likewise.
22737         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22738         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22739         * lib/propername.c (proper_name_utf8): Likewise.
22740         * lib/spawn.in.h: Likewise.
22741         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22742         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22743         mem_cd_iconveh_internal): Likewise.
22744         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22745         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22746         strstr, strcasestr): Likewise.
22747         * lib/unicodeio.c (unicode_to_mb): Likewise.
22748         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22749         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22750         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22751         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22752         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22753         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22754         * lib/unistr/u8-stpncpy.c: Likewise.
22755         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22756         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22757         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22758         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22759         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22760         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22761         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22762         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22763         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22764         Likewise.
22765         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22766         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22767         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22768         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22769         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22770         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22771         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22772         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22773         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22774         * tests/test-striconveha.c (main): Likewise.
22775         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22776         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22777         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22778         * doc/posix-functions/getline.texi: Likewise.
22779         Reported by Mike Frysinger <vapier@gentoo.org>.
22780
22781 2010-11-20  Bruno Haible  <bruno@clisp.org>
22782
22783         nproc: Fix condition.
22784         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22785         HAVE_PTHREAD_AFFINITY_NP.
22786
22787 2010-11-20  Bruno Haible  <bruno@clisp.org>
22788
22789         Fix a comment.
22790         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22791
22792 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22793
22794         ftoastr: don't assume snprintf
22795         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22796         Implement a subset of snprintf here, by using sprintf safely.
22797         * modules/ftoastr (Depends-on): Remove snprintf.
22798
22799 2010-11-19  Jim Meyering  <meyering@redhat.com>
22800
22801         test-rename.h: fix compilation failure
22802         * tests/test-rename.h (test_rename): Add omitted "}".
22803
22804 2010-11-17  Jim Meyering  <meyering@redhat.com>
22805
22806         maint.mk: add a URL discussing the no-@acronym policy
22807         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22808
22809 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22810
22811         ftoastr: depend on snprintf, improve comments
22812         * lib/ftoastr.c: Also mention Loitsch's draft.
22813         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22814         needed in the current implementation, but it might simplify
22815         speeding up the code later.
22816         * modules/ftoastr: Depend on snprintf; this improves portability.
22817         Suggested by Bruno Haible in the same email.
22818
22819         ftoastr: port to hosts lacking strtof and strtold
22820         Problem reported by Bruno Haible in
22821         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
22822         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
22823         environment and strtold (and presumably strtof) are not available.
22824         * modules/ftoastr (Files): Add m4/c-strtod.m4.
22825         (configure.ac): Require gl_C99_STRTOLD.
22826
22827 2010-11-18  Bruno Haible  <bruno@clisp.org>
22828
22829         c-strtold: Avoid link error on AIX 7.
22830         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
22831         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
22832         (gl_C_STRTOLD): Test whether strtold_l exists.
22833         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22834
22835 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22836
22837         intprops: new macro INT_BITS_STRLEN_BOUND
22838         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
22839         ftoastr.h.  This exposes an internal of intprops.h that was formerly
22840         not exposed.  Also, it uses a slightly tighter bound than before;
22841         though this makes no practical difference, we might as well be as
22842         tight as we easily can.
22843
22844         ftoastr: new module, for lossless conversion of floats to short strings
22845         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22846         * modules/ftoastr: New files.
22847
22848 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22849
22850         bootstrap: port to Solaris sed
22851         * build-aux/bootstrap (get_version): Port to Solaris sed.
22852         See Ralf Wildenhues's note in
22853         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22854
22855 2010-11-14  Jim Meyering  <meyering@redhat.com>
22856
22857         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22858         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22859         and move definition closer to sole use.
22860
22861 2010-11-13  Jim Meyering  <meyering@redhat.com>
22862
22863         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22864         Now we require at least autoconf-2.59, which means the work-around
22865         is no longer needed.
22866         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22867         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22868         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22869         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22870         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22871
22872 2010-11-13  Bruno Haible  <bruno@clisp.org>
22873
22874         rename, renameat: Avoid test failures at NFS mounted locations.
22875         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22876         functions.
22877         (test_rename): Use assert_nonexistent.
22878         * tests/test-rename.c: Include <dirent.h>.
22879         * tests/test-renameat.c: Likewise.
22880         Reported by Gary V. Vaughan <gary@gnu.org>.
22881
22882         rename, renameat: Document Linux bug with NFS
22883         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22884         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22885         * doc/posix-functions/renameat.texi: Likewise.
22886         Suggested by Eric Blake.
22887
22888 2010-11-13  Bruno Haible  <bruno@clisp.org>
22889
22890         rename test: Add comments.
22891         * tests/test-rename.h (test_rename): Add structure and comments.
22892
22893 2010-11-13  Eric Blake  <eblake@redhat.com>
22894
22895         maintainer-makefile: cover a few more files
22896         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22897         scripts generated within C files, for libvirt.
22898
22899 2010-11-13  Bruno Haible  <bruno@clisp.org>
22900
22901         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22902         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22903         character, return the number of bytes that belong together, not always
22904         1.
22905         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22906         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22907         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22908         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22909         number of bytes of an invalid character.
22910         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22911         (main): Invoke it.
22912         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22913         results.
22914         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22915         malformed byte sequences.
22916         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22917         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22918         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22919         Reported by Ben Pfaff and Paolo Bonzini.
22920
22921 2010-11-13  Bruno Haible  <bruno@clisp.org>
22922
22923         openat: Work around glibc bug with fchownat() and empty file names.
22924         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22925         (gl_FUNC_FCHOWNAT): Invoke it.
22926         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22927         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22928         Reported by Gary V. Vaughan <gary@gnu.org>.
22929
22930 2010-11-13  Bruno Haible  <bruno@clisp.org>
22931
22932         openat: Ensure autoconf macro ordering.
22933         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22934         gl_USE_SYSTEM_EXTENSIONS.
22935         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22936
22937 2010-11-13  Bruno Haible  <bruno@clisp.org>
22938
22939         Update comments.
22940         * lib/unistr/u8-check.c: Update file name in comments.
22941         * lib/unistr/u8-mblen.c: Likewise.
22942         * lib/unistr/u8-prev.c: Likewise.
22943         * lib/unistr/u8-strmblen.c: Likewise.
22944         * lib/unistr/u8-strmbtouc.c: Likewise.
22945
22946 2010-11-13  Jim Meyering  <meyering@redhat.com>
22947
22948         tests: avoid test failure on Solaris 10 due to lack of PATH export
22949         * tests/test-update-copyright.sh: Don't forget to export PATH.
22950
22951         init.sh: ensure that IFS is defined, just in case...
22952         * tests/init.sh (setup_): Ensure that IFS is defined,
22953         so that saving and restoring it works as expected.  This
22954         appears to be useful at least for an old version of dash
22955         from a long time ago (RH 6).  See here for details:
22956         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22957
22958         maint.mk: tighten "test a == b" check
22959         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
22960         test to files that contain something like #!/bin/sh.
22961         Without this, coreutils would get two false positives in
22962         the comments of C source files.
22963
22964 2010-11-12  Eric Blake  <eblake@redhat.com>
22965
22966         bootstrap: fix typo in previous attempt
22967         * build-aux/bootstrap (buildreq): Correct the grouping.
22968         Reported by Paul Eggert.
22969
22970         maintainer-makefile: prohibit test x == x
22971         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
22972         Based on a report by Matthias Bolte.
22973
22974         bootstrap: allow FreeBSD gzip
22975         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
22976         which has no '.' and goes to stderr.
22977         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
22978         Reported by Matthias Bolte.
22979
22980         maintainer-makefile: check for i18n setup
22981         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
22982         will likely work.
22983
22984 2010-11-12  Bruno Haible  <bruno@clisp.org>
22985
22986         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
22987         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
22988         * lib/nanosleep.c (nanosleep): Likewise.
22989
22990 2010-11-11  Bruno Haible  <bruno@clisp.org>
22991
22992         fcntl-h: Fix for use of C++ on glibc systems.
22993         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22994         also on glibc systems in C++ mode.
22995         Reported by Gary V. Vaughan <gary@gnu.org>.
22996
22997 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22998
22999         mknod: avoid false failure with dash
23000         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
23001
23002 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
23003
23004         unlink: Fix "is it should" typo in diagnostic.
23005         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
23006         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
23007
23008 2010-11-11  Bruno Haible  <bruno@clisp.org>
23009
23010         Tests for module 'strerror_r-posix'.
23011         * modules/strerror_r-posix-tests: New file.
23012         * tests/test-strerror_r.c: New file.
23013         * tests/test-string-c++.cc: Check the signature of strerror_r.
23014
23015         New module 'strerror_r-posix'.
23016         * lib/string.in.h (strerror_r): New declaration.
23017         * lib/strerror_r.c: New file.
23018         * m4/strerror_r.m4: New file.
23019         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
23020         of strerror_r.
23021         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
23022         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23023         * modules/strerror_r-posix: New file.
23024         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
23025         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23026         * doc/posix-functions/strerror_r.texi: Mention the new module and the
23027         portability problems.
23028
23029 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
23030
23031         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
23032         line is also considered for output. Quoted function name in shell
23033         command, so temporary files for functions like MyClass::operator()
23034         are removed correctly without errors.
23035
23036 2010-11-09  Bruno Haible  <bruno@clisp.org>
23037
23038         * doc/posix-functions/strerror.texi: List more failing platforms.
23039
23040         * doc/posix-functions/strerror.texi: Add a comment.
23041
23042 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
23043
23044         fdopendir: fix bug on MacOS X when low on file descriptors
23045
23046         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
23047         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
23048         All callers changed.
23049         (fdopendir): Invoke save_cwd at the top level, not after using
23050         multiple dup() calls to use up file descriptors.  Then retry
23051         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
23052         less than the maximum number of open file descriptors, because
23053         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
23054         on Mac OS X 10.6.4 for tar 1.24
23055         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
23056         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
23057         and for tar 1.25
23058         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
23059
23060 2010-11-07  Bruno Haible  <bruno@clisp.org>
23061
23062         vasnprintf: Support I flag on glibc systems.
23063         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
23064         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
23065         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
23066         snprintf function.
23067         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
23068         glibc systems.
23069         * tests/test-vasnprintf-posix3.c: New file.
23070         * modules/vasnprintf-posix-tests (Files): Add it.
23071         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
23072
23073 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23074
23075         [html] Fix copy/paste bug: Use unique name for compiler warnings.
23076         * MODULES.html.sh: For compiler warnings, use name
23077         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
23078
23079 2010-11-05  Eric Blake  <eblake@redhat.com>
23080
23081         ceil, floor: avoid spurious failure with icc
23082         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
23083         [denormals-as-zero] when optimizing without -mieee-fp option.
23084         * tests/test-floorf2.c (floorf_reference): Likewise.
23085         * tests/test-ceilf1.c (dummy): New function.
23086         (main): Use it to outsmart icc's optimization.
23087         * tests/test-floorf1.c (dummy, main): Likewise.
23088
23089         tests: require working signbit
23090         * modules/ceilf-tests (Depends-on): Add signbit.
23091         * modules/ceill-tests (Depends-on): Likewise.
23092         * modules/floorf-tests (Depends-on): Likewise.
23093         * modules/floorl-tests (Depends-on): Likewise.
23094         * modules/round-tests (Depends-on): Likewise.
23095         * modules/roundf-tests (Depends-on): Likewise.
23096         * modules/roundl-tests (Depends-on): Likewise.
23097         * modules/trunc-tests (Depends-on): Likewise.
23098         * modules/truncf-tests (Depends-on): Likewise.
23099         * modules/truncl-tests (Depends-on): Likewise.
23100
23101         strtod: work around icc bug
23102         * lib/strtod.c (minus_zero): Define to working value.
23103         (strtod): Use it to avoid icc bug.
23104
23105         copysign: enhance tests
23106         * modules/copysign-tests (Files): Add minus-zero.h.
23107         * tests/test-copysign.c (main): Also test zeros.
23108
23109 2010-11-04  Eric Blake  <eblake@redhat.com>
23110
23111         ceil, floor, round, trunc: enhance tests of -0
23112         * tests/test-ceilf1.c (main): Ensure correct sign of result.
23113         * tests/test-ceill.c (main): Likewise.
23114         * tests/test-floorf1.c (main): Likewise.
23115         * tests/test-floorl.c (main): Likewise.
23116         * tests/test-round1.c (main): Likewise.
23117         * tests/test-roundf1.c (main): Likewise.
23118         * tests/test-roundl.c (main): Likewise.
23119         * tests/test-trunc1.c (main): Likewise.
23120         * tests/test-truncf1.c (main): Likewise.
23121         * tests/test-truncl.c (main): Likewise.
23122
23123 2010-11-04  Eric Blake  <eblake@redhat.com>
23124
23125         frexp, tests: work around ICC bug with -zero
23126         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
23127         works with more compilers.
23128         * tests/minus-zero.h: New file.
23129         * modules/ceilf-tests (Files): Include it.
23130         * modules/ceill-tests (Files): Likewise.
23131         * modules/floorf-tests (Files): Likewise.
23132         * modules/floorl-tests (Files): Likewise.
23133         * modules/frexp-nolibm-tests (Files): Likewise.
23134         * modules/frexp-tests (Files): Likewise.
23135         * modules/frexpl-nolibm-tests (Files): Likewise.
23136         * modules/frexpl-tests (Files): Likewise.
23137         * modules/isnan-tests (Files): Likewise.
23138         * modules/isnand-nolibm-tests (Files): Likewise.
23139         * modules/isnand-tests (Files): Likewise.
23140         * modules/isnanf-nolibm-tests (Files): Likewise.
23141         * modules/isnanf-tests (Files): Likewise.
23142         * modules/isnanl-nolibm-tests (Files): Likewise.
23143         * modules/isnanl-tests (Files): Likewise.
23144         * modules/round-tests (Files): Likewise.
23145         * modules/roundf-tests (Files): Likewise.
23146         * modules/roundl-tests (Files): Likewise.
23147         * modules/ldexpl-tests (Files): Likewise.
23148         * modules/signbit-tests (Files): Likewise.
23149         * modules/snprintf-posix-tests (Files): Likewise.
23150         * modules/sprintf-posix-tests (Files): Likewise.
23151         * modules/strtod-tests (Files): Likewise.
23152         * modules/trunc-tests (Files): Likewise.
23153         * modules/truncf-tests (Files): Likewise.
23154         * modules/truncl-tests (Files): Likewise.
23155         * modules/vsnprintf-posix-tests (Files): Likewise.
23156         * modules/vsprintf-posix-tests (Files): Likewise.
23157         * modules/vasnprintf-posix-tests (Files): Likewise.
23158         * modules/vasprintf-posix-tests (Files): Likewise.
23159         * tests/test-ceilf1.c (main): Use it.
23160         * tests/test-ceill.c (main): Likewise.
23161         * tests/test-floorf1.c (main): Likewise.
23162         * tests/test-floorl.c (main): Likewise.
23163         * tests/test-frexp.c (main): Likewise.
23164         * tests/test-frexpl.c (main): Likewise.
23165         * tests/test-isnan.c (main): Likewise.
23166         * tests/test-isnand.h (main): Likewise.
23167         * tests/test-isnanf.h (main): Likewise.
23168         * tests/test-isnanl.h (main): Likewise.
23169         * tests/test-ldexpl.c (main): Likewise.
23170         * tests/test-round.c (main): Likewise.
23171         * tests/test-roundf.c (main): Likewise.
23172         * tests/test-roundl.c (main): Likewise.
23173         * tests/test-signbit.c (test_signbitf, test_signbitd)
23174         (test_signbitl): Likewise.
23175         * tests/test-snprintf-posix.h (test_function): Likewise.
23176         * tests/test-sprintf-posix.h (test_function): Likewise.
23177         * tests/test-strtod.c (main): Likewise.
23178         * tests/test-trunc1.c (main): Likewise.
23179         * tests/test-truncf1.c (main): Likewise.
23180         * tests/test-truncl.c (main): Likewise.
23181
23182         isnanl: work around icc bug
23183         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
23184
23185 2010-11-03  Eric Blake  <eblake@redhat.com>
23186
23187         tests: fix compiler warnings
23188         * tests/test-getopt.h (test_getopt): Fix condition.
23189         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23190         * tests/test-pipe2.c (main): Likewise.
23191         * tests/test-quotearg-simple.c (main): Avoid icc warning.
23192
23193         utimens: fix broken m4 test
23194         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
23195
23196 2010-10-28  Bruno Haible  <bruno@clisp.org>
23197
23198         posix_spawn*, getdtablesize: Relax license.
23199         * modules/posix_spawn (License): Change to LGPLv2+.
23200         * modules/posix_spawnp (License): Likewise.
23201         * modules/posix_spawn-internal (License): Likewise.
23202         * modules/posix_spawnattr_init (License): Likewise.
23203         * modules/posix_spawnattr_getflags (License): Likewise.
23204         * modules/posix_spawnattr_setflags (License): Likewise.
23205         * modules/posix_spawnattr_getpgroup (License): Likewise.
23206         * modules/posix_spawnattr_setpgroup (License): Likewise.
23207         * modules/posix_spawnattr_getschedparam (License): Likewise.
23208         * modules/posix_spawnattr_setschedparam (License): Likewise.
23209         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
23210         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
23211         * modules/posix_spawnattr_getsigdefault (License): Likewise.
23212         * modules/posix_spawnattr_setsigdefault (License): Likewise.
23213         * modules/posix_spawnattr_getsigmask (License): Likewise.
23214         * modules/posix_spawnattr_setsigmask (License): Likewise.
23215         * modules/posix_spawnattr_destroy (License): Likewise.
23216         * modules/posix_spawn_file_actions_init (License): Likewise.
23217         * modules/posix_spawn_file_actions_addclose (License): Likewise.
23218         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
23219         * modules/posix_spawn_file_actions_addopen (License): Likewise.
23220         * modules/posix_spawn_file_actions_destroy (License): Likewise.
23221         * modules/getdtablesize (License): Likewise.
23222         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
23223
23224 2010-10-26  Bruno Haible  <bruno@clisp.org>
23225
23226         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
23227         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
23228         Cygwin and mingw.
23229         Suggested by Eric Blake.
23230
23231 2010-10-26  Bruno Haible  <bruno@clisp.org>
23232
23233         stdio: Work around compilation error due to renameat() on Solaris 10.
23234         * lib/stdio.in.h: Include <unistd.h> on Solaris.
23235         * lib/renameat.c: Don't include <unistd.h> here.
23236         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
23237         Reported by Paul Eggert and Eric Blake.
23238
23239 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
23240
23241         renameat: port to Solaris 10, which declares renameat in unistd.h
23242
23243         * lib/renameat.c: Include unistd.h before stdio.h, because
23244         Solaris 10 declares renameat in unistd.h.  Problem encountered
23245         when building GNU tar 1.24 on Solaris 10.
23246
23247 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23248
23249         fdopendir: fix C89 compilation
23250         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
23251         compilers.
23252
23253 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
23254
23255         inttostr: simplify by removing unnecessary redundancy
23256         * lib/anytostr.c: Don't include verify.h.
23257         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
23258         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
23259         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
23260         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
23261         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
23262         Likewise.
23263         * modules/inttostr (Depends-on): Remove 'verify'.
23264
23265 2010-10-23  Bruno Haible  <bruno@clisp.org>
23266
23267         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
23268         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
23269         Reported by Eric Blake.
23270
23271 2010-10-23  Bruno Haible  <bruno@clisp.org>
23272
23273         Tests: Fix LOCALE_JA on MirBSD 10.
23274         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
23275         to an UTF-8 locale.
23276         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
23277         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23278         Reported by Eric Blake.
23279
23280 2010-10-21  Bruno Haible  <bruno@clisp.org>
23281
23282         nl_langinfo test: Avoid test failure on NetBSD 5.
23283         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
23284         Reported by Eric Blake.
23285
23286 2010-10-21  Eric Blake  <eblake@redhat.com>
23287
23288         c-stack: work around libsigsegv 2.8 bug
23289         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
23290         overflow on at least PowerPC64.
23291
23292 2010-10-17  Bruno Haible  <bruno@clisp.org>
23293
23294         userspec: Drop redundant file.
23295         * modules/userspec (Files): Remove lib/inttostr.h.
23296
23297 2010-10-17  Bruno Haible  <bruno@clisp.org>
23298
23299         nl_langinfo tests: Silence some warnings.
23300         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
23301         Reported by Jim Meyering.
23302
23303 2010-10-17  Bruno Haible  <bruno@clisp.org>
23304
23305         Make use of GCC's attribute __alloc_size__.
23306         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
23307         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
23308         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
23309         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
23310         __alloc_size__.
23311         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
23312         Suggested by Jim Meyering.
23313
23314 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
23315
23316         bootstrap: anchor .gitignore entries.
23317         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
23318         with...
23319         (insert_vc_ignore): ... this new function, which prepends `/' to
23320         all .gitignore entries before passing them to
23321         insert_sorted_if_absent.
23322
23323 2010-10-16  Bruno Haible  <bruno@clisp.org>
23324
23325         nextafter: Fix configure check.
23326         * modules/nextafter (configure.ac): Correct expected prototype.
23327
23328 2010-10-16  Bruno Haible  <bruno@clisp.org>
23329
23330         termios: Update documentation.
23331         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
23332
23333 2010-10-16  Bruno Haible  <bruno@clisp.org>
23334
23335         tests: Make them compile with TinyCC.
23336         * tests/test-strstr.c (main): Remove parentheses around array
23337         initializer.
23338
23339 2010-10-15  Eric Blake  <eblake@redhat.com>
23340
23341         ignore-value: make header idempotent
23342         * lib/ignore-value.h: Add double-inclusion guards.
23343         Reported by Stefan Berger.
23344
23345 2010-10-15  Jim Meyering  <meyering@redhat.com>
23346
23347         GNUmakefile: handle "stable" target, not "major"
23348         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
23349         lists in maint.mk and announce-gen.  Without this, "make stable"
23350         would fail to ensure that $(VERSION) is up to date.
23351
23352 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
23353
23354         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
23355         & co.
23356
23357 2010-10-14  Bruno Haible  <bruno@clisp.org>
23358
23359         vasnprintf: Don't set errno to 0.
23360         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
23361         block that sets it to 0.
23362         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23363
23364 2010-10-14  Bruno Haible  <bruno@clisp.org>
23365
23366         socketlib: Fix.
23367         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
23368         gl_PREREQ_SYS_H_WINSOCK2.
23369         Reported by Ian Beckwith <ianb@erislabs.net>.
23370
23371 2010-10-13  Jim Meyering  <meyering@redhat.com>
23372
23373         test-select-stdin.c: avoid warn_unused_result warnings
23374         * tests/test-select-stdin.c: Include "macros.h".
23375         ASSERT that read and fflush succeed.
23376
23377 2010-10-13  Jim Meyering  <meyering@redhat.com>
23378
23379         git-version-gen: do require git-VC'd files in cwd
23380         * build-aux/git-version-gen: Reject a git version string
23381         if there are no commits associated with the current directory.
23382         This avoids an unlikely false-positive (unrelated dir whose parent
23383         repository also contains a tag matching v*), as pointed out
23384         by Giuseppe Scrivano in
23385         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
23386
23387 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
23388
23389         argv-iter: omit nonconforming declaration
23390         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
23391         enum arg_iter_err declaration, which doesn't conform to C99.
23392         Solaris 10 cc warns about this.
23393
23394 2010-10-13  Eric Blake  <eblake@redhat.com>
23395
23396         termios: fix compilation on mingw
23397         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
23398         (gl_TERMIOS_H): Adjust it on mingw.
23399         * modules/termios (Makefile.am): Substitute new key.
23400         * lib/termios.in.h (includes): Make include_next conditional.
23401         * doc/posix-headers/termios.texi (termios.h): Update
23402         documentation.
23403         Reported by Daniel P. Berrange.
23404
23405 2010-10-13  Jim Meyering  <meyering@redhat.com>
23406
23407         git-version-gen: don't require that .git/ be in the current dir
23408         * build-aux/git-version-gen: Adjust this script so that it works
23409         when run from any working directory beneath the top-level .git/-
23410         containing directory.  Inspired by a patch from Giuseppe Scrivano,
23411         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
23412
23413         test-select: avoid warn_unused_result warnings
23414         * tests/test-select.c: Include "macros.h".
23415         ASSERT that each call to read, write, and pipe succeeds.
23416         While not technically required, also check each "close".
23417         * modules/select-tests (Files): Add tests/macros.h.
23418
23419         test-symlinkat: remove declaration of unused local
23420         * tests/test-symlinkat.c (main): Remove unused local, "buf".
23421
23422         test-inttostr: avoid shadowing warnings
23423         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
23424         and use malloc rather than the stack for the same reason as
23425         mentioned in the comment justifying the other allocation.
23426
23427 2010-10-11  Bruno Haible  <bruno@clisp.org>
23428
23429         stdlib: Allow multiple gnulib generated replacements to coexist.
23430         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
23431         Reported by Sam Steingold <sds@gnu.org>.
23432
23433 2010-10-11  Jim Meyering  <meyering@redhat.com>
23434
23435         fix a documentation typo
23436         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
23437
23438 2010-10-11  Eric Blake  <eblake@redhat.com>
23439
23440         futimens: work around Solaris 11 bug
23441         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
23442         * tests/test-futimens.h (test_futimens): Enhance, rather than
23443         weaken test.
23444         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23445
23446 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
23447
23448         Indentation.
23449         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
23450         higher-level operators more to the left.
23451
23452 2010-10-11  Jim Meyering  <meyering@redhat.com>
23453
23454         test-futimens: avoid unwarranted test failure on Solaris 5.11
23455         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
23456         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
23457         because it tries to dereference the NULL name argument.
23458
23459 2010-10-11  Bruno Haible  <bruno@clisp.org>
23460
23461         Indentation.
23462         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
23463         indentation.
23464
23465 2010-10-11  Jim Meyering  <meyering@redhat.com>
23466
23467         spawn.in.h: make indentation consistent with parentheses
23468         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
23469         Make indentation consistent with parentheses.
23470
23471 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
23472
23473         Fix mismatched parens in previous commit
23474         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
23475         parens.
23476
23477 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
23478
23479         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
23480
23481         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
23482         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
23483         * lib/malloca.c: Include "verify.h".
23484         (verify1): Remove, replacing with a verify call.
23485         * lib/relocwrapper.c (verify1): Likewise.
23486         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
23487         Likewise.
23488         * modules/malloca (Depends-on): Add 'verify'.
23489         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
23490         * modules/vasnprintf (Depends-on): Add 'verify'.
23491         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23492         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23493         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23494         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23495         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23496         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23497         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23498
23499         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
23500
23501         Formerly the style was sometimes 2*X - 1, because the C standard
23502         was wrongly thought to disallow ?: in integral constant expressions.
23503         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
23504         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
23505         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23506         * lib/stdint.in.h (_verify_intmax_size): Likewise.
23507         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
23508         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
23509         verify that time_t cannot be floating.
23510
23511 2010-10-08  Eric Blake  <eblake@redhat.com>
23512
23513         time: enforce recent POSIX ruling that time_t is integral
23514         * lib/time.in.h (__time_t_must_be_integral): Detect any
23515         problematic systems, allowing the rest of gnulib to assume POSIX.
23516
23517 2010-10-08  Jim Meyering  <meyering@redhat.com>
23518
23519         fdopendir: fix a bug on systems lacking openat and /proc support
23520         OpenBSD 4.7 is one such system.  The most noticeable effect was
23521         failure of any application making nontrivial use of fts: rm, du,
23522         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
23523           ./rm: traversal failed: `a': Bad file descriptor
23524         Debugging that, you see that even though FD 6 was closed just
23525         prior to the opendir call in fd_clone_opendir, its resulting
23526         dir->dd_fd was 8, rather than the expected value of 6:
23527
23528         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
23529         93                close (fd);
23530         (gdb) n
23531         94                dir = fd_clone_opendir (dupfd);
23532         (gdb) n
23533         95                saved_errno = errno;
23534         (gdb) p dir->dd_fd
23535         $11 = 8
23536
23537         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
23538         The problem is that on OpenBSD, fd_clone_opendir has to resort
23539         to using the old-style save/restore CWD mechanism, due to its
23540         lack of openat/proc support, and *that* would steal the FD (6)
23541         that opendir was supposed to use.
23542
23543         The fix is to squirrel away the desired FD so that save_cwd uses a
23544         different one, and then free the dest FD right before calling opendir.
23545         That guarantees opendir will use the required file descriptor.
23546
23547         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
23548
23549 2010-10-08  Bruno Haible  <bruno@clisp.org>
23550
23551         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
23552         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
23553
23554 2010-10-08  Bruno Haible  <bruno@clisp.org>
23555
23556         nanosleep: Make replacement POSIX compliant.
23557         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
23558         is out of range.
23559         Reported by Jim Meyering.
23560
23561 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23562
23563         bootstrap: add hook for altering gnulib.mk, for Bison
23564         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
23565         the Bison bootstrapping process can rewrite file names and variables
23566         in this file before later parts of 'bootstrap' use the file.
23567         Bison wants to include lib/gnulib.mk from the top-level makefile,
23568         so it needs the file names in this file to be relative to the top
23569         level, not relative to lib; plus it needs variable names to be
23570         rewritten.
23571         (slurp): Use the new function.
23572
23573         bootstrap: reformat for readability
23574         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
23575
23576 2010-10-08  Eric Blake  <eblake@redhat.com>
23577
23578         docs: update cygwin progress
23579         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
23580         1.7.7.
23581         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
23582         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
23583         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
23584         * doc/posix-functions/carg.texi (carg): Likewise.
23585         * doc/posix-functions/cargf.texi (cargf): Likewise.
23586         * doc/posix-functions/casin.texi (casin): Likewise.
23587         * doc/posix-functions/casinf.texi (casinf): Likewise.
23588         * doc/posix-functions/casinh.texi (casinh): Likewise.
23589         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
23590         * doc/posix-functions/catan.texi (catan): Likewise.
23591         * doc/posix-functions/catanf.texi (catanf): Likewise.
23592         * doc/posix-functions/catanh.texi (catanh): Likewise.
23593         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
23594         * doc/posix-functions/ccos.texi (ccos): Likewise.
23595         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
23596         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
23597         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
23598         * doc/posix-functions/cexp.texi (cexp): Likewise.
23599         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
23600         * doc/posix-functions/cimag.texi (cimag): Likewise.
23601         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
23602         * doc/posix-functions/clog.texi (clog): Likewise.
23603         * doc/posix-functions/clogf.texi (clogf): Likewise.
23604         * doc/posix-functions/conj.texi (conj): Likewise.
23605         * doc/posix-functions/conjf.texi (conjf): Likewise.
23606         * doc/posix-functions/cpow.texi (cpow): Likewise.
23607         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
23608         * doc/posix-functions/cproj.texi (cproj): Likewise.
23609         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
23610         * doc/posix-functions/creal.texi (creal): Likewise.
23611         * doc/posix-functions/crealf.texi (crealf): Likewise.
23612         * doc/posix-functions/csin.texi (csin): Likewise.
23613         * doc/posix-functions/csinf.texi (csinf): Likewise.
23614         * doc/posix-functions/csinh.texi (csinh): Likewise.
23615         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
23616         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
23617         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
23618         * doc/posix-functions/ctan.texi (ctan): Likewise.
23619         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
23620         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
23621         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
23622         * doc/posix-headers/complex.texi (complex.h): Likewise.
23623
23624 2010-10-07  Jim Meyering  <meyering@redhat.com>
23625
23626         parse-datetime: avoid compilation failure on OpenBSD 4.7
23627         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
23628         This works around a compilation failure on OpenBSD 4.7:
23629         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
23630
23631 2010-10-07  Eric Blake  <eblake@redhat.com>
23632
23633         docs: update cygwin progress
23634         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
23635         1.7.6.
23636         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23637         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
23638         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
23639         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
23640         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
23641         Likewise.
23642         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
23643         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
23644         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
23645         Likewise.
23646         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
23647         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
23648         Likewise.
23649         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
23650         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
23651         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
23652         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
23653         Likewise.
23654         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
23655         Likewise.
23656         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
23657
23658         docs: update parse-datetime history
23659         * doc/parse-datetime.texi (Authors of parse_datetime): Better
23660         documentation of this function's history and alternatives.
23661
23662         cygwin: use more robust version check
23663         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
23664         exclude an eventual cygwin 1.9.1.
23665         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23666         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23667         (gl_FUNC_STRCASESTR): Likewise.
23668         Reported by Bruno Haible.
23669
23670 2010-10-06  Bruno Haible  <bruno@clisp.org>
23671
23672         string, sys_select: Avoid #including large headers unless necessary.
23673         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
23674         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
23675         OSF/1, BeOS, Haiku.
23676         Reported by Jim Meyering.
23677
23678 2010-10-05  Eric Blake  <eblake@redhat.com>
23679
23680         memmem, strstr, strcasestr: fix bug with long periodic needle
23681         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23682         periodic needle having false positive.
23683         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23684         and cygwin 1.7.7.
23685         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23686         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23687         (gl_FUNC_STRCASESTR): Likewise.
23688         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23689         * tests/test-memmem.c (main): Expose the bug.
23690         * tests/test-strcasestr.c (main): Likewise.
23691         * tests/test-strstr.c (main): Likewise.
23692         * tests/test-c-strcasestr.c (main): Likewise.
23693         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23694         * doc/posix-functions/strstr.texi (strstr): Likewise.
23695         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23696         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23697
23698 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23699
23700         parse-datetime: do some more renaming
23701         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23702         parse_datetime, not get_date.  Mention the renaming.
23703         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23704         in comments.
23705         * m4/bison.m4: Likewise.
23706
23707 2010-10-05  Eric Blake  <eblake@redhat.com>
23708
23709         parse-datetime: better name than get_date
23710         * NEWS: Reword the deprecation notice.
23711         * modules/get_date: Rename to modules/parse-datetime.
23712         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23713         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23714         * lib/get_date.y: Rename to lib/parse-datetime.y.
23715         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23716         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23717         * doc/getdate.texi: Provide fallback wrapper.
23718         * lib/getdate.h: Move guts, and wrap...
23719         * lib/parse-datetime.h: ...new file.
23720         * lib/parse-datetime.y (get_date): Rename...
23721         (parse_datetime): ...to this.
23722         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23723         (gl_PARSE_DATETIME): ...to this.
23724         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23725         documentation.
23726         * modules/getdate (Files): Provide fallback docs and header.
23727         (Notice, Depends-on): Update references.
23728         * tests/test-parse-datetime.c: Likewise.
23729         * DEPENDENCIES: Likewise.
23730         * MODULES.html.sh (Date and time <time.h>): Likewise.
23731         * doc/parse-datetime.texi (Date input formats)
23732         (Authors of parse_datetime): Likewise.
23733         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23734         (Include): Likewise.
23735         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23736         * gnulib-tool: Likewise.
23737         * m4/bison.m4 (gl_BISON): Likewise.
23738         Suggested by Bruno Haible.
23739
23740 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23741
23742         more ports to Solaris tr, which needs [] around ranges
23743         * gnulib-tool: Solaris tr needs [] around ranges.
23744         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23745         * tests/test-pipe-filter-gi1.c (main): Likewise.
23746         * tests/test-pipe-filter-ii1.c (main): Likewise.
23747
23748 2010-10-05  Eric Blake  <eblake@redhat.com>
23749
23750         bootstrap: fix Solaris regression
23751         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23752         around ranges.
23753         Reported by Pádraig Brady.
23754
23755         bootstrap: work with pkg-config
23756         * build-aux/bootstrap (check_versions): Also transliterate - in
23757         prerequisite name.
23758         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23759         prerequisites that were already found, to avoid confusion.
23760         Reported by Justin Clift.
23761
23762         faccessat: remove unused wrappers
23763         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23764         presence of these wrappers dragged in -lgen on Solaris.
23765         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23766
23767 2010-10-05  Jim Meyering  <meyering@redhat.com>
23768
23769         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23770         * Makefile (sc_pragma_columns): New syntax-check rule.
23771
23772 2010-10-04  Bruno Haible  <bruno@clisp.org>
23773
23774         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23775         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23776         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23777         Reported by Bruce Korb and Eric Blake.
23778
23779 2010-10-04  Bruno Haible  <bruno@clisp.org>
23780
23781         threadlib: Make option --with-libpth-prefix work.
23782         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23783         use $LIBPTH, not just -lpth.
23784
23785 2010-10-04  Bruno Haible  <bruno@clisp.org>
23786
23787         Avoid line length limitation from HP NonStop system header files.
23788         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23789         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23790         * lib/ctype.in.h: Likewise.
23791         * lib/dirent.in.h: Likewise.
23792         * lib/errno.in.h: Likewise.
23793         * lib/fcntl.in.h: Likewise.
23794         * lib/float.in.h: Likewise.
23795         * lib/getopt.in.h: Likewise.
23796         * lib/iconv.in.h: Likewise.
23797         * lib/inttypes.in.h: Likewise.
23798         * lib/langinfo.in.h: Likewise.
23799         * lib/locale.in.h: Likewise.
23800         * lib/math.in.h: Likewise.
23801         * lib/netdb.in.h: Likewise.
23802         * lib/netinet_in.in.h: Likewise.
23803         * lib/poll.in.h: Likewise.
23804         * lib/pthread.in.h: Likewise.
23805         * lib/pty.in.h: Likewise.
23806         * lib/sched.in.h: Likewise.
23807         * lib/se-selinux.in.h: Likewise.
23808         * lib/search.in.h: Likewise.
23809         * lib/signal.in.h: Likewise.
23810         * lib/spawn.in.h: Likewise.
23811         * lib/stdarg.in.h: Likewise.
23812         * lib/stddef.in.h: Likewise.
23813         * lib/stdint.in.h: Likewise.
23814         * lib/stdio.in.h: Likewise.
23815         * lib/stdlib.in.h: Likewise.
23816         * lib/string.in.h: Likewise.
23817         * lib/strings.in.h: Likewise.
23818         * lib/sys_file.in.h: Likewise.
23819         * lib/sys_ioctl.in.h: Likewise.
23820         * lib/sys_select.in.h: Likewise.
23821         * lib/sys_socket.in.h: Likewise.
23822         * lib/sys_stat.in.h: Likewise.
23823         * lib/sys_time.in.h: Likewise.
23824         * lib/sys_times.in.h: Likewise.
23825         * lib/sys_utsname.in.h: Likewise.
23826         * lib/sys_wait.in.h: Likewise.
23827         * lib/sysexits.in.h: Likewise.
23828         * lib/termios.in.h: Likewise.
23829         * lib/time.in.h: Likewise.
23830         * lib/unistd.in.h: Likewise.
23831         * lib/wchar.in.h: Likewise.
23832         * lib/wctype.in.h: Likewise.
23833         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
23834         * modules/ctype (Makefile.am): Likewise.
23835         * modules/dirent (Makefile.am): Likewise.
23836         * modules/errno (Makefile.am): Likewise.
23837         * modules/fcntl-h (Makefile.am): Likewise.
23838         * modules/float (Makefile.am): Likewise.
23839         * modules/getopt-posix (Makefile.am): Likewise.
23840         * modules/iconv-h (Makefile.am): Likewise.
23841         * modules/inttypes (Makefile.am): Likewise.
23842         * modules/langinfo (Makefile.am): Likewise.
23843         * modules/locale (Makefile.am): Likewise.
23844         * modules/math (Makefile.am): Likewise.
23845         * modules/netdb (Makefile.am): Likewise.
23846         * modules/netinet_in (Makefile.am): Likewise.
23847         * modules/poll-h (Makefile.am): Likewise.
23848         * modules/pthread (Makefile.am): Likewise.
23849         * modules/pty (Makefile.am): Likewise.
23850         * modules/sched (Makefile.am): Likewise.
23851         * modules/search (Makefile.am): Likewise.
23852         * modules/selinux-h (Makefile.am): Likewise.
23853         * modules/signal (Makefile.am): Likewise.
23854         * modules/spawn (Makefile.am): Likewise.
23855         * modules/stdarg (Makefile.am): Likewise.
23856         * modules/stddef (Makefile.am): Likewise.
23857         * modules/stdint (Makefile.am): Likewise.
23858         * modules/stdio (Makefile.am): Likewise.
23859         * modules/stdlib (Makefile.am): Likewise.
23860         * modules/string (Makefile.am): Likewise.
23861         * modules/strings (Makefile.am): Likewise.
23862         * modules/sys_file (Makefile.am): Likewise.
23863         * modules/sys_ioctl (Makefile.am): Likewise.
23864         * modules/sys_select (Makefile.am): Likewise.
23865         * modules/sys_socket (Makefile.am): Likewise.
23866         * modules/sys_stat (Makefile.am): Likewise.
23867         * modules/sys_time (Makefile.am): Likewise.
23868         * modules/sys_times (Makefile.am): Likewise.
23869         * modules/sys_utsname (Makefile.am): Likewise.
23870         * modules/sys_wait (Makefile.am): Likewise.
23871         * modules/sysexits (Makefile.am): Likewise.
23872         * modules/termios (Makefile.am): Likewise.
23873         * modules/time (Makefile.am): Likewise.
23874         * modules/unistd (Makefile.am): Likewise.
23875         * modules/wchar (Makefile.am): Likewise.
23876         * modules/wctype (Makefile.am): Likewise.
23877
23878 2010-10-04  Bruno Haible  <bruno@clisp.org>
23879
23880         read-file tests: Avoid a test failure on NonStop Kernel.
23881         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23882         a regular file.
23883         Reported by Joachim Schmitz <schmitz@hp.com>.
23884
23885 2010-10-03  Bruno Haible  <bruno@clisp.org>
23886
23887         gnulib-tool: Fixes for --create-testdir with --libtool.
23888         * gnulib-tool (func_get_automake_snippet): Don't augment
23889         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23890         an executable.
23891         (func_create_testdir): Handle module 'alloca' like func_import.
23892         Reported by Bruce Korb <bruce.korb@gmail.com>.
23893
23894 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23895
23896         Avoid some lines longer than 80 characters.
23897         * lib/stdint.in.h: Break long comment lines.
23898         * lib/math.in.h: Likewise.
23899         (_GL_NUM_UINT_WORDS): New macro, for readability.
23900         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23901         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23902         * lib/stdlib.in.h: Likewise.
23903         * lib/spawn.in.h: Likewise.
23904         * lib/sys_socket.in.h: Update an URL.
23905         * lib/sys_stat.in.h: Break long line.
23906
23907 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23908
23909         Improve pmccabe2html.
23910         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23911         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23912         when the sources change. Remove the line in the HTML about "Used
23913         ranges" (which implied that there might be other unused ranges),
23914         rename "Resume" to "Summary" (easier to understand for more users).
23915         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23916         styles, and some unnecessary blank lines.
23917
23918 2010-10-03  Bruno Haible  <bruno@clisp.org>
23919             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23920
23921         acl: Add support for ACLs on NonStop Kernel.
23922         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23923         Check whether the function aclsort() exists.
23924         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23925         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23926         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23927         (acl_nontrivial [HAVE_ACLSORT]: New function.
23928         (file_has_acl): Implement for NonStop Kernel.
23929         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23930         (qset_acl): Implement for NonStop Kernel.
23931         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23932         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23933         (main): Implement for NonStop Kernel.
23934         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23935         Kernel. Handle this flavor.
23936         * tests/test-set-mode-acl.sh: Likewise.
23937         * tests/test-copy-acl.sh: Likewise.
23938         * tests/test-copy-file.sh: Likewise.
23939
23940 2010-10-03  Bruno Haible  <bruno@clisp.org>
23941
23942         Info about ACLs on NonStop Kernel.
23943         * doc/acl-resources.txt: Add info about NonStop Kernel.
23944         References by Joachim Schmitz <schmitz@hp.com>.
23945
23946 2010-10-02  Bruno Haible  <bruno@clisp.org>
23947
23948         Define missing EDQUOT on NonStop Kernel.
23949         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23950         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23951         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23952         missing.
23953         * doc/posix-headers/errno.texi: Mention the NSK bug.
23954         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23955         Reported by Joachim Schmitz <schmitz@hp.com>.
23956
23957 2010-10-02  Bruno Haible  <bruno@clisp.org>
23958
23959         Update doc for POSIX:2008.
23960         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
23961         Update URL of POSIX specification.
23962
23963 2010-10-02  Bruno Haible  <bruno@clisp.org>
23964
23965         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
23966         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
23967         from gnulib, not from Automake.
23968
23969 2010-10-02  Bruno Haible  <bruno@clisp.org>
23970
23971         New module 'system-posix'.
23972         * modules/system-posix: New file.
23973         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
23974         module is present.
23975         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23976         GNULIB_SYSTEM_POSIX.
23977         * modules/stdlib (Depends-on): Remove sys_wait.
23978         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
23979         * doc/posix-functions/system.texi: Mention the new module.
23980         * doc/posix-headers/stdlib.texi: Likewise.
23981         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
23982         define test_sys_wait_macros to a no-op.
23983         Reported by Sam Steingold <sds@gnu.org>.
23984
23985 2010-09-30  Bruno Haible  <bruno@clisp.org>
23986
23987         More renaming from 'getdate' to 'get_date'.
23988         * doc/get_date.texi: Renamed from doc/getdate.texi.
23989         * modules/get_date (Files): Update.
23990         * MODULES.html.sh (Date and time <time.h>): Update.
23991         * DEPENDENCIES: Update.
23992         * gnulib-tool: Update comment.
23993         * m4/bison.m4 (gl_BISON): Likewise.
23994         * m4/get_date.m4 (gl_GET_DATE): Likewise.
23995
23996 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
23997
23998         bootstrap: support ACLOCAL_FLAGS during aclocal
23999         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
24000         can add additional -I dir for third-party .m4 files.
24001
24002 2010-09-30  Eric Blake  <eblake@redhat.com>
24003
24004         bootstrap: use glibtoolize on MacOS
24005         * build-aux/bootstrap (check_versions): Convert libtool into
24006         libtoolize.
24007         (tool search): Move libtool check earlier, and look for
24008         glibtoolize for MacOS.
24009         (gnulib_tool_options): Auto-add --libtool when appropriate.
24010         Reported by Justin Clift.
24011
24012         poll: fix typo that broke test on MacOS
24013         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
24014         Reported by Justin Clift.
24015
24016         getdate: rename to get_date
24017         Note: getdate.h is not renamed, to minimize client impact.
24018         * modules/getdate: Mark obsolete.  Move old contents...
24019         * modules/get_date: ...to new module name.
24020         * modules/getdate-tests: Move...
24021         * modules/get_date-tests: ...here.
24022         * m4/getdate.m4: Move...
24023         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
24024         * lib/getdate.y: Move...
24025         * lib/get_date.y: ...here.
24026         * tests/test-getdate.c: Move...
24027         * tests/test-get_date.c: ...here.
24028         * doc/posix-functions/getdate.texi (getdate): Update name.
24029         * NEWS: Mention the change.
24030
24031 2010-09-29  Bruno Haible  <bruno@clisp.org>
24032
24033         Separate the module 'waitpid' from the module 'sys_wait'.
24034         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
24035         present.
24036         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
24037         gl_MODULE_INDICATOR_FOR_TESTS.
24038         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
24039         * modules/sys_wait (Depends-on): Remove waitpid.
24040         (Makefile.am): Substitute GNULIB_WAITPID.
24041         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
24042         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
24043         signature only if the 'waitpid' module is present.
24044         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
24045         * NEWS: Mention the change.
24046         * modules/grantpt (Depends-on): Add waitpid.
24047         * modules/wait-process (Depends-on): Likewise.
24048
24049 2010-09-29  Bruno Haible  <bruno@clisp.org>
24050
24051         More tests for module 'sys_wait'.
24052         * modules/sys_wait-c++-tests: New file.
24053         * tests/test-sys_wait-c++.cc: New file.
24054         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
24055         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24056
24057 2010-09-29  Bruno Haible  <bruno@clisp.org>
24058
24059         New module 'waitpid'.
24060         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
24061         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
24062         Don't include <process.h>.
24063         (waitpid): Declare only, using modern idiom.
24064         * m4/waitpid.m4: New file.
24065         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
24066         * modules/waitpid: New file.
24067         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
24068         (Makefile.am): Update.
24069         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24070
24071 2010-09-28  Bruno Haible  <bruno@clisp.org>
24072
24073         poll: Assume ANSI C.
24074         * lib/poll.c (poll): Use an ANSI C declaration.
24075
24076 2010-09-28  Bruno Haible  <bruno@clisp.org>
24077
24078         poll-h: Create poll.h on all platforms.
24079         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
24080         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
24081         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
24082         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
24083         (gl_REPLACE_POLL_H): Don't set POLL_H.
24084         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
24085         * modules/poll-h (Depends-on): Add include_next.
24086         (Makefile.am): Create poll.h unconditionally. Substitute also
24087         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
24088
24089 2010-09-28  Bruno Haible  <bruno@clisp.org>
24090
24091         Tests for module 'poll-h'.
24092         * modules/poll-h-c++-tests: New file.
24093         * tests/test-poll-h-c++.cc: New file.
24094
24095         Tests for module 'poll-h'.
24096         * modules/poll-h-tests: New file.
24097         * tests/test-poll-h.c: New file.
24098
24099 2010-09-28  Bruno Haible  <bruno@clisp.org>
24100
24101         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
24102         * modules/poll-h (Depends-on): Add 'extensions'.
24103
24104 2010-09-28  Bruno Haible  <bruno@clisp.org>
24105
24106         New module 'poll-h'.
24107         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
24108         (poll): Use modern idiom.
24109         * modules/poll-h: New file.
24110         * modules/poll (Files): Remove lib/poll.in.h.
24111         (Depends-on): Add poll-h.
24112         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
24113         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
24114         * m4/poll_h.m4: New file.
24115         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
24116         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
24117         and invoke gl_REPLACE_POLL_H.
24118         * lib/poll.c: Use common idiom.
24119         * tests/test-poll.c: Likewise.
24120         * doc/posix-headers/poll.texi: Mention the poll-h module.
24121         Suggested by Eric Blake.
24122
24123 2010-09-26  Bruno Haible  <bruno@clisp.org>
24124
24125         sys_wait: Implement WSTOPSIG.
24126         * lib/sys_wait.in.h (WSTOPSIG): New macro.
24127         Reported by Simon Josefsson.
24128
24129 2010-09-26  Simon Josefsson  <simon@josefsson.org>
24130
24131         stdlib, sys_wait: Avoid compilation error on mingw.
24132         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
24133
24134 2010-09-26  Bruno Haible  <bruno@clisp.org>
24135
24136         stdlib tests: Avoid code duplication.
24137         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
24138         * modules/sys_wait-tests (Files): Likewise.
24139         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
24140         * tests/test-stdlib.c: Include test-sys_wait.h.
24141         (main): Invoke test_sys_wait_macros.
24142         * tests/test-sys_wait.c: Include test-sys_wait.h.
24143         (main): Invoke test_sys_wait_macros.
24144
24145 2010-09-25  Simon Josefsson  <simon@josefsson.org>
24146
24147         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
24148         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
24149         sure Windows sockets are working before calling getaddrinfo.
24150         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
24151         * doc/gnulib.texi (Windows sockets): Fix typo.
24152
24153 2010-09-25  Bruno Haible  <bruno@clisp.org>
24154
24155         Tests for module 'regex-quote'.
24156         * modules/regex-quote-tests: New file.
24157         * tests/test-regex-quote.c: New file.
24158
24159         New module 'regex-quote'.
24160         * lib/regex-quote.h: New file.
24161         * lib/regex-quote.c: New file.
24162         * modules/regex-quote: New file.
24163         Suggested by Reuben Thomas <rrt@sc3d.org>.
24164
24165 2010-09-24  Bruno Haible  <bruno@clisp.org>
24166
24167         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
24168         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
24169
24170 2010-09-23  Bruno Haible  <bruno@clisp.org>
24171
24172         setenv: Relax license.
24173         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
24174         Blake.
24175         Requested by Eric Blake.
24176
24177 2010-09-22  Bruno Haible  <bruno@clisp.org>
24178
24179         termios: Relax license.
24180         * modules/termios (License): Change to LGPLv2+.
24181         Requested by Eric Blake.
24182
24183 2010-09-22  Bruno Haible  <bruno@clisp.org>
24184
24185         threadlib: Allow the package to change the default to 'no'.
24186         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
24187         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
24188         Reported by Paul Eggert.
24189
24190 2010-09-22  Pádraig Brady  <P@draigbrady.com>
24191             Bruno Haible  <bruno@clisp.org>
24192
24193         Fix endless loop in mbmemcasecoll.
24194         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
24195         byte.
24196         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
24197
24198 2010-09-22  Bruno Haible  <bruno@clisp.org>
24199
24200         Tests for module 'memcoll'.
24201         * modules/memcoll-tests: New file.
24202         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
24203
24204         memcoll, xmemcoll: Clarify size vs. length.
24205         * modules/memcoll.c (memcoll0): Clarify specification.
24206         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
24207         passed to collate_error.
24208
24209 2010-09-22  Bruno Haible  <bruno@clisp.org>
24210
24211         Tests for module 'memcasecmp'.
24212         * modules/memcasecmp-tests: New file.
24213         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
24214
24215 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24216
24217         * lib/pthread.in.h: Add split double-inclusion guard, and include
24218         system <pthread.h> if there is one.  Use @@-style as in other
24219         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
24220         pthread.h doesn't.
24221         (pthread_mutexattr_destroy, pthread_mutexattr_init):
24222         (pthread_mutexattr_settype, pthread_mutex_trylock):
24223         New static inline functions, if there's no system <pthread.h>.
24224         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
24225         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
24226         Approximate with mutexes if the system lacks spinlocks, as in
24227         MacOS.
24228         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
24229         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
24230         @@-style.  Check for spinlocks separately.
24231         (gl_PTHREAD_DEFAULTS): New macro.
24232         * modules/pthread: Redo to use a more typical style for in.h files.
24233
24234 2010-09-21  Eric Blake  <eblake@redhat.com>
24235
24236         net_if: enhance tests
24237         * tests/test-net_if.c (main): Move signature checks earlier.
24238         Print failures to stderr.
24239         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
24240         Document the bug that we do not yet fix.
24241
24242 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24243
24244         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
24245         about gnulib, not GSS.
24246
24247 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24248
24249         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
24250         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
24251         for Emacs.
24252         * build-aux/pmccabe2html: Make Makefile.am example code more
24253         cut-and-paste friendly.
24254
24255 2010-09-21  Simon Josefsson  <simon@josefsson.org>
24256
24257         * tests/test-net_if.c: New file.
24258         * modules/net_if-tests: New file.
24259
24260 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24261
24262         pthread: add pthread_spin_destroy
24263         * lib/pthread.in.h (pthread_spin_destroy): New function.
24264
24265 2010-09-19  Bruno Haible  <bruno@clisp.org>
24266
24267         gnulib-tool: Fix --help output.
24268         * gnulib-tool (func_usage): Fix help message.
24269         Reported by Reuben Thomas <rrt@sc3d.org>.
24270
24271 2010-09-18  Jim Meyering  <meyering@redhat.com>
24272
24273         maint.mk: avoid unexpanded \n in two diagnostics
24274         * top/maint.mk (sc_prohibit_always_true_header_tests):
24275         Don't use a literal \n in a halt=... assignment.  It would not be
24276         expanded, and the two \n bytes would appear in the diagnostic output
24277         rather than the desired newline.  Use halt=$$(printf ... instead.
24278         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24279
24280 2010-09-18  Bruno Haible  <bruno@clisp.org>
24281
24282         netinet_in: Doc tweak.
24283         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
24284         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24285
24286 2010-09-18  Jim Meyering  <meyering@redhat.com>
24287
24288         init.sh: correct an outdated comment
24289         * tests/init.sh (create_exe_shims_):  s/function/alias/
24290
24291         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
24292         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
24293         a file named "*.exe" is removed between the glob expansion and the
24294         processing of that oddly named file.
24295
24296 2010-09-17  Eric Blake  <eblake@redhat.com>
24297
24298         mirbsd: add some more support
24299         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
24300         in BSD family.
24301         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
24302         devices as OpenBSD.
24303         * m4/host-os.m4 (mirbsd): Add MirBSD.
24304
24305         tests: fix unportable assumption on sys/wait.h
24306         * tests/test-sys_wait.c (main): Relax test.
24307         * tests/test-stdlib.c (main): Likewise.
24308
24309         init.sh: accomodate directory with no .exes
24310         * tests/init.sh: Accomodate directory containing only scripts.
24311
24312         tests: avoid compiler warning
24313         * tests/test-stdlib.c (main): Use the variable.
24314
24315         fdutimens, fdutimensat: update signature, again
24316         * lib/utimens.h (gl_futimens): Delete, and move signature...
24317         (fdutimens): ...here.
24318         (fdutimensat): Rearrange signature.
24319         (lutimensat): Rename variable for clarity.
24320         * lib/fdutimensat.c (fdutimensat): Update signature.
24321         * lib/utimens.c (fdutimens): Likewise.
24322         (gl_futimens): Delete.
24323         (utimens, lutimens): Update callers.
24324         * lib/futimens.c (futimens): Likewise.
24325         * tests/test-fdutimensat.c: Likewise.
24326         * tests/test-utimens.c: Likewise.
24327         * tests/test-futimens.h: Update comment.
24328         * NEWS: Mention this.
24329         Suggested by Paul Eggert.
24330
24331 2010-09-17  Bruno Haible  <bruno@clisp.org>
24332
24333         Take over the maintenance of some older macros from Autoconf.
24334         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
24335         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
24336         GNU Autoconf.
24337         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
24338         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
24339
24340 2010-09-17  Eric Blake  <eblake@redhat.com>
24341
24342         fdutimensat: drop atflag validation
24343         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
24344         with valid fd, to close a race scenario where futimens is
24345         unsupported and FILE was replaced by a symlink.
24346         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
24347         accordingly.
24348         Suggested by Paul Eggert.
24349
24350 2010-09-16  Bruno Haible  <bruno@clisp.org>
24351
24352         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
24353         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
24354
24355 2010-09-16  Bruno Haible  <bruno@clisp.org>
24356
24357         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
24358         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
24359         login_tty exists.
24360         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24361
24362 2010-09-16  Bruno Haible  <bruno@clisp.org>
24363
24364         login_tty: Make the replacement code work on BSD systems.
24365         * lib/login_tty.c: Include <sys/ioctl.h>.
24366         (login_tty): Use ioctl TIOCSCTTY when available.
24367         * modules/login_tty (Depends-on): Add sys_ioctl.
24368         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24369
24370 2010-09-16  Bruno Haible  <bruno@clisp.org>
24371
24372         login_tty: Stricter unit test.
24373         * modules/login_tty-tests (Depends-on): Add tcgetsid.
24374         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
24375         and tcgetsid() after login_tty.
24376         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24377
24378 2010-09-16  Bruno Haible  <bruno@clisp.org>
24379
24380         New module 'tcgetsid'.
24381         * lib/tcgetsid.c: New file.
24382         * m4/tcgetsid.m4: New file.
24383         * modules/tcgetsid: New file.
24384         * modules/termios (Depends-on): Add c++defs, warn-on-use.
24385         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
24386         GNULIB_TCGETSID, HAVE_TCGETSID.
24387         * lib/termios.in.h: Include <sys/types.h>.
24388         (tcgetsid): New declaration.
24389         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
24390         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
24391         * doc/posix-functions/tcgetsid.texi: Mention the new module.
24392         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
24393
24394 2010-09-16  Bruno Haible  <bruno@clisp.org>
24395
24396         Tests for module 'termios'.
24397         * modules/termios-c++-tests: New file.
24398         * modules/termios-tests: New file.
24399         * tests/test-termios-c++.cc: New file.
24400         * tests/test-termios.c: New file.
24401
24402         New module 'termios'.
24403         * modules/termios: New file.
24404         * lib/termios.in.h: New file.
24405         * m4/termios_h.m4: New file.
24406         * doc/posix-headers/termios.texi: Mention the new module.
24407
24408 2010-09-16  Eric Blake  <eblake@redhat.com>
24409
24410         fdutimensat: add an atflag parameter
24411         * lib/fdutimensat.c (fdutimensat): Add new parameter.
24412         * lib/utimens.h (fdutimensat): Update prototype.
24413         * tests/test-fdutimensat.c: Adjust test to match.
24414         * NEWS: Document the change.
24415         Suggested by Paul Eggert.
24416
24417 2010-09-16  Bruno Haible  <bruno@clisp.org>
24418
24419         Fix typos in comments.
24420         * lib/striconveh.h: Fix typo in comment.
24421         * lib/login_tty.c (login_tty): Likewise.
24422
24423 2010-09-15  Bruno Haible  <bruno@clisp.org>
24424
24425         stdlib: clarify MirBSD WEXITSTATUS bug
24426         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
24427         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24428
24429 2010-09-15  Eric Blake  <eblake@redhat.com>
24430
24431         stdlib: work around MirBSD WEXITSTATUS bug
24432         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
24433         * modules/stdlib (Depends-on): Add sys_wait.
24434         * tests/test-sys_wait.c (main): Enhance test.
24435         * tests/test-stdlib.c (main): Likewise.
24436         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
24437
24438         docs: mention MacOS issue with WEXITSTATUS(constant)
24439         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
24440         issue.
24441         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24442
24443         strnlen: add tests
24444         * modules/strnlen-tests: New file.
24445         * tests/test-strnlen.c: Likewise.
24446
24447 2010-09-14  Bruno Haible  <bruno@clisp.org>
24448
24449         unistr/base: Avoid link errors when module 'libunistring' is also used.
24450         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
24451         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
24452         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
24453         Declare also when HAVE_LIBUNISTRING is set.
24454         Reported by Pádraig Brady <P@draigbrady.com>.
24455
24456 2010-09-14  Eric Blake  <eblake@redhat.com>
24457
24458         test-rawmemchr: make more robust
24459         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
24460         (Depends-on, configure.ac): Add needed prerequisites to use it.
24461         * modules/memchr-tests (Files, Depends-on, configure.ac):
24462         Likewise, to avoid implicit reliance on memchr module prereqs.
24463         * tests/test-memchr.c (main): Ensure proper masking.
24464         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
24465         reads.
24466
24467         memchr: detect glibc Alpha bug
24468         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
24469         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
24470         Alpha.
24471         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
24472         * tests/test-memchr.c (main): Enhance test.
24473         Reported by Nelson H. F. Beebe.
24474
24475 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24476
24477         fts, getcwd, glob: audit for dirfd returning -1
24478         * lib/fts.c (opendir): Remove #define; no longer used.
24479         (opendirat): New arg PDIR_FD.  All callers changed.
24480         (fts_build, _opendir2): Use new opendirat to avoid the need for
24481         dirfd, or for checking whether dirfd returns a negative value.
24482         Don't use opendir; always use openat followed by fdopendir.
24483         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
24484         it.
24485         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
24486         returns -1 here.
24487         * modules/fts (Depends-on): Remove dirfd.
24488         * modules/getcwd (Depends-on): Likewise.
24489
24490 2010-09-13  Eric Blake  <eblake@redhat.com>
24491
24492         float: fix broken MirBSD header
24493         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
24494         * doc/posix-headers/float.texi (float.h): Document it.
24495
24496 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24497
24498         fts: use O_NOFOLLOW to avoid race condition when opening a directory
24499         * lib/fts.c (opendirat): New arg extra_flags.
24500         (__opendir2): Use it to avoid following symlinks when opening
24501         a directory, if symlinks are not supposed to be followed.  See
24502         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
24503
24504         fdopendir: preserve argument fd before returning
24505         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
24506         (fdopendir_with_dup, fd_clone_opendir): New static functions.
24507         (fdopendir): Use them, arranging for FD to be open to the same
24508         directory that it was when it started.  (It might be temporarily
24509         closed while fdopendir is running, so this not thread- or
24510         signal-safe.)  Be careful to do the right thing even when file
24511         descriptors are scarce and dup fails with errno == EMFILE.  See
24512         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
24513
24514 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
24515
24516         regex: Pass the system regex if its only problem is 32-bit regoff_t.
24517         * NEWS: Document change.
24518         * m4/regex.m4: Disable test for regoff_t size.
24519
24520 2010-09-13  Jim Meyering  <meyering@redhat.com>
24521
24522         fts: don't operate on an invalid file descriptor after failed dup
24523         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
24524         negative file descriptor.
24525
24526 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
24527
24528         savedir: add streamsavedir, deprecate fdsavedir
24529         * NEWS: Mention deprecation of fdsavedir.
24530         * lib/savedir.c (streamsavedir): New extern function, whose name
24531         ends in "savedir" to be consistent with the others.  This differs
24532         from savedirstream in that it doesn't close its argument.  The
24533         next version of GNU tar will use this instead of fdsavedir, to
24534         avoid some race conditions and conserve file descriptors.
24535         (savedirstream): Reimplement as a wrapper around streamsavedir.
24536         (fdsavedir): Add a comment deprecating this function.  As far as
24537         I know, only GNU tar used it, and GNU tar doesn't need it any more.
24538         * lib/savedir.h (streamsavedir): New decl.
24539         (fdsavedir): Add a comment deprecating this.
24540
24541 2010-09-10  Bruno Haible  <bruno@clisp.org>
24542
24543         langinfo: Fix last commit.
24544         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
24545         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
24546         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24547
24548 2010-09-10  Bruno Haible  <bruno@clisp.org>
24549
24550         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
24551         * lib/progreloc.c (O_EXEC): Define fallback.
24552
24553 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
24554
24555         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
24556         * NEWS: Document recent changes to fcntl-h.
24557         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
24558         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
24559         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
24560         Similarly for O_SEARCH; this last was already true, but not documented.
24561         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
24562         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
24563         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
24564         Likewise.
24565         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
24566         is zero, not whether it is defined.
24567         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
24568         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
24569         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
24570
24571 2010-09-10  Bruno Haible  <bruno@clisp.org>
24572
24573         langinfo, nl_langinfo: Fix for IRIX 5.3.
24574         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
24575         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
24576         HAVE_LANGINFO_YESEXPR.
24577         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
24578         HAVE_LANGINFO_YESEXPR.
24579         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
24580         HAVE_LANGINFO_T_FMT_AMPM is 0.
24581         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
24582         HAVE_LANGINFO_YESEXPR is 0.
24583         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
24584         NOEXPR.
24585         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
24586         * doc/posix-functions/nl_langinfo.texi: Likewise.
24587         Reported by Eric Blake.
24588
24589 2010-09-10  Bruno Haible  <bruno@clisp.org>
24590
24591         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
24592         * doc/glibc-functions/login_tty.texi: Mention the include file problem
24593         on FreeBSD 8.0 and OpenBSD 4.6.
24594         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
24595         * m4/pty_h.m4 (gl_PTY_H): Likewise.
24596         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
24597         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
24598         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
24599         ac_includes_default.
24600         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24601
24602 2010-09-09  Eric Blake  <eblake@redhat.com>
24603
24604         strsignal: work around NetBSD bug
24605         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
24606         * lib/string.in.h (includes): Likewise.
24607         * doc/posix-functions/strsignal.texi (strsignal): Document the
24608         bug.
24609         Reported by Nelson H. F. Beebe.
24610
24611         gnulib-tool: work with NetBSD /bin/sh
24612         * gnulib-tool (func_cache_var, func_cache_lookup_module)
24613         (func_get_description, func_get_comment, func_get_status)
24614         (func_get_notice, func_get_applicability, func_get_filelist)
24615         (func_get_dependencies, func_get_autoconf_early_snippet)
24616         (func_get_autoconf_snippet, func_get_automake_snippet)
24617         (func_get_include_directive, func_get_link_directive)
24618         (func_get_license, func_get_maintainer, func_import): Avoid
24619         shell syntax errors from parsing syntax extensions.
24620
24621 2010-09-09  Bruno Haible  <bruno@clisp.org>
24622
24623         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24624         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
24625         a reliable way to determine whether the 'alias' command works.
24626
24627 2010-09-08  Jim Meyering  <meyering@redhat.com>
24628
24629         init.sh: penalize a set-x-impaired shell; don't disqualify it
24630         * tests/init.sh: Too many shells corrupt application stderr when
24631         you set -x, so we can't afford to disqualify them, since at least
24632         on Irix-6.5, that would disqualify all bourne shells.
24633         Instead, use a two-pass approach.
24634         On the first pass, try to find a shell that meets the stricter
24635         condition that set -x does not corrupt stderr.
24636         If no shell meets the stricter condition, retest each candidate
24637         shell, but without that extra condition.  Finally, when
24638         VERBOSE=yes is requested and set -x might cause trouble, simply
24639         issue a warning and refrain from enabling debug output.
24640
24641 2010-09-08  Eric Blake  <eblake@redhat.com>
24642
24643         unsetenv: fix OpenBSD bug
24644         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
24645         * doc/posix-functions/unsetenv.texi (unsetenv): Update
24646         documentation.
24647         Reported by Jim Meyering.
24648
24649         strtod: work around IRIX 6.5 bug
24650         * lib/strtod.c (strtod): Reparse number on shorter string if
24651         exponent parse was invalid.
24652         * tests/test-strtod.c (main): Add check for "0x1p 2".
24653         Reported by Tom G. Christensen.
24654
24655         getopt: optimize previous patch
24656         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
24657         empty variable.  Speed up awk script.
24658         Reported by Paolo Bonzini.
24659
24660 2010-09-08  Jim Meyering  <meyering@redhat.com>
24661
24662         test.sh: disqualify shells for which set -x corrupts stderr
24663         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
24664         and OpenBSD 4.7.  They make it so with "set -x", environment settings
24665         appear in stderr output.  For example, this command:
24666             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
24667         prints "P=1" on those two systems:
24668
24669 2010-09-08  Bruno Haible  <bruno@clisp.org>
24670
24671         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24672         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
24673         commands, because some shells ignore redirections when there is an
24674         error in the command lookup.
24675         Reported by Eric Blake.
24676
24677 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
24678
24679         * lib/regex.h: Fix a mention of `regex_compile' (should be
24680         `re_compile_pattern').
24681         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24682         (re_set_registers): Correct name of parameter in comment.
24683
24684         * doc/regex.texi: Add documentation for missing syntax flags.
24685         Remove commented-out documentation of defunct syntax option
24686         RE_NO_EMPTY_ALTS.
24687         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24688         Add documentation of re_set_registers.
24689         Document trick to re-use a pattern buffer by setting fastmap manually.
24690         Update documentation of struct re_pattern_buffer per public members.
24691         Uncomment documentation of equivalence class operators and
24692         collating symbol operators, since they are now implemented,
24693         Explain leftmost-longest matching in relation to alternatives.
24694         Tidy documentation of substring matching.
24695         Remove POSIX documentation, which is done better in
24696         glibc, and refer the reader there. Keep BSD API documentation, as
24697         that is not readily available elsewhere.
24698
24699 2010-09-07  Eric Blake  <eblake@redhat.com>
24700
24701         getopt: handle POSIXLY_CORRECT set but not exported
24702         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24703         export state of POSIXLY_CORRECT, due to bash set -o posix.
24704         Reported by Dustin J. Mitchell.
24705
24706 2010-09-05  Bruno Haible  <bruno@clisp.org>
24707
24708         gnulib-tool: Highlight the changed options.
24709         * gnulib-tool (func_usage): Display the --import, --add-import,
24710         --remove-import explanations in bold font.
24711
24712 2010-09-06  Karl Berry  <karl@gnu.org>
24713
24714         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24715
24716 2010-09-05  Bruno Haible  <bruno@clisp.org>
24717
24718         uniwidth/width: Update comment.
24719         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24720         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24721
24722 2010-09-05  Bruno Haible  <bruno@clisp.org>
24723
24724         isinf, isnan: Relax license.
24725         * modules/isinf (License): Change from GPL to LGPL, with consent from
24726         Ben Pfaff.
24727         * modules/isnan (License): Likewise.
24728         Requested by Ludovic Courtès.
24729
24730 2010-09-04  Bruno Haible  <bruno@clisp.org>
24731
24732         gnulib-tool: Help migration from --import to --add-import or --update.
24733         * gnulib-tool: Emit a verbose error message when --import is used
24734         without any module name.
24735
24736 2010-09-04  Bruno Haible  <bruno@clisp.org>
24737
24738         Update doc about gnulib-tool.
24739         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24740         'gnulib-tool --update' in more detail.
24741         Reported by Eric Blake.
24742
24743 2010-09-04  Bruno Haible  <bruno@clisp.org>
24744
24745         gnulib-tool: Change --import. New options --add/remove-import.
24746         * gnulib-tool: New options --add-import, --remove-import.
24747         (func_usage): Document them.
24748         (have_associative): Define always.
24749         (func_import): In import mode, don't merge the specified settings with
24750         the cached settings. Implement remove-import mode.
24751         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24752         Explain when to use them versus --import.
24753         (Simple update): Use --add-import instead of --import.
24754         * NEWS: Mention the change.
24755
24756 2010-09-04  Bruno Haible  <bruno@clisp.org>
24757
24758         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24759         separate gnulib.mk.
24760
24761 2010-09-04  Bruno Haible  <bruno@clisp.org>
24762
24763         gnulib-tool: Don't talk about CVS any more.
24764         * gnulib-tool (func_usage, func_import): Write "version control"
24765         instead of CVS.
24766
24767 2010-09-04  Jim Meyering  <meyering@redhat.com>
24768
24769         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24770         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24771         false positives (whose names may be ill-chosen) when searching
24772         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24773         would cause a false-positive.
24774
24775         avoid coreutils "make distcheck" failure
24776         Coreutils tests with an absolute build directory name that contains
24777         a space.  Not quoting this directory name caused a failure.
24778         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24779         * tests/test-vc-list-files-cvs.sh: Likewise.
24780
24781 2010-09-04  Bruno Haible  <bruno@clisp.org>
24782
24783         gnulib-tool: Avoid error when run in a package without Makefile.am.
24784         * gnulib-tool: When collecting the m4dirs in a package that does not
24785         have a Makefile.am, eliminate those directories that contain no
24786         gnulib-cache.m4. Fix expression that counts these directories.
24787
24788 2010-09-04  Bruno Haible  <bruno@clisp.org>
24789
24790         update-copyright test: Improve output when perl is missing or too old.
24791         * tests/test-update-copyright.sh: Move test of Perl version down after
24792         the test whether Perl exists. Provide an explanation relating Perl's
24793         error message to Automake's SKIP: message.
24794
24795 2010-09-04  Bruno Haible  <bruno@clisp.org>
24796
24797         Don't augment PATH in TESTS_ENVIRONMENT.
24798         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24799         set abs_aux_dir instead of augmenting PATH.
24800         * modules/vc-list-files-tests (Makefile.am): Likewise.
24801         * tests/test-update-copyright.sh: Augment PATH here.
24802         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24803         path_prepend_.
24804         * tests/test-vc-list-files-git.sh: Likewise.
24805
24806 2010-09-04  Jim Meyering  <meyering@redhat.com>
24807
24808         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24809         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24810
24811 2010-09-04  Bruno Haible  <bruno@clisp.org>
24812
24813         strdup: Fix compilation error in C++ mode.
24814         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24815         the macro.
24816
24817 2010-09-04  Bruno Haible  <bruno@clisp.org>
24818
24819         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
24820         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
24821         macro into a function.
24822         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24823
24824 2010-09-04  Bruno Haible  <bruno@clisp.org>
24825
24826         Set PATH_SEPARATOR the same way autoconf does.
24827         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
24828         the value of PATH_SEPARATOR the same way autoconf-generated configure
24829         scripts do.
24830         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
24831         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24832
24833 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24834
24835         Set PATH_SEPARATOR the same way autoconf does.
24836         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
24837         the same way autoconf-generated configure scripts do.
24838         * posix-modules: Likewise.
24839
24840 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
24841
24842         hash: fix safe_hasher const typo
24843         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
24844         const; otherwise, there is a type error later.
24845
24846 2010-09-02  Jim Meyering  <meyering@redhat.com>
24847
24848         test-update-copyright.sh: require perl 5.8.0
24849         * tests/test-update-copyright.sh: Require 5.8.0,
24850         which Tom G. Christensen has confirmed is adequate,
24851         while 5.6.1 is not.
24852
24853 2010-09-02  Eric Blake  <eblake@redhat.com>
24854
24855         tests: init.sh improvements for re-exec'ing with zsh
24856         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24857         -vx through shell re-exec.
24858         Reported by Tom G. Christensen.
24859
24860         wctype: fix typo in previous commit
24861         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24862         Reported by Ludovic Courtès.
24863
24864 2010-09-02  Jim Meyering  <meyering@redhat.com>
24865
24866         test-update-copyright.sh: skip test if Perl is too old
24867         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24868         Reported by Tom G. Christensen.
24869
24870 2010-09-02  Bruno Haible  <bruno@clisp.org>
24871
24872         wctype: Avoid compilation error on IRIX 6.5.30.
24873         * lib/wctype.in.h (iswblank): Declare with a replacement if
24874         REPLACE_ISWBLANK is set.
24875         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24876         declared. Set REPLACE_ISWBLANK.
24877         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24878         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24879         * doc/posix-headers/wctype.texi: Likewise.
24880         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24881
24882 2010-09-01  Bruno Haible  <bruno@clisp.org>
24883
24884         New module 'socketlib'.
24885         * modules/socketlib: New file.
24886         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24887         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24888         * modules/sockets (Depends-on): Add socketlib.
24889         Suggested by Sam Steingold <sds@gnu.org>.
24890
24891 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24892
24893         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24894
24895         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24896         when one needs search access to a directory but not read access.
24897         On systems where it is available, it works in some cases where
24898         O_RDONLY does not, namely on directories that are searchable but
24899         not readable, and which need only to be searchable.  If O_SEARCH
24900         is not available, fall back to the traditional method of using
24901         O_RDONLY.
24902
24903         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24904         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24905         when opening a directory that needs only to be searchable.
24906         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24907         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24908         * lib/openat-proc.c (openat_proc_name): Likewise.
24909         * lib/openat.c (openat_needs_fchdir): Likewise.
24910         * lib/save-cwd.c (save_cwd): Likewise.
24911         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24912
24913 2010-08-28  Bruno Haible  <bruno@clisp.org>
24914
24915         New module 'host-cpu-c-abi'.
24916         * modules/host-cpu-c-abi: New file.
24917         * m4/host-cpu-c-abi.m4: New file, based on part of
24918         clisp/src/m4/general.m4.
24919         Requested by Sam Steingold <sds@gnu.org>.
24920
24921 2010-08-31  Eric Blake  <eblake@redhat.com>
24922         and Jim Meyering  <meyering@redhat.com>
24923
24924         hash: factor, and guard against misbehaving hasher function
24925         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24926         of table->hasher's return value.  Also protect against a hash value
24927         so large that adding it to table->bucket results in a NULL pointer.
24928         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24929         Use it in place of open-coded check-and-abort.
24930
24931 2010-08-30  Bruno Haible  <bruno@clisp.org>
24932
24933         hash: silence spurious clang warning
24934         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24935         Reported by Eric Blake.
24936
24937 2010-08-30  Eric Blake  <eblake@redhat.com>
24938
24939         strstr, memmem, strcasestr: avoid leaked shell message
24940         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24941         FreeBSD.
24942         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24943         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24944
24945         tests: silence clang warning
24946         * tests/test-malloca.c (do_allocation): Avoid dead store.
24947
24948 2010-08-29  Bruno Haible  <bruno@clisp.org>
24949
24950         gettext: Fix recent mistake.
24951         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24952
24953 2010-08-29  Bruno Haible  <bruno@clisp.org>
24954
24955         selinux-h: Offer a --without-selinux option.
24956         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24957         --without-selinux was specified, skip all tests and define
24958         HAVE_SELINUX_SELINUX_H to 0.
24959         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
24960         set LIB_SELINUX to empty.
24961         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
24962         gl_LIBSELINUX. If --without-selinux was specified, replace
24963         selinux/context.h.
24964         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
24965
24966 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24967             Bruno Haible  <bruno@clisp.org>
24968
24969         Make the module 'realloc-gnu' work again on AIX and OSF/1.
24970         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
24971         of HAVE_REALLOC.
24972         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
24973         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
24974         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
24975         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24976
24977 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24978             Bruno Haible  <bruno@clisp.org>
24979
24980         Make the module 'calloc-gnu' work again on AIX and OSF/1.
24981         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
24982         HAVE_CALLOC.
24983         * lib/xmalloc.c: Update accordingly.
24984         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
24985         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
24986         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
24987
24988 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24989             Bruno Haible  <bruno@clisp.org>
24990
24991         Make the module 'malloc-gnu' work again on AIX and OSF/1.
24992         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
24993         HAVE_MALLOC.
24994         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
24995         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
24996         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24997
24998 2010-08-29  Bruno Haible  <bruno@clisp.org>
24999
25000         Update modules list.
25001         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
25002         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
25003         (String handling <string.h>): Add astrxfrm.
25004         (File system functions): Add readlinkat.
25005
25006 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25007
25008         Tests for module 'realloc-gnu'.
25009         * modules/realloc-gnu-tests: New file.
25010         * tests/test-realloc-gnu.c: New file.
25011
25012         Tests for module 'calloc-gnu'.
25013         * modules/calloc-gnu-tests: New file.
25014         * tests/test-calloc-gnu.c: New file.
25015
25016         Tests for module 'malloc-gnu'.
25017         * modules/malloc-gnu-tests: New file.
25018         * tests/test-malloc-gnu.c: New file.
25019
25020 2010-08-28  Bruno Haible  <bruno@clisp.org>
25021
25022         Rename module 'realloc' -> 'realloc-gnu'.
25023         * modules/realloc-gnu: New file, copied from modules/realloc.
25024         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
25025         obsolete.
25026         * modules/mgetgroups (Depends-on): Update.
25027         * doc/posix-functions/realloc.texi: Update.
25028         * NEWS: Mention the change.
25029
25030         Rename module 'calloc' -> 'calloc-gnu'.
25031         * modules/calloc-gnu: New file, copied from modules/calloc.
25032         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
25033         obsolete.
25034         * doc/posix-functions/calloc.texi: Update.
25035         * NEWS: Mention the change.
25036
25037         Rename module 'malloc' -> 'malloc-gnu'.
25038         * modules/malloc-gnu: New file, copied from modules/malloc.
25039         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
25040         obsolete.
25041         * modules/argp (Depends-on): Update.
25042         * modules/regex (Depends-on): Update.
25043         * doc/posix-functions/malloc.texi: Update.
25044         * NEWS: Mention the change.
25045
25046 2010-08-28  Eric Blake  <eblake@redhat.com>
25047
25048         pread, pwrite: add missing dependency
25049         * modules/pread (Depends-on): Add extensions.
25050         * modules/pwrite (Depends-on): Likewise.
25051
25052 2010-08-28  Bruno Haible  <bruno@clisp.org>
25053
25054         unistr/u*-strchr: Fix tests dependencies.
25055         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
25056         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
25057         Reported by Ian Beckwith <ianb@erislabs.net>.
25058
25059 2010-08-28  Bruno Haible  <bruno@clisp.org>
25060
25061         read-file: Don't occupy too much unused memory.
25062         * lib/read-file.c (fread_file): Shrink the buffer at the end.
25063
25064 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
25065             Eric Blake  <eblake@redhat.com>
25066             Bruno Haible  <bruno@clisp.org>
25067
25068         read-file: Avoid memory reallocations with regular files.
25069         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
25070         (fread_file): With regular files, use the remaining length as the
25071         initial buffer size.  Check against overflow.
25072         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
25073         sys_stat.
25074
25075 2010-08-28  Bruno Haible  <bruno@clisp.org>
25076
25077         ftello: Relax license.
25078         * modules/ftello (License): Relax to LGPLv2+.
25079         Reported by Eric Blake.
25080
25081 2010-08-28  Bruno Haible  <bruno@clisp.org>
25082
25083         Avoid relocwrapper link errors due to gnulib replacement functions.
25084         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
25085         function.
25086         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25087
25088 2010-08-28  Bruno Haible  <bruno@clisp.org>
25089
25090         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
25091         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
25092         defined.
25093         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
25094         Suggested by Eric Blake.
25095
25096 2010-08-28  Bruno Haible  <bruno@clisp.org>
25097
25098         sys_socket, netdb: Ensure socklen_t gets defined.
25099         * modules/sys_socket (Depends-on): Add socklen.
25100         * modules/netdb (Depends-on): Likewise.
25101         * modules/getaddrinfo (Depends-on): Remove socklen.
25102         * modules/getsockopt (Depends-on): Likewise.
25103         * modules/setsockopt (Depends-on): Likewise.
25104         * tests/test-sys_socket.c: Check that socklen_t is defined.
25105         * tests/test-netdb.c: Likewise.
25106         * m4/socklen.m4: Update comments.
25107         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25108
25109 2010-08-27  Eric Blake  <eblake@redhat.com>
25110
25111         login_tty: add missing dependency
25112         * modules/login_tty (Depends-on): Add pty.
25113
25114 2010-08-26  Eric Blake  <eblake@redhat.com>
25115
25116         lib-symbol-versions: fix m4 quoting
25117         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
25118         format for AC_LINK_IFELSE.
25119
25120         glob: fix compile test
25121         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
25122
25123         btowc: fix missing file
25124         * modules/btowc (Files): Also ship locale-fr.m4.
25125
25126         lseek: fix link test
25127         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
25128         AC_LINK_IFELSE.
25129
25130         include_next: silence autoconf 2.68 warning
25131         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
25132         AC_COMPILE_IFELSE as special.
25133         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
25134         autoconf < 2.68.
25135
25136         acl: fix compilation test
25137         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
25138         AC_COMPILE_IFELSE.
25139
25140 2010-08-26  Bruno Haible  <bruno@clisp.org>
25141
25142         Modernize AC_TRY_RUN invocations.
25143         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
25144         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25145         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
25146         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
25147         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
25148         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25149         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25150         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25151         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25152         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25153         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25154         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25155         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25156         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25157         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25158         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
25159         gl_MBRLEN_NUL_RETVAL): Likewise.
25160         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25161         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
25162         Likewise.
25163         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25164         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25165         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25166         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25167         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
25168         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
25169         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
25170         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
25171         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
25172         Likewise.
25173         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
25174         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
25175         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25176         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25177         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25178         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25179         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25180         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
25181         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25182         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25183
25184 2010-08-26  Bruno Haible  <bruno@clisp.org>
25185
25186         Modernize AC_TRY_LINK invocations.
25187         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
25188         AC_TRY_LINK.
25189         * m4/argp.m4 (gl_ARGP): Likewise.
25190         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
25191         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
25192         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
25193         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
25194         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
25195         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
25196         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
25197         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
25198         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
25199         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
25200         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
25201         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
25202         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
25203         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25204         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25205         * m4/hostent.m4 (gl_HOSTENT): Likewise.
25206         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25207         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
25208         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
25209         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
25210         Likewise.
25211         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
25212         Likewise.
25213         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
25214         Likewise.
25215         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
25216         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
25217         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
25218         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
25219         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
25220         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25221         * m4/servent.m4 (gl_SERVENT): Likewise.
25222         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
25223         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
25224         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
25225         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
25226         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25227         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
25228         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
25229         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25230         * modules/tsearch-tests (configure.ac): Likewise.
25231
25232 2010-08-26  Bruno Haible  <bruno@clisp.org>
25233
25234         Modernize AC_TRY_COMPILE invocations.
25235         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
25236         AC_TRY_COMPILE.
25237         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
25238         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
25239         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
25240         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
25241         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
25242         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
25243         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25244         * m4/lock.m4 (gl_LOCK): Likewise.
25245         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
25246         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
25247         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
25248         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
25249         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
25250         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
25251         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
25252         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
25253         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
25254         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
25255         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
25256         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25257         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
25258         extraneous semicolon.
25259
25260 2010-08-26  Jim Meyering  <meyering@redhat.com>
25261
25262         stat-time: relax license LGPL
25263         * modules/stat-time (License): Change from GPL to LGPL,
25264         with consent from all contributors, for use in libguile.
25265         Requested by Ludovic Courtès.
25266
25267 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
25268
25269         poll: return immediately on POLLHUP.
25270         * lib/poll.c (poll): Always set timeout before wait_timeout is
25271         computed.
25272
25273 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25274
25275         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
25276         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
25277         rmdir ("dir/.//"), unlinkat.
25278
25279 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25280
25281         stdbool: avoid spurious failure with modern xlc
25282         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25283
25284 2010-08-24  Bruno Haible  <bruno@clisp.org>
25285
25286         getloadavg: simplify code
25287         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
25288         gl_have_func. Update comments.
25289
25290 2010-08-24  Eric Blake  <eblake@redhat.com>
25291
25292         getloadavg: don't define SVR4 on cygwin
25293         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
25294         only define SVR4 when -lkvm is required.
25295         Reported by Yaakov Selkowitz.
25296
25297 2010-08-24  Bruno Haible  <bruno@clisp.org>
25298
25299         priv-set: fix comment
25300         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
25301
25302 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
25303
25304         priv-set: fix comments
25305         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
25306         to match code, as suggested by David Bartley in:
25307         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
25308
25309 2010-08-23  Eric Blake  <eblake@redhat.com>
25310
25311         stdbool: avoid rejecting clang
25312         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25313         * tests/test-stdbool.c: Enable more tests if using the system
25314         <stdbool.h> instead of the gnulib replacement.
25315         (main): Move xlc bug test to a runtime test for all compilers.
25316         Reported by Anders Kaseorg.
25317
25318         argz: fix shell quoting issue
25319         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
25320         Reported by Charles Wilson.
25321
25322 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
25323             Erik Faye-Lund <kusmabite@gmail.com>
25324
25325         poll, select: handle ERROR_BROKEN_PIPE.
25326         * lib/poll.c (win32_compute_revents): Return POLLHUP when
25327         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25328         * lib/select.c (win32_compute_revents): Do not mark a pipe
25329         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25330
25331 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
25332
25333         fts: allow compilation with C++
25334         * lib/fts_.h: Specify extern "C" linkage with C++.
25335
25336 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25337
25338         Fix gnulib-tool sed script de-commentation for AIX sed.
25339         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
25340         sed.
25341
25342 2010-08-17  Eric Blake  <eblake@redhat.com>
25343
25344         test-stddef: test for (some) offsetof bugs
25345         * tests/test-stddef.c: Enhance test to ensure correct type of
25346         offsetof.
25347         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
25348         that we are not fixing at this time.
25349
25350 2010-08-15  Bruno Haible  <bruno@clisp.org>
25351
25352         stpncpy: Allow stpncpy to be defined as a macro.
25353         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
25354         if it's already correctly declared.
25355         * lib/string.in.h (stpncpy): Undefine before redefining.
25356         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
25357
25358 2010-08-14  Bruno Haible  <bruno@clisp.org>
25359
25360         Rename module 'memxfrm' to 'amemxfrm'.
25361         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
25362         (amemxfrm): Renamed from memxfrm.
25363         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
25364         (amemxfrm): Renamed from memxfrm.
25365         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
25366         * NEWS: Mention the change.
25367         * MODULES.html.sh (String handling <string.h>): Update.
25368         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
25369         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
25370         * lib/unicase/u16-casexfrm.c: Likewise.
25371         * lib/unicase/u32-casexfrm.c: Likewise.
25372         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
25373         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
25374         * lib/uninorm/u16-normxfrm.c: Likewise.
25375         * lib/uninorm/u32-normxfrm.c: Likewise.
25376         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
25377         memxfrm.
25378         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
25379         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
25380         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
25381         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
25382         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
25383         Suggested by Paul Eggert.
25384
25385 2010-08-14  Bruno Haible  <bruno@clisp.org>
25386
25387         Tests for module 'astrxfrm'.
25388         * modules/astrxfrm-tests: New file.
25389         * tests/test-astrxfrm.c: New file.
25390
25391         New module 'astrxfrm'.
25392         * lib/astrxfrm.h: New file.
25393         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
25394         * modules/astrxfrm: New file.
25395
25396 2010-08-14  Reuben Thomas <rrt@sc3d.org>
25397
25398         regex: Tweak doc.
25399         * doc/regex.texi (Overview): Don't mention regex.c.
25400         (GNU Regular Expression Compiling): Likewise.
25401         (Match-end-of-line Operator): Mention 'not_eol'.
25402
25403 2010-08-14  Brian Gough  <bjg@gnu.org>
25404             Bruno Haible  <bruno@clisp.org>
25405
25406         git-merge-changelog: add doc relating to use with bzr and hg.
25407         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
25408
25409 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
25410
25411         pthread: fix pthread.h creation for srcdir != builddir
25412         * modules/pthread (Makefile.am): Fix the rule to work also in a
25413         non-srcdir build.
25414
25415 2010-08-13  Karl Berry  <karl@gnu.org>
25416
25417         * doc/regex.texi (Predefined Syntaxes): @smallexample.
25418         * doc/posix-*/*: force line break before @url of POSIX
25419         specifications.
25420         Suggested by Werner Lemberg.
25421
25422 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25423
25424         strtod: fix const diagnostic
25425         * lib/strtod.c (strtod): Don't assign const char * to char *,
25426         as this elicits a warning from GCC when warnings are enabled.
25427
25428 2010-08-10  Pádraig Brady <P@draigbrady.com>
25429         and Eric Blake  <eblake@redhat.com>
25430
25431         copy-acl: ignore ENOTSUP on HP-UX
25432         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
25433         so that it is available for HP-UX.
25434         * lib/copy-acl.c (qcopy_acl): Use it.
25435         Reported by Patrick M. Callahan.
25436
25437 2010-08-10  Eric Blake  <eblake@redhat.com>
25438
25439         open, chown: relax license
25440         * modules/open (License): Change to LGPLv2+, with consent by all
25441         authors, for use in augeas.
25442         * modules/chown (License): Likewise.
25443         * modules/lchown (Likewise): Likewise.
25444         Requested by Adam Stokes.
25445
25446 2010-08-09  Karl Berry  <karl@gnu.org>
25447
25448         * build-aux/ar-lib: new file, import from Automake.
25449         * config/srclist.txt: autocheck for updates.
25450
25451 2010-08-09  Eric Blake  <eblake@redhat.com>
25452
25453         readlinkat: adjust client modules
25454         * modules/areadlinkat (Depends-on): Use readlinkat, not
25455         symlinkat.
25456         * modules/areadlinkat-with-size (Depends-on): Likewise.
25457
25458         mknod: be more vocal about danger of running tests as root
25459         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
25460         root, since that is just asking for problems.
25461         Suggested by Bruno Haible, based on a report by Rainer Tammer.
25462
25463         readlinkat: split into its own module
25464         * modules/symlinkat: Split readlinkat...
25465         * modules/readlinkat: ...into separate module.
25466         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
25467         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
25468         * lib/symlinkat.c (readlinkat): Move...
25469         * lib/readlinkat.c: ...into new file.
25470         * modules/symlinkat-tests: Split readlinkat test...
25471         * modules/readlinkat-tests: ...into separate module.
25472         * tests/test-symlinkat.c: Split...
25473         * tests/test-readlinkat.c: ...into new file.
25474         * NEWS: Document the split.
25475         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25476         * lib/unistd.in.h (readlinkat): Likewise.
25477         Suggested by Bruno Haible.
25478
25479 2010-08-08  Bruno Haible  <bruno@clisp.org>
25480
25481         memxfrm: Speed up.
25482         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
25483         that usually only one call to strxfrm is necessary for each string
25484         part.
25485         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25486
25487 2010-08-07  Karl Berry  <karl@gnu.org>
25488
25489         * doc/posix-headers/limits.texi,
25490         * doc/posix-functions/malloc.texi,
25491         * doc/posix-functions/strsignal.texi: missing @item.
25492         * doc/ld-version-script.texi: spurious leading i.
25493         * doc/regex.texi (Interval Operators): no commas inside @var.
25494
25495 2010-08-01  Bruno Haible  <bruno@clisp.org>
25496
25497         Integrate the regex documentation.
25498         * doc/gnulib.texi: Define 'cn' index.
25499         (Regular expressions): New a chapter that includes regex.texi and
25500         regexprops-generic.texi.
25501         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
25502         syntax.
25503
25504         Whitespace cleanup.
25505         * doc/regex.texi: Remove trailing spaces.
25506
25507         Add regex documentation.
25508         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
25509         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
25510         Written by Kathy A. Hargreaves and Karl Berry.
25511
25512 2010-08-01  Bruno Haible  <bruno@clisp.org>
25513
25514         link: Update documentation.
25515         * doc/posix-functions/link.texi: Update regarding Solaris.
25516
25517 2010-07-31  Bruno Haible  <bruno@clisp.org>
25518
25519         Update modules list.
25520         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
25521         (String handling <string.h>): Add memcmp2, memxfrm.
25522         (Container data structures): Add xlist, xsublist, xoset.
25523         (Core language properties): Add alignof, unused-parameter.
25524         (Process control, Numeric conversion functions <stdlib.h>): Renamed
25525         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
25526         (Unibyte characters <ctype.h>): New section.
25527         (String handling <string.h>): New section.
25528         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
25529         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
25530         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
25531         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
25532         tan, tanh, tanl, y0, y1, yn.
25533         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
25534         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
25535         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
25536         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
25537         unlockpt, vdprintf, vdprintf-posix.
25538         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
25539         (File system functions): Add concat-filename, sys_file, sys_ioctl,
25540         xconcat-filename.
25541         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
25542         getdtablesize, pipe2, pipe2-safer.
25543         (Security): New section.
25544         (Networking functions): Add accept4.
25545         (Signal handling): Add sigpipe.
25546         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
25547         mbmemcasecoll.
25548         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
25549         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
25550         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
25551         pipe-filter-ii.
25552         (Misc): Add argp-version-etc, login_tty, parse-duration.
25553
25554 2010-07-31  Bruno Haible  <bruno@clisp.org>
25555
25556         Improve doc in MODULES.html.
25557         * modules/linkat (Description): Add the word "function".
25558         * modules/mkfifo (Description): Likewise.
25559         * modules/mknod (Description): Likewise.
25560         * modules/remove (Description): Likewise.
25561         * modules/renameat (Description): Likewise.
25562         * modules/stat (Description): Likewise.
25563         * modules/symlink (Description): Likewise.
25564         * modules/unlink (Description): Likewise.
25565
25566 2010-07-31  Bruno Haible  <bruno@clisp.org>
25567
25568         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
25569         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
25570         option --enable/disable-c++ instead of --enable/disable-cxx.
25571         * NEWS: Mention the change.
25572
25573 2010-07-31  Bruno Haible  <bruno@clisp.org>
25574
25575         readlink, areadlink: Relax test a bit.
25576         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
25577         alternative to ENOTDIR.
25578         * tests/test-areadlink.h (test_areadlink): Likewise.
25579         Reported by Rainer Tammer.
25580
25581 2010-07-31  Bruno Haible  <bruno@clisp.org>
25582
25583         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
25584         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
25585         character, perform the search using U_STRCHR.
25586         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
25587         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
25588         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
25589         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
25590         Suggested by Paolo Bonzini.
25591
25592 2010-07-31  Bruno Haible  <bruno@clisp.org>
25593
25594         unistr/u*-strstr: Fix dependencies.
25595         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
25596         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
25597         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
25598
25599 2010-07-31  Bruno Haible  <bruno@clisp.org>
25600
25601         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
25602         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
25603         the beginning of the loop.
25604         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
25605         cases in 'switch' statement.
25606
25607         unistr/u8-strchr: Fix several bugs.
25608         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
25609         the string. When not found, return NULL, not a pointer near the end.
25610
25611         More tests for unistr/u8-strchr.
25612         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
25613         that the function does not read past the first occurrence of the byte
25614         being searched.
25615         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
25616         * tests/unistr/test-u16-strchr.c (main): New function.
25617         * tests/unistr/test-u32-strchr.c (main): New function.
25618
25619 2010-07-31  Bruno Haible  <bruno@clisp.org>
25620
25621         posix-modules: Ignore backup files of documentation files.
25622         * posix-modules: grep only through files named *.texi.
25623
25624 2010-07-31  Bruno Haible  <bruno@clisp.org>
25625
25626         symlinkat: Fix documentation.
25627         * doc/posix-functions/readlinkat.texi: Fix module name.
25628
25629 2010-07-31  Bruno Haible  <bruno@clisp.org>
25630
25631         fchownat: Replace also when chown has the trailing slash bug.
25632         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
25633         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
25634         introduced on 2010-04-10.
25635         Reported by Rainer Tammer.
25636
25637 2010-07-31  Bruno Haible  <bruno@clisp.org>
25638
25639         linkat: Work around AIX 7.1 bug.
25640         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
25641         whether linkat handles trailing slash correctly. If not, replace linkat
25642         and define LINKAT_TRAILING_SLASH_BUG.
25643         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
25644         check whether (fd1,file1) points to a directory if file1 or file2 ends
25645         in a slash. Code taken from lib/link.c.
25646         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
25647         Reported by Rainer Tammer.
25648
25649 2010-07-31  Bruno Haible  <bruno@clisp.org>
25650
25651         Correctly determine whether pow is available in libc on AIX 7 with xlc.
25652         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
25653         This disables an xlc optimization that was causing wrong test results.
25654         Reported by Rainer Tammer.
25655
25656 2010-07-31  Bruno Haible  <bruno@clisp.org>
25657
25658         iconv: Work around AIX 6.1..7.1 bug.
25659         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
25660         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
25661         cross-compiling, guess no on all versions of AIX.
25662         Reported by Rainer Tammer.
25663
25664 2010-07-31  Bruno Haible  <bruno@clisp.org>
25665
25666         readlink: Relax test a bit.
25667         * tests/test-readlink.h (test_readlink): Allow different errno value
25668         when readlink is called with a file name that ends in / and refers to
25669         a file.
25670         Suggested by Eric Blake.
25671         Reported by Rainer Tammer.
25672
25673 2010-07-31  Bruno Haible  <bruno@clisp.org>
25674
25675         copysign: Does not require -lm on glibc systems.
25676         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
25677         gl_COMMON_DOUBLE_MATHFUNC.
25678         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25679
25680 2010-07-31  Bruno Haible  <bruno@clisp.org>
25681
25682         duplocale: Work around AIX 7.1 bug.
25683         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25684         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25685         * lib/duplocale.c (rpl_duplocale): Update comment.
25686         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25687         Reported by Rainer Tammer.
25688
25689 2010-07-30  Bruno Haible  <bruno@clisp.org>
25690
25691         dirfd: Avoid link error on AIX 7.1.
25692         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25693         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25694         exist, set REPLACE_DIRFD.
25695         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25696         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25697         * doc/posix-functions/dirfd.texi: Update.
25698         Reported by Rainer Tammer.
25699
25700 2010-07-30  Eric Blake  <eblake@redhat.com>
25701
25702         strtod: next round of AIX fixes
25703         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25704         exponent.
25705         * tests/test-strtod.c (main): Enhance tests.
25706         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25707         Reported by Rainer Tammer.
25708
25709         futimens: fix configure check
25710         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25711         Reported by Bruno Haible.
25712
25713 2010-07-30  Bruno Haible  <bruno@clisp.org>
25714
25715         getline: Update regarding AIX.
25716         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25717         Reported by Rainer Tammer.
25718
25719 2010-07-30  Bruno Haible  <bruno@clisp.org>
25720
25721         wcwidth: Drop replacement on AIX 7.
25722         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25723         AIX 7.
25724         Reported by Rainer Tammer.
25725
25726 2010-07-30  Bruno Haible  <bruno@clisp.org>
25727
25728         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25729         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25730         a 'char *'.
25731         Reported by Rainer Tammer.
25732
25733 2010-07-30  Bruno Haible  <bruno@clisp.org>
25734
25735         unlink: Update regarding AIX.
25736         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25737         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25738         Reported by Rainer Tammer.
25739
25740 2010-07-30  Bruno Haible  <bruno@clisp.org>
25741
25742         symlink: Update regarding AIX.
25743         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25744         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25745         Reported by Rainer Tammer.
25746
25747 2010-07-30  Bruno Haible  <bruno@clisp.org>
25748
25749         strndup: Update regarding AIX.
25750         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25751         AIX 7.
25752         Reported by Rainer Tammer.
25753
25754 2010-07-30  Bruno Haible  <bruno@clisp.org>
25755
25756         stat: Update regarding AIX.
25757         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25758         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25759         Reported by Rainer Tammer.
25760
25761 2010-07-30  Bruno Haible  <bruno@clisp.org>
25762
25763         truncl: Fix autoconf test.
25764         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25765         whether truncl works.
25766         Reported by Rainer Tammer.
25767
25768 2010-07-30  Bruno Haible  <bruno@clisp.org>
25769
25770         round: Update regarding AIX.
25771         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25772         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25773         Reported by Rainer Tammer.
25774
25775 2010-07-30  Bruno Haible  <bruno@clisp.org>
25776
25777         rename: Update regarding AIX.
25778         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25779         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25780         Reported by Rainer Tammer.
25781
25782 2010-07-30  Bruno Haible  <bruno@clisp.org>
25783
25784         printf.m4: Update regarding AIX.
25785         * m4/printf.m4: Update comments regarding AIX.
25786         Reported by Rainer Tammer.
25787
25788 2010-07-30  Bruno Haible  <bruno@clisp.org>
25789
25790         iconv: Update regarding AIX.
25791         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25792         AIX 7.
25793         Reported by Rainer Tammer.
25794
25795 2010-07-30  Bruno Haible  <bruno@clisp.org>
25796
25797         getopt: Update regarding AIX.
25798         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25799         no on AIX.
25800         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25801         Reported by Rainer Tammer.
25802
25803 2010-07-30  Bruno Haible  <bruno@clisp.org>
25804
25805         ldexpl; Update regarding AIX.
25806         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25807         on AIX 7.
25808         Reported by Rainer Tammer.
25809
25810 2010-07-30  Bruno Haible  <bruno@clisp.org>
25811
25812         frexpl: Update regarding AIX.
25813         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25814         on AIX 7.
25815         Reported by Rainer Tammer.
25816
25817 2010-07-30  Bruno Haible  <bruno@clisp.org>
25818
25819         open, fopen: Update regarding AIX.
25820         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
25821         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25822         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
25823         * doc/posix-functions/fopen.texi: Likewise.
25824         Reported by Rainer Tammer.
25825
25826 2010-07-30  Bruno Haible  <bruno@clisp.org>
25827
25828         chown: Update doc regarding AIX.
25829         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
25830         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
25831         Reported by Rainer Tammer.
25832
25833 2010-07-30  Eric Blake  <eblake@redhat.com>
25834
25835         strtod: fix bug in replacement function on AIX
25836         * lib/strtod.c (strtod): Special case broken "0x" parse in
25837         underlying strtod.
25838         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
25839         * doc/posix-functions/strtod.texi (strtod): Likewise.
25840         Reported by Rainer Tammer.
25841
25842 2010-07-30  Bruno Haible  <bruno@clisp.org>
25843
25844         mbrlen: Fix cross-compilation guess for AIX.
25845         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25846         guess. Leftover from 2008-12-22.
25847
25848 2010-07-30  Bruno Haible  <bruno@clisp.org>
25849
25850         mbrtowc: Fix cross-compilation guess for AIX.
25851         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25852         guess. Leftover from 2008-12-21.
25853
25854 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25855
25856         init.sh: work around trap limitation of some shells
25857         * tests/init.sh (setup_): Move exit trap outside of shell function.
25858
25859 2010-07-29  Eric Blake  <eblake@redhat.com>
25860
25861         strtod: aid debugging
25862         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25863         understanding why strtod is rejected.
25864
25865 2010-07-28  Bruno Haible  <bruno@clisp.org>
25866
25867         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25868         * lib/unistr/u8-chr.c: Include <string.h>.
25869         * tests/unistr/test-u8-chr.c: Likewise.
25870         * tests/unistr/test-u16-chr.c: Likewise.
25871         * tests/unistr/test-u32-chr.c: Likewise.
25872         * tests/unistr/test-u8-strchr.c: Likewise.
25873         * tests/unistr/test-u16-strchr.c: Likewise.
25874         * tests/unistr/test-u32-strchr.c: Likewise.
25875         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25876         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25877         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25878         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25879
25880 2010-07-28  Bruno Haible  <bruno@clisp.org>
25881
25882         Use spaces for indentation, not tabs.
25883         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25884
25885 2010-07-27  Bruno Haible  <bruno@clisp.org>
25886
25887         mbspcasecmp: Fix function specification.
25888         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25889         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25890         Reported by Eric Blake <eblake@redhat.com>.
25891
25892 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25893
25894         timespec: use cast and not conditional, as truncation isn't possible
25895         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25896         instead of a conditional.  Comment about the situation in more detail.
25897         This undoes most of the 2009-10-29 patch.
25898
25899 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25900
25901         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25902         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25903         * lib/unistr/u8-strchr.c: Likewise.
25904         * modules/unistr/u8-chr: Depend on memchr.
25905
25906         unistr/u*-strchr: add tests
25907         * modules/unistr/u8-strchr-tests: New file.
25908         * modules/unistr/u16-strchr-tests: New file.
25909         * modules/unistr/u32-strchr-tests: New file.
25910         * tests/unistr/test-strchr.h: New file.
25911         * tests/unistr/test-u8-strchr.c: New file.
25912         * tests/unistr/test-u16-strchr.c: New file.
25913         * tests/unistr/test-u32-strchr.c: New file.
25914
25915         unistr/u*-chr: test multibyte sequences more
25916         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25917         test vector.
25918         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25919         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25920         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25921
25922         unistr/u*-chr: test multibyte sequences
25923         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25924
25925         unistr/u*-chr: prepare for multibyte tests
25926         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25927         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25928         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25929         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25930         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25931         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25932
25933 2010-07-18  Bruno Haible  <bruno@clisp.org>
25934
25935         unistr/u8-strchr: Optimize non-ASCII argument case.
25936         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25937         because the first byte often matches anyway.
25938         Reported by Pádraig Brady <P@draigbrady.com>.
25939
25940 2010-07-15  Karl Berry  <karl@gnu.org>
25941
25942         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25943
25944 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25945
25946         getcwd: on Solaris, work better if ancestors are inaccessible
25947         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25948         buffer and size, try again with a large buffer.  This works better
25949         on Solaris, since its getcwd succeeds even if the path to the root
25950         is inaccessible, and this is helpful in common cases such as .zfs
25951         hidden directories.  Problem reported by J Chapman Flack in
25952         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25953         Use system getcwd if it's declared, not merely if it's partly
25954         working; use the partly-working test only to avoid needless effort
25955         if the system getcwd fails.
25956         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25957         comment that was already obsolete and is now even more obsolete.
25958         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
25959         now might call strdup.
25960
25961 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
25962
25963         pthread: Add enough so that coreutils/src/sort.c compiles.
25964         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
25965         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
25966         gnulib. Include <sched.h> and <time.h>, as per POSIX.
25967         Include <sys/types.h>, in case it defines pthread_t.
25968         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
25969         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
25970         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
25971         (pthread_rwlockattr_t, pthread_spinlock_t):
25972         New typedefs, if HAVE_PTHREAD_T is not defined.
25973         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
25974         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
25975         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
25976         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
25977         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
25978         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
25979         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
25980         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
25981         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
25982         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
25983         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
25984         New macros.
25985         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
25986         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
25987         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
25988         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
25989         (pthread_spin_unlock): New dummy functions.
25990         (pthread_create): Return EAGAIN; don't set errno.
25991         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
25992         require AC_C_INLINE.
25993         * modules/pthread (Depends-on): Add sched, time.
25994         (pthread.h): Use AM_V_GEN.
25995
25996 2010-07-13  Bruno Haible  <bruno@clisp.org>
25997
25998         striconveh: Don't malloc memory if the result buffer is sufficient.
25999         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
26000         buffer if its size is sufficient.
26001         Reported by Ludovic Courtès <ludo@gnu.org>.
26002
26003 2010-07-13  Bruno Haible  <bruno@clisp.org>
26004
26005         strtod: Add safety check.
26006         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
26007
26008 2010-07-12  Bruno Haible  <bruno@clisp.org>
26009
26010         Unify tests that set gl_cv_func_ldexpl_no_libm.
26011         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
26012         gl_FUNC_LDEXPL.
26013         (gl_FUNC_LDEXPL): Invoke it.
26014         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26015
26016 2010-07-12  Bruno Haible  <bruno@clisp.org>
26017
26018         Unify tests that set gl_cv_func_ldexp_no_libm.
26019         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
26020         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
26021         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
26022         (configure.ac): Simply invoke gl_FUNC_LDEXP.
26023         * modules/strtod (Files): Add m4/ldexp.m4.
26024
26025 2010-07-12  Bruno Haible  <bruno@clisp.org>
26026
26027         Unify tests that set gl_cv_func_frexpl_no_libm.
26028         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
26029         gl_FUNC_FREXPL_NO_LIBM.
26030         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
26031         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26032
26033 2010-07-12  Bruno Haible  <bruno@clisp.org>
26034
26035         Unify tests that set gl_cv_func_frexp_no_libm.
26036         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
26037         gl_FUNC_FREXP_NO_LIBM.
26038         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
26039         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26040
26041 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26042
26043         memcoll: clarify sizes versus lengths, document better, and tweak perf
26044         * lib/memcoll.c (strcoll_loop, memcoll0):
26045         Improve quality of descriptive comments.  Name variables
26046         consistently as to whether they are lengths (which do not include
26047         terminating null) versus sizes (which do).
26048         * lib/xmemcoll.c (xmemcoll0): Likewise.
26049         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
26050         returned when s1size == 0; this is easier to compile and saves
26051         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
26052
26053 2010-07-12  Bruno Haible  <bruno@clisp.org>
26054
26055         Tests for module '_Exit'.
26056         * modules/_Exit-tests: New file.
26057         * tests/test-_Exit.sh: New file.
26058         * tests/test-_Exit.c: New file.
26059
26060         New module '_Exit'.
26061         * lib/stdlib.in.h (__attribute__): New macro.
26062         (_Exit): New declaration.
26063         * lib/_Exit.c: New file.
26064         * m4/_Exit.m4: New file.
26065         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
26066         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
26067         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
26068         * modules/_Exit: New file.
26069         * tests/test-stdlib-c++.cc (_Exit): Check signature.
26070         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
26071
26072 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26073
26074         strtod: make it more-accurate typically, and don't require libm
26075         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
26076         Include limits.h.  Don't include string.h.
26077         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
26078         (locale_isspace): New function, so that no casts are needed to
26079         check whether *s is a space.
26080         (ldexp): Provide an unused dummy if not available.
26081         (scale_radix_exp, parse_number, underlying_strtod): New functions.
26082         (strtod): Use them.  This implementation prefers to use the
26083         underlying strtod if available, falling back on our own code
26084         only to fix known bugs.  This is more likely to produce an
26085         accurate result.  Also, it avoids the use of libm functions.
26086         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
26087         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
26088         was absent, but it caused a test failure with coreutils.
26089         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
26090         with libm.
26091         * modules/strtod (Makefile.am, Link): libm is no longer needed.
26092         * modules/strtod-tests (Makefile.am): Likewise.
26093
26094 2010-07-11  Pádraig Brady  <P@draigBrady.com>
26095             Bruno Haible  <bruno@clisp.org>
26096
26097         unistr/u8-strchr: Optimize ASCII argument case.
26098         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
26099
26100 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
26101
26102         (x)memcoll: minor tweaks
26103         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
26104         is after the type that it qualifies.
26105         (memcoll0): Likewise.
26106         * lib/memcoll.h (memcoll0): Likewise.
26107         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
26108         * lib/xmemcoll.h (xmemcoll0): Likewise.
26109         * lib/memcoll.c (memcoll0): Correct the comment.  This function
26110         differs from memcoll in that the NUL byte is part of the argument.
26111         Omit the abort-checks, as performance is a real issue here.  Plus,
26112         the checks were wrong anyway (an off-by-one error).  Omit local
26113         variable 'diff', as it's a bit clearer that way.
26114         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
26115         no longer needed.
26116
26117 2010-07-08  Chen Guo <chenguo4@yahoo.com>
26118
26119         (x)memcoll: speedup when input is known to be NUL delimited
26120         * lib/memcoll.c: Include stdlib.
26121         (memcoll0): New function.
26122         (strcoll_loop): New function, refactored for use in both memcoll
26123         and memcoll0.
26124         * lib/memcoll.h (memcoll0): Add prototype.
26125         * lib/xmemcoll.c (xmemcoll0): New function.
26126         (collate_error): New function, refactored for use in both xmemcoll
26127         and xmemcoll0.
26128         * lib/xmemcoll.h (xmemcoll0): Add prototype.
26129         * m4/memcoll.m4: add inline invocation.
26130
26131 2010-07-06  Pádraig Brady  <P@draigBrady.com>
26132
26133         * build-aux/bootstrap: Remove any local translations
26134         from the translation project synchronization directory,
26135         so that local only translations are not distributed.
26136
26137 2010-07-04  Bruno Haible  <bruno@clisp.org>
26138
26139         fsusage: Clarify which code applies to which platforms.
26140         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
26141         platform.
26142         * lib/fsusage.c (get_fs_usage): Likewise.
26143
26144 2010-07-04  Bruno Haible  <bruno@clisp.org>
26145
26146         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
26147         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
26148         Reported by Martin Lambers <marlam@marlam.de>.
26149
26150 2010-07-04  Jim Meyering  <meyering@redhat.com>
26151
26152         hash: once again explicitly disallow insertion of NULL
26153         * lib/hash.c (hash_insert0): Reinstate just-removed test:
26154         inserting a NULL pointer cannot work with these functions.
26155         Add a comment with details.
26156         This reverts part of the 2010-07-01 commit, 5bef1a35
26157         "hash: extend module to deal with non-pointer keys".
26158
26159 2010-07-01  Bruno Haible  <bruno@clisp.org>
26160
26161         stdbool: Update doc.
26162         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
26163         Info from Christian Weisgerber <naddy@mips.inka.de>.
26164
26165 2010-07-01  Jim Meyering  <meyering@redhat.com>
26166
26167         hash: extend module to deal with non-pointer keys
26168         * lib/hash.c (hash_insert0): New interface, much like hash_insert
26169         but that allows insertion of non-pointer entries.
26170         Do not disallow an ENTRY value of NULL.
26171         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
26172         * lib/hash.h (hash_insert0): Declare.
26173
26174 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26175
26176         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
26177         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
26178         not present (i.e. with autoconf 2.59 and when using gettextize, not
26179         gnulib), require AC_GNU_SOURCE instead.
26180
26181 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
26182
26183         idpriv-drop: Fix tests.
26184         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
26185         not to the test-idpriv-droptemp program.
26186
26187 2010-06-29  Bruno Haible  <bruno@clisp.org>
26188
26189         string: Fix syntax error with g++ 2.96.
26190         * lib/string.in.h (__pure__): Remove definition.
26191         (_GL_ATTRIBUTE_PURE): New macro.
26192         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
26193         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
26194         Reported by Christian Weisgerber <naddy@mips.inka.de>.
26195
26196 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
26197
26198         unitypes: Fix bug introduced on 2010-05-18.
26199         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
26200
26201 2010-06-22  Eric Blake  <eblake@redhat.com>
26202
26203         memmem: slight optimization
26204         * lib/str-two-way.h (critical_factorization): Update comments.
26205         Reduce work during factorization phase.
26206         Reported by Carlos Bueno <carlos@bueno.org>.
26207
26208 2010-06-21  Bruno Haible  <bruno@clisp.org>
26209
26210         Fix HAVE_CALLOC_POSIX misnomer.
26211         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
26212         !HAVE_CALLOC_POSIX.
26213         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
26214         HAVE_CALLOC_POSIX.
26215         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
26216         instead of HAVE_CALLOC_POSIX.
26217         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
26218         HAVE_CALLOC_POSIX.
26219
26220         Use modern idiom for calloc() replacement.
26221         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
26222         AC_FUNC_CALLOC.
26223         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
26224         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
26225         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26226         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
26227         (gl_REPLACE_CALLOC): New macro.
26228
26229 2010-06-21  Bruno Haible  <bruno@clisp.org>
26230
26231         Fix HAVE_REALLOC_POSIX misnomer.
26232         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
26233         !HAVE_REALLOC_POSIX.
26234         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
26235         HAVE_REALLOC_POSIX.
26236         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
26237         instead of HAVE_REALLOC_POSIX.
26238         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
26239         HAVE_REALLOC_POSIX.
26240
26241         Use modern idiom for realloc() replacement.
26242         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
26243         AC_FUNC_REALLOC.
26244         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
26245         Autoconf's AC_FUNC_REALLOC.
26246         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26247         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
26248         (gl_REPLACE_REALLOC): New macro.
26249         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26250
26251 2010-06-21  Bruno Haible  <bruno@clisp.org>
26252
26253         Fix HAVE_MALLOC_POSIX misnomer.
26254         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
26255         !HAVE_MALLOC_POSIX.
26256         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
26257         HAVE_MALLOC_POSIX.
26258         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
26259         instead of HAVE_MALLOC_POSIX.
26260         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
26261         HAVE_MALLOC_POSIX.
26262
26263         Use modern idiom for malloc() replacement.
26264         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
26265         AC_FUNC_MALLOC.
26266         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
26267         Autoconf's AC_FUNC_MALLOC.
26268         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26269         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
26270         (gl_REPLACE_MALLOC): New macro.
26271         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26272
26273 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
26274
26275         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
26276         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
26277         This macro takes 3 arguments, not 4.
26278
26279 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
26280
26281         ipv6: fix detection under mingw
26282         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
26283         in6_addr.
26284
26285 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
26286
26287         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
26288         that strtod() works when cross-compiling to a glibc version known
26289         to work.
26290
26291 2010-06-15  Bruno Haible  <bruno@clisp.org>
26292
26293         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
26294
26295 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
26296
26297         select: Correct timeout.
26298         * lib/select.c (rpl_select): Compute wait_timeout correctly.
26299
26300 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26301
26302         git-version-gen: init shell var to avoid env var influence
26303         * build-aux/git-version-gen (v): Init shell var to empty.
26304
26305 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26306
26307         priv-set: Don't assume that priv.h exists merely because getppriv does.
26308         See Jan Andersen's bug report about AIX 5L in
26309         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
26310         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
26311         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
26312         * lib/priv-set.h: Likewise.
26313         * tests/test-priv-set.c: Likewise.
26314
26315 2010-06-13  Bruno Haible  <bruno@clisp.org>
26316
26317         relocatable: Make it easier to test whether to install wrappers.
26318         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
26319         RELOCATABLE_VIA_WRAPPER.
26320
26321 2010-06-13  Bruno Haible  <bruno@clisp.org>
26322
26323         gnulib-tool: Display specified modules and dependencies differently.
26324         * gnulib-tool (func_show_module_list): New function.
26325         (func_import, func_create_testdir): Invoke it.
26326         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26327
26328 2010-06-13  Bruno Haible  <bruno@clisp.org>
26329
26330         gnulib-tool: Align code of func_import and func_create_testdir.
26331         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
26332         specified_modules.
26333
26334 2010-06-12  Jim Meyering  <meyering@redhat.com>
26335
26336         test-inttostr: avoid spurious failure on Solaris 9
26337         * tests/test-inttostr.c (main): Skip the test when snprintf fails
26338         to accept "%ju".  Reported by Bruno Haible.
26339
26340 2010-06-11  Jim Meyering  <meyering@redhat.com>
26341
26342         test-sys_socket: mark variables as used more readably
26343         * tests/test-sys_socket.c (main): Mark otherwise unused variables
26344         as "used" explicitly via (void) statement casts.  This is more
26345         readable than using them in an artificial return expression.
26346         Suggestion from Bruno Haible.
26347
26348 2010-06-11  Bruno Haible  <bruno@clisp.org>
26349
26350         Avoid some more warnings from "gcc -Wwrite-strings".
26351         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
26352         to 'const char *'.
26353         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
26354         * tests/test-c-strcasestr.c (main): Likewise.
26355         * tests/test-mbscasestr1.c (main): Likewise.
26356         * tests/test-mbscasestr2.c (main): Likewise.
26357         * tests/test-memmem.c (main): Likewise.
26358         * tests/test-strstr.c (main): Likewise.
26359         * tests/test-strcasestr.c (main): Likewise.
26360
26361 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26362
26363         init.sh: change framework_failure_ to fail with status 99, not 1
26364         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
26365         automake's parallel-tests rule that this is an unexpected failure,
26366         even if the test is listed in XFAIL_TESTS.
26367
26368 2010-06-11  Jim Meyering  <meyering@redhat.com>
26369
26370         test-inttostr: avoid warnings about 4-6KB literal strings
26371         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
26372         Include "macros.h", for its definition of ASSERT.
26373         (CK): s/assert/ASSERT/
26374         * modules/inttostr-tests (Files): Add macros.h.
26375
26376         init.sh: don't use $ME_ or skip_ before they are defined
26377         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
26378         their first uses.  Also hoist their companions: warn_, fail_,
26379         framework_failure_, $stderr_fileno.  Prompted by a patch from
26380         Stefano Lattarini.
26381
26382         test-sys_socket: avoid set-but-not-used warnings from gcc
26383         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
26384         avoid warning about set-but-not-used variables.
26385
26386         test-xvasprintf: avoid 'const' discard warnings
26387         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
26388         "const" when assigning from literal strings.
26389         (test_xasprintf): Add "void" in function argument list to placate
26390         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
26391
26392         tests: avoid compilation warnings in argmatch and exclude tests...
26393         in packages that define ARGMATCH_DIE_DECL, like coreutils.
26394         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
26395         Since it always exits, declare with the "noreturn" attribute.
26396         * tests/test-argmatch.c: Likewise.
26397
26398         tests: avoid 'const' discard warnings in mbsstr tests
26399         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
26400         * tests/test-mbsstr2.c (main): Likewise.
26401
26402         test-verify: avoid warning from gcc's -Wmissing-declarations
26403         * tests/test-verify.c (function): Declare to be static.
26404
26405         test-inttostr.c: include <string.h> for use of strcmp
26406         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
26407
26408         test-linkat: avoid failed assertion on "other" architectures
26409         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
26410         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
26411         sparc: https://bugs.launchpad.net/bugs/591968
26412
26413 2010-06-11  Jim Meyering  <meyering@redhat.com>
26414
26415         printf.m4: avoid autoconf's "Expanded Before Required" warning
26416         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
26417         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
26418         autoconf warning.
26419
26420 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
26421
26422         Replacement header templates are now named with ".in", not "_".
26423         * doc/gnulib-intro.texi: Correct.
26424
26425 2010-06-10  Jim Meyering  <meyering@redhat.com>
26426
26427         inttostr-tests: depend on snprintf, not snprintf-posix
26428         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
26429         snprintf-posix, to avoid this aclocal failure:
26430           missing file gnulib-tests/vasnprintf.c
26431           configure.ac:45: error: expected source file, required through \
26432           AC_LIBSOURCES, not found
26433
26434 2010-06-10  Jim Meyering  <meyering@redhat.com>
26435
26436         inttostr: add a new function, inttostr, and tests
26437         The namesake function was not available.  The existence of the
26438         template file, inttostr.c makes its addition nontrivial.
26439         * lib/anytostr.c: Rename from inttostr.c.
26440         (anytostr): Rename from inttostr.
26441         * lib/inttostr.c: New file.
26442         * modules/inttostr (Files): Add anytostr.c.
26443         (Makefile.am): Set lib_SOURCES instead of ...
26444         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
26445         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
26446         * lib/offtostr.c: Likewise.
26447         * lib/uinttostr.c: Likewise.
26448         * lib/umaxtostr.c: Likewise.
26449         * modules/inttostr-tests: New file.
26450         * tests/test-inttostr.c: New file.  Test these functions.
26451
26452 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
26453             Bruno Haible  <bruno@clisp.org>
26454
26455         Add "Extending Gnulib" chapter to manual.
26456         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
26457         chapter.
26458         (Extending Gnulib): New chapter.
26459         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
26460         chapter.
26461
26462 2010-06-09  Bruno Haible  <bruno@clisp.org>
26463
26464         Avoid relocwrapper link errors due to gnulib replacement functions.
26465         * lib/areadlink.c: Use the system's malloc, realloc functions.
26466         (areadlink): Set errno to ENOMEM explicitly.
26467         * modules/areadlink (Depends-on): Remove malloc-posix.
26468         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26469
26470 2010-06-09  Bruno Haible  <bruno@clisp.org>
26471
26472         Avoid relocwrapper link errors due to gnulib replacement functions.
26473         * lib/canonicalize-lgpl.c: Use the system's malloc function.
26474         * lib/malloca.c: Likewise.
26475         * lib/relocatable.c: Likewise.
26476         * lib/progreloc.c: Use the system's malloc, sprintf functions.
26477         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
26478         * lib/setenv.c: Use the system's malloc, realloc functions.
26479         * lib/strerror.c: Use the system's sprintf function.
26480         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26481
26482 2010-06-04  Bruno Haible  <bruno@clisp.org>
26483
26484         Prefer documented low-level autoconf macro names.
26485         * m4/lib-link.m4: Use m4_translit instead of translit.
26486         * m4/environ.m4: Likewise.
26487         * m4/mathfunc.m4: Likewise.
26488         * m4/onceonly.m4: Likewise.
26489         * m4/stdint.m4: Likewise.
26490         Suggested by Eric Blake.
26491
26492 2010-06-04  Martin Lambers  <marlam@marlam.de>
26493             Bruno Haible  <bruno@clisp.org>
26494
26495         havelib: Allow library names with '+' characters.
26496         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26497         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
26498
26499 2010-06-09  Bruno Haible  <bruno@clisp.org>
26500
26501         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
26502         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
26503         realloc failed.
26504
26505 2010-06-08  Peter Simons  <simons@cryp.to>
26506
26507         maint.mk: make the news-check rule more configurable
26508         * top/maint.mk (news-check-lines-spec): New variable.
26509         (news-check): Use "sed -n 1,10p" in place of "head".
26510
26511 2010-06-07  Jim Meyering  <meyering@redhat.com>
26512
26513         do-release-commit-and-tag: fix typo in --help
26514         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
26515
26516         regex: avoid new dead-code warning with gcc-4.6.0
26517         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
26518         if-block containing a while-loop.  It's been unused for at least
26519         5 years.
26520
26521 2010-06-05  Bruno Haible  <bruno@clisp.org>
26522
26523         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
26524         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
26525
26526 2010-06-04  Bruno Haible  <bruno@clisp.org>
26527
26528         Update to GNU gettext 0.18.1.
26529         * modules/gettext (configure.ac): Require gettext infrastructure from
26530         version 0.18.1.
26531
26532 2010-06-03  Bruno Haible  <bruno@clisp.org>
26533
26534         Don't use AC_LIBOBJ with file names in subdirectories.
26535         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
26536         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
26537         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
26538         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
26539         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
26540         gl_LIBUNISTRING_LIBSOURCE.
26541         (Makefile.am): Augment lib_SOURCES here, conditionally.
26542         * NEWS: Drop requirement for Automake option 'subdir-objects'.
26543
26544 2010-06-03  Bruno Haible  <bruno@clisp.org>
26545
26546         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
26547         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
26548         expansion does not end with a newline.
26549         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
26550         unnecessary newline.
26551
26552 2010-06-03  Bruno Haible  <bruno@clisp.org>
26553
26554         Reduce dependencies.
26555         * tests/test-quotearg.h: New file, extracted from
26556         tests/test-quotearg.c.
26557         * tests/test-quotearg-simple.c: New file, extracted from
26558         tests/test-quotearg.c.
26559         * tests/test-quotearg.c: Don't include <ctype.h>.
26560         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
26561         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
26562         use_quote_double_quotes, use_quotearg_colon): Moved to
26563         tests/test-quotearg.h.
26564         (results_g, flag_results, custom_quotes, custom_results): Moved
26565         to tests/test-quotearg-simple.c.
26566         (main): Moved the part that does not depend on gettext to
26567         tests/test-quotearg-simple.c. Return 77 if the test cannot be
26568         performed.
26569         * modules/quotearg-simple: New file.
26570         * modules/quotearg-simple-tests: New file.
26571         * modules/quotearg (Depends-on): Add quotearg-simple.
26572         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
26573         (Files): Add tests/test-quotearg.h.
26574         Reported by Paolo Bonzini.
26575
26576 2010-06-03  Bruno Haible  <bruno@clisp.org>
26577
26578         Reduce dependencies.
26579         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
26580
26581 2010-06-03  Bruno Haible  <bruno@clisp.org>
26582
26583         time: Undefine more broken macros.
26584         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
26585         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
26586         Reported by Eric Blake.
26587
26588 2010-06-03  Bruno Haible  <bruno@clisp.org>
26589
26590         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
26591         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
26592         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
26593         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
26594         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
26595         Reported by Ludovic Courtès <ludo@gnu.org>.
26596
26597 2010-06-02  Eric Blake  <eblake@redhat.com>
26598
26599         time: work with mingw + pthreads-win32 library
26600         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
26601         if timespec is defined only in pthread.h.
26602         * modules/time (Makefile.am): Substitute it.
26603         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
26604         <pthread.h>, when needed.
26605         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
26606         from the library.
26607
26608 2010-05-31  Bruno Haible  <bruno@clisp.org>
26609
26610         Avoid expanding two macros in the wrong order.
26611         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
26612         gl_LIBUNISTRING if it is defined.
26613         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
26614         autoconf >= 2.64.
26615         Reported by Ludovic Courtès <ludo@gnu.org>.
26616
26617 2010-05-27  Jim Meyering  <meyering@redhat.com>
26618
26619         maint.mk: also prohibit "#undef" of always-defined symbols
26620         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
26621         Allow more than one space before the symbol name.
26622         (sc_prohibit_always-defined_macros): Use grep's -E, now that
26623         the regexp uses alternation.
26624
26625 2010-05-26  Eric Blake  <eblake@redhat.com>
26626
26627         maint.mk: avoid echo -e
26628         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
26629         Convert all uses of echo -* to printf.
26630         Reported by Matthias Bolte.
26631
26632 2010-05-25  Bruno Haible  <bruno@clisp.org>
26633
26634         Update to GNU gettext 0.18, part 2.
26635         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
26636         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
26637
26638 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26639
26640         Add missing include in test-pwrite.c.
26641         * tests/test-pwrite.c: Include string.h, for strcmp.
26642
26643 2010-05-24  Bruno Haible  <bruno@clisp.org>
26644
26645         * NEWS: Mention requirement for Automake option 'subdir-objects'.
26646
26647 2010-05-24  Bruno Haible  <bruno@clisp.org>
26648
26649         Don't use conversion with transliteration in u{8,16,32}_strcoll.
26650         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
26651         iconveh_error argument.
26652         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
26653         U_STRCONV_TO_LOCALE.
26654         * lib/unistr/u16-strcoll.c: Likewise.
26655         * lib/unistr/u32-strcoll.c: Likewise.
26656         * modules/unistr/u8-strcoll (Depends-on): Add
26657         uniconv/u8-strconv-to-enc, localcharset. Remove
26658         uniconv/u8-strconv-to-locale.
26659         (configure.ac): Bump version number.
26660         * modules/unistr/u16-strcoll (Depends-on): Add
26661         uniconv/u16-strconv-to-enc, localcharset. Remove
26662         uniconv/u16-strconv-to-locale.
26663         (configure.ac): Bump version number.
26664         * modules/unistr/u32-strcoll (Depends-on): Add
26665         uniconv/u32-strconv-to-enc, localcharset. Remove
26666         uniconv/u32-strconv-to-locale.
26667         (configure.ac): Bump version number.
26668
26669 2010-05-24  Bruno Haible  <bruno@clisp.org>
26670
26671         Avoid a test failure on NetBSD 5.0.
26672         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
26673         an iconv() bug.
26674
26675 2010-05-24  Bruno Haible  <bruno@clisp.org>
26676
26677         Adjust #include directive style.
26678         * modules/regex (Includes): Recommend to write <regex.h>.
26679
26680 2010-05-24  Bruno Haible  <bruno@clisp.org>
26681
26682         regex: Don't require alloca.
26683         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26684         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26685         only inside if (0).
26686
26687 2010-05-23  Jim Meyering  <meyering@redhat.com>
26688
26689         test-renameat.c: include <sys/stat.h>
26690         * tests/test-renameat.c: Include <sys/stat.h>; required for
26691         definition of S_IS* macros.
26692
26693 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26694
26695         Update maintainer documentation for 'relocatable-prog' module.
26696         * doc/relocatable-maint.texi: Update.
26697         Comments by Bruno Haible.
26698
26699 2010-05-23  Bruno Haible  <bruno@clisp.org>
26700
26701         git-merge-changelog: Enable --split-merged-entry by default.
26702         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26703         (usage): Don't mention this option any more.
26704         Reported by Ralf Wildenhues.
26705
26706 2010-05-23  Jim Meyering  <meyering@redhat.com>
26707
26708         test-pwrite: do not leave behind a test file named "out"
26709         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26710         The trivial-looking use of init.sh is really necessary.
26711         It ensures that the temporary file, "out", is created in
26712         a temporary directory, and removed upon termination.
26713         * tests/test-pwrite.sh: Re-add file.
26714         * modules/pwrite-tests: Reference it.
26715
26716 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26717
26718         Fix output redirection buglet in init.sh.
26719         * tests/init.sh: Fix redirection of stderr.
26720
26721 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26722
26723         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26724
26725 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26726
26727         * modules/valgrind-tests: New file.
26728         * m4/valgrind-tests.m4: New file.
26729         * doc/valgrind-tests.texi: New file.
26730         * doc/gnulib.texi (Running self-tests under valgrind): New
26731         section.
26732
26733 2010-05-19  Bruno Haible  <bruno@clisp.org>
26734
26735         Clean up dead code in recent commit.
26736         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26737         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26738         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26739         Suggested by Paolo Bonzini.
26740
26741 2010-05-19  Bruno Haible  <bruno@clisp.org>
26742
26743         Avoid valgrind error reports from libunistring.
26744         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26745         * modules/libunistring (Files): Add it.
26746         * modules/libunistring-optional (Files): Likewise.
26747
26748 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26749             Bruno Haible  <bruno@clisp.org>
26750
26751         New module 'libunistring-optional'.
26752         * modules/libunistring-optional: New file.
26753         * m4/libunistring-base.m4: New file.
26754         * m4/libunistring-optional.m4: New file.
26755         * lib/unicase.in.h: Renamed from lib/unicase.h.
26756         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26757         * lib/unictype.in.h: Renamed from lib/unictype.h.
26758         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26759         * lib/uniname.in.h: Renamed from lib/uniname.h.
26760         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26761         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26762         * lib/unistr.in.h: Renamed from lib/unistr.h.
26763         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26764         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26765         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26766         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26767         gl_LIBUNISTRING. If the library was found, determine the installed
26768         version and set LIBUNISTRING_VERSION.
26769         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26770         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26771         handle a configuration option --with-included-libunistring.
26772         * modules/libunistring (Files): Add m4/absolute-header.m4.
26773         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26774         Add m4/libunistring-base.m4.
26775         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26776         (Makefile.am): Build unicase.h from unicase.in.h.
26777         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26778         Add m4/libunistring-base.m4.
26779         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26780         (Makefile.am): Build uniconv.h from uniconv.in.h.
26781         * modules/unictype/base (Files): Use unictype.in.h instead of
26782         unictype.h. Add m4/libunistring-base.m4.
26783         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26784         (Makefile.am): Build unictype.h from unictype.in.h.
26785         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26786         Add m4/libunistring-base.m4.
26787         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26788         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26789         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26790         Add m4/libunistring-base.m4.
26791         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26792         (Makefile.am): Build uniname.h from uniname.in.h.
26793         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26794         Add m4/libunistring-base.m4.
26795         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26796         (Makefile.am): Build uninorm.h from uninorm.in.h.
26797         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26798         unistdio.h. Add m4/libunistring-base.m4.
26799         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26800         (Makefile.am): Build unistdio.h from unistdio.in.h.
26801         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26802         Add m4/libunistring-base.m4.
26803         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26804         (Makefile.am): Build unistr.h from unistr.in.h.
26805         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26806         Add m4/libunistring-base.m4.
26807         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26808         (Makefile.am): Build unitypes.h from unitypes.in.h.
26809         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26810         Add m4/libunistring-base.m4.
26811         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26812         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26813         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26814         uniwidth.h. Add m4/libunistring-base.m4.
26815         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26816         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26817         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26818         instead of augmenting lib_SOURCES.
26819         * modules/unicase/empty-suffix-context: Likewise.
26820         * modules/unicase/locale-language: Likewise.
26821         * modules/unicase/tolower: Likewise.
26822         * modules/unicase/totitle: Likewise.
26823         * modules/unicase/toupper: Likewise.
26824         * modules/unicase/u8-casecmp: Likewise.
26825         * modules/unicase/u8-casecoll: Likewise.
26826         * modules/unicase/u8-casefold: Likewise.
26827         * modules/unicase/u8-casexfrm: Likewise.
26828         * modules/unicase/u8-ct-casefold: Likewise.
26829         * modules/unicase/u8-ct-tolower: Likewise.
26830         * modules/unicase/u8-ct-totitle: Likewise.
26831         * modules/unicase/u8-ct-toupper: Likewise.
26832         * modules/unicase/u8-is-cased: Likewise.
26833         * modules/unicase/u8-is-casefolded: Likewise.
26834         * modules/unicase/u8-is-lowercase: Likewise.
26835         * modules/unicase/u8-is-titlecase: Likewise.
26836         * modules/unicase/u8-is-uppercase: Likewise.
26837         * modules/unicase/u8-prefix-context: Likewise.
26838         * modules/unicase/u8-suffix-context: Likewise.
26839         * modules/unicase/u8-tolower: Likewise.
26840         * modules/unicase/u8-totitle: Likewise.
26841         * modules/unicase/u8-toupper: Likewise.
26842         * modules/unicase/u16-casecmp: Likewise.
26843         * modules/unicase/u16-casecoll: Likewise.
26844         * modules/unicase/u16-casefold: Likewise.
26845         * modules/unicase/u16-casexfrm: Likewise.
26846         * modules/unicase/u16-ct-casefold: Likewise.
26847         * modules/unicase/u16-ct-tolower: Likewise.
26848         * modules/unicase/u16-ct-totitle: Likewise.
26849         * modules/unicase/u16-ct-toupper: Likewise.
26850         * modules/unicase/u16-is-cased: Likewise.
26851         * modules/unicase/u16-is-casefolded: Likewise.
26852         * modules/unicase/u16-is-lowercase: Likewise.
26853         * modules/unicase/u16-is-titlecase: Likewise.
26854         * modules/unicase/u16-is-uppercase: Likewise.
26855         * modules/unicase/u16-prefix-context: Likewise.
26856         * modules/unicase/u16-suffix-context: Likewise.
26857         * modules/unicase/u16-tolower: Likewise.
26858         * modules/unicase/u16-totitle: Likewise.
26859         * modules/unicase/u16-toupper: Likewise.
26860         * modules/unicase/u32-casecmp: Likewise.
26861         * modules/unicase/u32-casecoll: Likewise.
26862         * modules/unicase/u32-casefold: Likewise.
26863         * modules/unicase/u32-casexfrm: Likewise.
26864         * modules/unicase/u32-ct-casefold: Likewise.
26865         * modules/unicase/u32-ct-tolower: Likewise.
26866         * modules/unicase/u32-ct-totitle: Likewise.
26867         * modules/unicase/u32-ct-toupper: Likewise.
26868         * modules/unicase/u32-is-cased: Likewise.
26869         * modules/unicase/u32-is-casefolded: Likewise.
26870         * modules/unicase/u32-is-lowercase: Likewise.
26871         * modules/unicase/u32-is-titlecase: Likewise.
26872         * modules/unicase/u32-is-uppercase: Likewise.
26873         * modules/unicase/u32-prefix-context: Likewise.
26874         * modules/unicase/u32-suffix-context: Likewise.
26875         * modules/unicase/u32-tolower: Likewise.
26876         * modules/unicase/u32-totitle: Likewise.
26877         * modules/unicase/u32-toupper: Likewise.
26878         * modules/unicase/ulc-casecmp: Likewise.
26879         * modules/unicase/ulc-casecoll: Likewise.
26880         * modules/unicase/ulc-casexfrm: Likewise.
26881         * modules/uniconv/u8-conv-from-enc: Likewise.
26882         * modules/uniconv/u8-conv-to-enc: Likewise.
26883         * modules/uniconv/u8-strconv-from-enc: Likewise.
26884         * modules/uniconv/u8-strconv-from-locale: Likewise.
26885         * modules/uniconv/u8-strconv-to-enc: Likewise.
26886         * modules/uniconv/u8-strconv-to-locale: Likewise.
26887         * modules/uniconv/u16-conv-from-enc: Likewise.
26888         * modules/uniconv/u16-conv-to-enc: Likewise.
26889         * modules/uniconv/u16-strconv-from-enc: Likewise.
26890         * modules/uniconv/u16-strconv-from-locale: Likewise.
26891         * modules/uniconv/u16-strconv-to-enc: Likewise.
26892         * modules/uniconv/u16-strconv-to-locale: Likewise.
26893         * modules/uniconv/u32-conv-from-enc: Likewise.
26894         * modules/uniconv/u32-conv-to-enc: Likewise.
26895         * modules/uniconv/u32-strconv-from-enc: Likewise.
26896         * modules/uniconv/u32-strconv-from-locale: Likewise.
26897         * modules/uniconv/u32-strconv-to-enc: Likewise.
26898         * modules/uniconv/u32-strconv-to-locale: Likewise.
26899         * modules/unictype/bidicategory-byname: Likewise.
26900         * modules/unictype/bidicategory-name: Likewise.
26901         * modules/unictype/bidicategory-of: Likewise.
26902         * modules/unictype/bidicategory-test: Likewise.
26903         * modules/unictype/block-list: Likewise.
26904         * modules/unictype/block-test: Likewise.
26905         * modules/unictype/category-C: Likewise.
26906         * modules/unictype/category-Cc: Likewise.
26907         * modules/unictype/category-Cf: Likewise.
26908         * modules/unictype/category-Cn: Likewise.
26909         * modules/unictype/category-Co: Likewise.
26910         * modules/unictype/category-Cs: Likewise.
26911         * modules/unictype/category-L: Likewise.
26912         * modules/unictype/category-Ll: Likewise.
26913         * modules/unictype/category-Lm: Likewise.
26914         * modules/unictype/category-Lo: Likewise.
26915         * modules/unictype/category-Lt: Likewise.
26916         * modules/unictype/category-Lu: Likewise.
26917         * modules/unictype/category-M: Likewise.
26918         * modules/unictype/category-Mc: Likewise.
26919         * modules/unictype/category-Me: Likewise.
26920         * modules/unictype/category-Mn: Likewise.
26921         * modules/unictype/category-N: Likewise.
26922         * modules/unictype/category-Nd: Likewise.
26923         * modules/unictype/category-Nl: Likewise.
26924         * modules/unictype/category-No: Likewise.
26925         * modules/unictype/category-P: Likewise.
26926         * modules/unictype/category-Pc: Likewise.
26927         * modules/unictype/category-Pd: Likewise.
26928         * modules/unictype/category-Pe: Likewise.
26929         * modules/unictype/category-Pf: Likewise.
26930         * modules/unictype/category-Pi: Likewise.
26931         * modules/unictype/category-Po: Likewise.
26932         * modules/unictype/category-Ps: Likewise.
26933         * modules/unictype/category-S: Likewise.
26934         * modules/unictype/category-Sc: Likewise.
26935         * modules/unictype/category-Sk: Likewise.
26936         * modules/unictype/category-Sm: Likewise.
26937         * modules/unictype/category-So: Likewise.
26938         * modules/unictype/category-Z: Likewise.
26939         * modules/unictype/category-Zl: Likewise.
26940         * modules/unictype/category-Zp: Likewise.
26941         * modules/unictype/category-Zs: Likewise.
26942         * modules/unictype/category-and: Likewise.
26943         * modules/unictype/category-and-not: Likewise.
26944         * modules/unictype/category-byname: Likewise.
26945         * modules/unictype/category-name: Likewise.
26946         * modules/unictype/category-none: Likewise.
26947         * modules/unictype/category-of: Likewise.
26948         * modules/unictype/category-or: Likewise.
26949         * modules/unictype/category-test: Likewise.
26950         * modules/unictype/combining-class: Likewise.
26951         * modules/unictype/ctype-alnum: Likewise.
26952         * modules/unictype/ctype-alpha: Likewise.
26953         * modules/unictype/ctype-blank: Likewise.
26954         * modules/unictype/ctype-cntrl: Likewise.
26955         * modules/unictype/ctype-digit: Likewise.
26956         * modules/unictype/ctype-graph: Likewise.
26957         * modules/unictype/ctype-lower: Likewise.
26958         * modules/unictype/ctype-print: Likewise.
26959         * modules/unictype/ctype-punct: Likewise.
26960         * modules/unictype/ctype-space: Likewise.
26961         * modules/unictype/ctype-upper: Likewise.
26962         * modules/unictype/ctype-xdigit: Likewise.
26963         * modules/unictype/decimal-digit: Likewise.
26964         * modules/unictype/digit: Likewise.
26965         * modules/unictype/mirror: Likewise.
26966         * modules/unictype/numeric: Likewise.
26967         * modules/unictype/property-alphabetic: Likewise.
26968         * modules/unictype/property-ascii-hex-digit: Likewise.
26969         * modules/unictype/property-bidi-arabic-digit: Likewise.
26970         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
26971         * modules/unictype/property-bidi-block-separator: Likewise.
26972         * modules/unictype/property-bidi-boundary-neutral: Likewise.
26973         * modules/unictype/property-bidi-common-separator: Likewise.
26974         * modules/unictype/property-bidi-control: Likewise.
26975         * modules/unictype/property-bidi-embedding-or-override: Likewise.
26976         * modules/unictype/property-bidi-eur-num-separator: Likewise.
26977         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
26978         * modules/unictype/property-bidi-european-digit: Likewise.
26979         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
26980         * modules/unictype/property-bidi-left-to-right: Likewise.
26981         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
26982         * modules/unictype/property-bidi-other-neutral: Likewise.
26983         * modules/unictype/property-bidi-pdf: Likewise.
26984         * modules/unictype/property-bidi-segment-separator: Likewise.
26985         * modules/unictype/property-bidi-whitespace: Likewise.
26986         * modules/unictype/property-byname: Likewise.
26987         * modules/unictype/property-combining: Likewise.
26988         * modules/unictype/property-composite: Likewise.
26989         * modules/unictype/property-currency-symbol: Likewise.
26990         * modules/unictype/property-dash: Likewise.
26991         * modules/unictype/property-decimal-digit: Likewise.
26992         * modules/unictype/property-default-ignorable-code-point: Likewise.
26993         * modules/unictype/property-deprecated: Likewise.
26994         * modules/unictype/property-diacritic: Likewise.
26995         * modules/unictype/property-extender: Likewise.
26996         * modules/unictype/property-format-control: Likewise.
26997         * modules/unictype/property-grapheme-base: Likewise.
26998         * modules/unictype/property-grapheme-extend: Likewise.
26999         * modules/unictype/property-grapheme-link: Likewise.
27000         * modules/unictype/property-hex-digit: Likewise.
27001         * modules/unictype/property-hyphen: Likewise.
27002         * modules/unictype/property-id-continue: Likewise.
27003         * modules/unictype/property-id-start: Likewise.
27004         * modules/unictype/property-ideographic: Likewise.
27005         * modules/unictype/property-ids-binary-operator: Likewise.
27006         * modules/unictype/property-ids-trinary-operator: Likewise.
27007         * modules/unictype/property-ignorable-control: Likewise.
27008         * modules/unictype/property-iso-control: Likewise.
27009         * modules/unictype/property-join-control: Likewise.
27010         * modules/unictype/property-left-of-pair: Likewise.
27011         * modules/unictype/property-line-separator: Likewise.
27012         * modules/unictype/property-logical-order-exception: Likewise.
27013         * modules/unictype/property-lowercase: Likewise.
27014         * modules/unictype/property-math: Likewise.
27015         * modules/unictype/property-non-break: Likewise.
27016         * modules/unictype/property-not-a-character: Likewise.
27017         * modules/unictype/property-numeric: Likewise.
27018         * modules/unictype/property-other-alphabetic: Likewise.
27019         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
27020         * modules/unictype/property-other-grapheme-extend: Likewise.
27021         * modules/unictype/property-other-id-continue: Likewise.
27022         * modules/unictype/property-other-id-start: Likewise.
27023         * modules/unictype/property-other-lowercase: Likewise.
27024         * modules/unictype/property-other-math: Likewise.
27025         * modules/unictype/property-other-uppercase: Likewise.
27026         * modules/unictype/property-paired-punctuation: Likewise.
27027         * modules/unictype/property-paragraph-separator: Likewise.
27028         * modules/unictype/property-pattern-syntax: Likewise.
27029         * modules/unictype/property-pattern-white-space: Likewise.
27030         * modules/unictype/property-private-use: Likewise.
27031         * modules/unictype/property-punctuation: Likewise.
27032         * modules/unictype/property-quotation-mark: Likewise.
27033         * modules/unictype/property-radical: Likewise.
27034         * modules/unictype/property-sentence-terminal: Likewise.
27035         * modules/unictype/property-soft-dotted: Likewise.
27036         * modules/unictype/property-space: Likewise.
27037         * modules/unictype/property-terminal-punctuation: Likewise.
27038         * modules/unictype/property-test: Likewise.
27039         * modules/unictype/property-titlecase: Likewise.
27040         * modules/unictype/property-unassigned-code-value: Likewise.
27041         * modules/unictype/property-unified-ideograph: Likewise.
27042         * modules/unictype/property-uppercase: Likewise.
27043         * modules/unictype/property-variation-selector: Likewise.
27044         * modules/unictype/property-white-space: Likewise.
27045         * modules/unictype/property-xid-continue: Likewise.
27046         * modules/unictype/property-xid-start: Likewise.
27047         * modules/unictype/property-zero-width: Likewise.
27048         * modules/unictype/scripts: Likewise.
27049         * modules/unictype/syntax-c-ident: Likewise.
27050         * modules/unictype/syntax-c-whitespace: Likewise.
27051         * modules/unictype/syntax-java-ident: Likewise.
27052         * modules/unictype/syntax-java-whitespace: Likewise.
27053         * modules/unilbrk/u8-possible-linebreaks: Likewise.
27054         * modules/unilbrk/u8-width-linebreaks: Likewise.
27055         * modules/unilbrk/u16-possible-linebreaks: Likewise.
27056         * modules/unilbrk/u16-width-linebreaks: Likewise.
27057         * modules/unilbrk/u32-possible-linebreaks: Likewise.
27058         * modules/unilbrk/u32-width-linebreaks: Likewise.
27059         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
27060         * modules/unilbrk/ulc-width-linebreaks: Likewise.
27061         * modules/uniname/uniname: Likewise.
27062         * modules/uninorm/canonical-decomposition: Likewise.
27063         * modules/uninorm/composition: Likewise.
27064         * modules/uninorm/decomposing-form: Likewise.
27065         * modules/uninorm/decomposition: Likewise.
27066         * modules/uninorm/filter: Likewise.
27067         * modules/uninorm/nfc: Likewise.
27068         * modules/uninorm/nfd: Likewise.
27069         * modules/uninorm/nfkc: Likewise.
27070         * modules/uninorm/nfkd: Likewise.
27071         * modules/uninorm/u8-normalize: Likewise.
27072         * modules/uninorm/u8-normcmp: Likewise.
27073         * modules/uninorm/u8-normcoll: Likewise.
27074         * modules/uninorm/u8-normxfrm: Likewise.
27075         * modules/uninorm/u16-normalize: Likewise.
27076         * modules/uninorm/u16-normcmp: Likewise.
27077         * modules/uninorm/u16-normcoll: Likewise.
27078         * modules/uninorm/u16-normxfrm: Likewise.
27079         * modules/uninorm/u32-normalize: Likewise.
27080         * modules/uninorm/u32-normcmp: Likewise.
27081         * modules/uninorm/u32-normcoll: Likewise.
27082         * modules/uninorm/u32-normxfrm: Likewise.
27083         * modules/unistdio/u8-asnprintf: Likewise.
27084         * modules/unistdio/u8-asprintf: Likewise.
27085         * modules/unistdio/u8-snprintf: Likewise.
27086         * modules/unistdio/u8-sprintf: Likewise.
27087         * modules/unistdio/u8-u8-asnprintf: Likewise.
27088         * modules/unistdio/u8-u8-asprintf: Likewise.
27089         * modules/unistdio/u8-u8-snprintf: Likewise.
27090         * modules/unistdio/u8-u8-sprintf: Likewise.
27091         * modules/unistdio/u8-u8-vasnprintf: Likewise.
27092         * modules/unistdio/u8-u8-vasprintf: Likewise.
27093         * modules/unistdio/u8-u8-vsnprintf: Likewise.
27094         * modules/unistdio/u8-u8-vsprintf: Likewise.
27095         * modules/unistdio/u8-vasnprintf: Likewise.
27096         * modules/unistdio/u8-vasprintf: Likewise.
27097         * modules/unistdio/u8-vsnprintf: Likewise.
27098         * modules/unistdio/u8-vsprintf: Likewise.
27099         * modules/unistdio/u16-asnprintf: Likewise.
27100         * modules/unistdio/u16-asprintf: Likewise.
27101         * modules/unistdio/u16-snprintf: Likewise.
27102         * modules/unistdio/u16-sprintf: Likewise.
27103         * modules/unistdio/u16-u16-asnprintf: Likewise.
27104         * modules/unistdio/u16-u16-asprintf: Likewise.
27105         * modules/unistdio/u16-u16-snprintf: Likewise.
27106         * modules/unistdio/u16-u16-sprintf: Likewise.
27107         * modules/unistdio/u16-u16-vasnprintf: Likewise.
27108         * modules/unistdio/u16-u16-vasprintf: Likewise.
27109         * modules/unistdio/u16-u16-vsnprintf: Likewise.
27110         * modules/unistdio/u16-u16-vsprintf: Likewise.
27111         * modules/unistdio/u16-vasnprintf: Likewise.
27112         * modules/unistdio/u16-vasprintf: Likewise.
27113         * modules/unistdio/u16-vsnprintf: Likewise.
27114         * modules/unistdio/u16-vsprintf: Likewise.
27115         * modules/unistdio/u32-asnprintf: Likewise.
27116         * modules/unistdio/u32-asprintf: Likewise.
27117         * modules/unistdio/u32-snprintf: Likewise.
27118         * modules/unistdio/u32-sprintf: Likewise.
27119         * modules/unistdio/u32-u32-asnprintf: Likewise.
27120         * modules/unistdio/u32-u32-asprintf: Likewise.
27121         * modules/unistdio/u32-u32-snprintf: Likewise.
27122         * modules/unistdio/u32-u32-sprintf: Likewise.
27123         * modules/unistdio/u32-u32-vasnprintf: Likewise.
27124         * modules/unistdio/u32-u32-vasprintf: Likewise.
27125         * modules/unistdio/u32-u32-vsnprintf: Likewise.
27126         * modules/unistdio/u32-u32-vsprintf: Likewise.
27127         * modules/unistdio/u32-vasnprintf: Likewise.
27128         * modules/unistdio/u32-vasprintf: Likewise.
27129         * modules/unistdio/u32-vsnprintf: Likewise.
27130         * modules/unistdio/u32-vsprintf: Likewise.
27131         * modules/unistdio/ulc-asnprintf: Likewise.
27132         * modules/unistdio/ulc-asprintf: Likewise.
27133         * modules/unistdio/ulc-fprintf: Likewise.
27134         * modules/unistdio/ulc-snprintf: Likewise.
27135         * modules/unistdio/ulc-sprintf: Likewise.
27136         * modules/unistdio/ulc-vasnprintf: Likewise.
27137         * modules/unistdio/ulc-vasprintf: Likewise.
27138         * modules/unistdio/ulc-vfprintf: Likewise.
27139         * modules/unistdio/ulc-vsnprintf: Likewise.
27140         * modules/unistdio/ulc-vsprintf: Likewise.
27141         * modules/unistr/u8-check: Likewise.
27142         * modules/unistr/u8-chr: Likewise.
27143         * modules/unistr/u8-cmp: Likewise.
27144         * modules/unistr/u8-cmp2: Likewise.
27145         * modules/unistr/u8-cpy: Likewise.
27146         * modules/unistr/u8-cpy-alloc: Likewise.
27147         * modules/unistr/u8-endswith: Likewise.
27148         * modules/unistr/u8-mblen: Likewise.
27149         * modules/unistr/u8-mbsnlen: Likewise.
27150         * modules/unistr/u8-mbtouc: Likewise.
27151         * modules/unistr/u8-mbtouc-unsafe: Likewise.
27152         * modules/unistr/u8-mbtoucr: Likewise.
27153         * modules/unistr/u8-move: Likewise.
27154         * modules/unistr/u8-next: Likewise.
27155         * modules/unistr/u8-prev: Likewise.
27156         * modules/unistr/u8-set: Likewise.
27157         * modules/unistr/u8-startswith: Likewise.
27158         * modules/unistr/u8-stpcpy: Likewise.
27159         * modules/unistr/u8-stpncpy: Likewise.
27160         * modules/unistr/u8-strcat: Likewise.
27161         * modules/unistr/u8-strchr: Likewise.
27162         * modules/unistr/u8-strcmp: Likewise.
27163         * modules/unistr/u8-strcoll: Likewise.
27164         * modules/unistr/u8-strcpy: Likewise.
27165         * modules/unistr/u8-strcspn: Likewise.
27166         * modules/unistr/u8-strdup: Likewise.
27167         * modules/unistr/u8-strlen: Likewise.
27168         * modules/unistr/u8-strmblen: Likewise.
27169         * modules/unistr/u8-strmbtouc: Likewise.
27170         * modules/unistr/u8-strncat: Likewise.
27171         * modules/unistr/u8-strncmp: Likewise.
27172         * modules/unistr/u8-strncpy: Likewise.
27173         * modules/unistr/u8-strnlen: Likewise.
27174         * modules/unistr/u8-strpbrk: Likewise.
27175         * modules/unistr/u8-strrchr: Likewise.
27176         * modules/unistr/u8-strspn: Likewise.
27177         * modules/unistr/u8-strstr: Likewise.
27178         * modules/unistr/u8-strtok: Likewise.
27179         * modules/unistr/u8-to-u16: Likewise.
27180         * modules/unistr/u8-to-u32: Likewise.
27181         * modules/unistr/u8-uctomb: Likewise.
27182         * modules/unistr/u16-check: Likewise.
27183         * modules/unistr/u16-chr: Likewise.
27184         * modules/unistr/u16-cmp: Likewise.
27185         * modules/unistr/u16-cmp2: Likewise.
27186         * modules/unistr/u16-cpy: Likewise.
27187         * modules/unistr/u16-cpy-alloc: Likewise.
27188         * modules/unistr/u16-endswith: Likewise.
27189         * modules/unistr/u16-mblen: Likewise.
27190         * modules/unistr/u16-mbsnlen: Likewise.
27191         * modules/unistr/u16-mbtouc: Likewise.
27192         * modules/unistr/u16-mbtouc-unsafe: Likewise.
27193         * modules/unistr/u16-mbtoucr: Likewise.
27194         * modules/unistr/u16-move: Likewise.
27195         * modules/unistr/u16-next: Likewise.
27196         * modules/unistr/u16-prev: Likewise.
27197         * modules/unistr/u16-set: Likewise.
27198         * modules/unistr/u16-startswith: Likewise.
27199         * modules/unistr/u16-stpcpy: Likewise.
27200         * modules/unistr/u16-stpncpy: Likewise.
27201         * modules/unistr/u16-strcat: Likewise.
27202         * modules/unistr/u16-strchr: Likewise.
27203         * modules/unistr/u16-strcmp: Likewise.
27204         * modules/unistr/u16-strcoll: Likewise.
27205         * modules/unistr/u16-strcpy: Likewise.
27206         * modules/unistr/u16-strcspn: Likewise.
27207         * modules/unistr/u16-strdup: Likewise.
27208         * modules/unistr/u16-strlen: Likewise.
27209         * modules/unistr/u16-strmblen: Likewise.
27210         * modules/unistr/u16-strmbtouc: Likewise.
27211         * modules/unistr/u16-strncat: Likewise.
27212         * modules/unistr/u16-strncmp: Likewise.
27213         * modules/unistr/u16-strncpy: Likewise.
27214         * modules/unistr/u16-strnlen: Likewise.
27215         * modules/unistr/u16-strpbrk: Likewise.
27216         * modules/unistr/u16-strrchr: Likewise.
27217         * modules/unistr/u16-strspn: Likewise.
27218         * modules/unistr/u16-strstr: Likewise.
27219         * modules/unistr/u16-strtok: Likewise.
27220         * modules/unistr/u16-to-u32: Likewise.
27221         * modules/unistr/u16-to-u8: Likewise.
27222         * modules/unistr/u16-uctomb: Likewise.
27223         * modules/unistr/u32-check: Likewise.
27224         * modules/unistr/u32-chr: Likewise.
27225         * modules/unistr/u32-cmp: Likewise.
27226         * modules/unistr/u32-cmp2: Likewise.
27227         * modules/unistr/u32-cpy: Likewise.
27228         * modules/unistr/u32-cpy-alloc: Likewise.
27229         * modules/unistr/u32-endswith: Likewise.
27230         * modules/unistr/u32-mblen: Likewise.
27231         * modules/unistr/u32-mbsnlen: Likewise.
27232         * modules/unistr/u32-mbtouc: Likewise.
27233         * modules/unistr/u32-mbtouc-unsafe: Likewise.
27234         * modules/unistr/u32-mbtoucr: Likewise.
27235         * modules/unistr/u32-move: Likewise.
27236         * modules/unistr/u32-next: Likewise.
27237         * modules/unistr/u32-prev: Likewise.
27238         * modules/unistr/u32-set: Likewise.
27239         * modules/unistr/u32-startswith: Likewise.
27240         * modules/unistr/u32-stpcpy: Likewise.
27241         * modules/unistr/u32-stpncpy: Likewise.
27242         * modules/unistr/u32-strcat: Likewise.
27243         * modules/unistr/u32-strchr: Likewise.
27244         * modules/unistr/u32-strcmp: Likewise.
27245         * modules/unistr/u32-strcoll: Likewise.
27246         * modules/unistr/u32-strcpy: Likewise.
27247         * modules/unistr/u32-strcspn: Likewise.
27248         * modules/unistr/u32-strdup: Likewise.
27249         * modules/unistr/u32-strlen: Likewise.
27250         * modules/unistr/u32-strmblen: Likewise.
27251         * modules/unistr/u32-strmbtouc: Likewise.
27252         * modules/unistr/u32-strncat: Likewise.
27253         * modules/unistr/u32-strncmp: Likewise.
27254         * modules/unistr/u32-strncpy: Likewise.
27255         * modules/unistr/u32-strnlen: Likewise.
27256         * modules/unistr/u32-strpbrk: Likewise.
27257         * modules/unistr/u32-strrchr: Likewise.
27258         * modules/unistr/u32-strspn: Likewise.
27259         * modules/unistr/u32-strstr: Likewise.
27260         * modules/unistr/u32-strtok: Likewise.
27261         * modules/unistr/u32-to-u16: Likewise.
27262         * modules/unistr/u32-to-u8: Likewise.
27263         * modules/unistr/u32-uctomb: Likewise.
27264         * modules/uniwbrk/u8-wordbreaks: Likewise.
27265         * modules/uniwbrk/u16-wordbreaks: Likewise.
27266         * modules/uniwbrk/u32-wordbreaks: Likewise.
27267         * modules/uniwbrk/ulc-wordbreaks: Likewise.
27268         * modules/uniwbrk/wordbreak-property: Likewise.
27269         * modules/uniwidth/u8-strwidth: Likewise.
27270         * modules/uniwidth/u8-width: Likewise.
27271         * modules/uniwidth/u16-strwidth: Likewise.
27272         * modules/uniwidth/u16-width: Likewise.
27273         * modules/uniwidth/u32-strwidth: Likewise.
27274         * modules/uniwidth/u32-width: Likewise.
27275         * modules/uniwidth/width: Likewise.
27276         * modules/unicase/cased-tests (Makefile.am): Link all test programs
27277         with $(LIBUNISTRING).
27278         * modules/unicase/ignorable-tests: Likewise.
27279         * modules/unicase/locale-language-tests: Likewise.
27280         * modules/unicase/tolower-tests: Likewise.
27281         * modules/unicase/totitle-tests: Likewise.
27282         * modules/unicase/toupper-tests: Likewise.
27283         * modules/unicase/u8-casecmp-tests: Likewise.
27284         * modules/unicase/u8-casecoll-tests: Likewise.
27285         * modules/unicase/u8-casefold-tests: Likewise.
27286         * modules/unicase/u8-is-cased-tests: Likewise.
27287         * modules/unicase/u8-is-casefolded-tests: Likewise.
27288         * modules/unicase/u8-is-lowercase-tests: Likewise.
27289         * modules/unicase/u8-is-titlecase-tests: Likewise.
27290         * modules/unicase/u8-is-uppercase-tests: Likewise.
27291         * modules/unicase/u8-tolower-tests: Likewise.
27292         * modules/unicase/u8-totitle-tests: Likewise.
27293         * modules/unicase/u8-toupper-tests: Likewise.
27294         * modules/unicase/u16-casecmp-tests: Likewise.
27295         * modules/unicase/u16-casecoll-tests: Likewise.
27296         * modules/unicase/u16-casefold-tests: Likewise.
27297         * modules/unicase/u16-is-cased-tests: Likewise.
27298         * modules/unicase/u16-is-casefolded-tests: Likewise.
27299         * modules/unicase/u16-is-lowercase-tests: Likewise.
27300         * modules/unicase/u16-is-titlecase-tests: Likewise.
27301         * modules/unicase/u16-is-uppercase-tests: Likewise.
27302         * modules/unicase/u16-tolower-tests: Likewise.
27303         * modules/unicase/u16-totitle-tests: Likewise.
27304         * modules/unicase/u16-toupper-tests: Likewise.
27305         * modules/unicase/u32-casecmp-tests: Likewise.
27306         * modules/unicase/u32-casecoll-tests: Likewise.
27307         * modules/unicase/u32-casefold-tests: Likewise.
27308         * modules/unicase/u32-is-cased-tests: Likewise.
27309         * modules/unicase/u32-is-casefolded-tests: Likewise.
27310         * modules/unicase/u32-is-lowercase-tests: Likewise.
27311         * modules/unicase/u32-is-titlecase-tests: Likewise.
27312         * modules/unicase/u32-is-uppercase-tests: Likewise.
27313         * modules/unicase/u32-tolower-tests: Likewise.
27314         * modules/unicase/u32-totitle-tests: Likewise.
27315         * modules/unicase/u32-toupper-tests: Likewise.
27316         * modules/unicase/ulc-casecmp-tests: Likewise.
27317         * modules/unicase/ulc-casecoll-tests: Likewise.
27318         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
27319         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
27320         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
27321         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
27322         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
27323         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
27324         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
27325         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
27326         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
27327         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
27328         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
27329         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
27330         * modules/unictype/bidicategory-byname-tests: Likewise.
27331         * modules/unictype/bidicategory-name-tests: Likewise.
27332         * modules/unictype/bidicategory-of-tests: Likewise.
27333         * modules/unictype/bidicategory-test-tests: Likewise.
27334         * modules/unictype/block-list-tests: Likewise.
27335         * modules/unictype/block-of-tests: Likewise.
27336         * modules/unictype/block-test-tests: Likewise.
27337         * modules/unictype/category-C-tests: Likewise.
27338         * modules/unictype/category-Cc-tests: Likewise.
27339         * modules/unictype/category-Cf-tests: Likewise.
27340         * modules/unictype/category-Cn-tests: Likewise.
27341         * modules/unictype/category-Co-tests: Likewise.
27342         * modules/unictype/category-Cs-tests: Likewise.
27343         * modules/unictype/category-L-tests: Likewise.
27344         * modules/unictype/category-Ll-tests: Likewise.
27345         * modules/unictype/category-Lm-tests: Likewise.
27346         * modules/unictype/category-Lo-tests: Likewise.
27347         * modules/unictype/category-Lt-tests: Likewise.
27348         * modules/unictype/category-Lu-tests: Likewise.
27349         * modules/unictype/category-M-tests: Likewise.
27350         * modules/unictype/category-Mc-tests: Likewise.
27351         * modules/unictype/category-Me-tests: Likewise.
27352         * modules/unictype/category-Mn-tests: Likewise.
27353         * modules/unictype/category-N-tests: Likewise.
27354         * modules/unictype/category-Nd-tests: Likewise.
27355         * modules/unictype/category-Nl-tests: Likewise.
27356         * modules/unictype/category-No-tests: Likewise.
27357         * modules/unictype/category-P-tests: Likewise.
27358         * modules/unictype/category-Pc-tests: Likewise.
27359         * modules/unictype/category-Pd-tests: Likewise.
27360         * modules/unictype/category-Pe-tests: Likewise.
27361         * modules/unictype/category-Pf-tests: Likewise.
27362         * modules/unictype/category-Pi-tests: Likewise.
27363         * modules/unictype/category-Po-tests: Likewise.
27364         * modules/unictype/category-Ps-tests: Likewise.
27365         * modules/unictype/category-S-tests: Likewise.
27366         * modules/unictype/category-Sc-tests: Likewise.
27367         * modules/unictype/category-Sk-tests: Likewise.
27368         * modules/unictype/category-Sm-tests: Likewise.
27369         * modules/unictype/category-So-tests: Likewise.
27370         * modules/unictype/category-Z-tests: Likewise.
27371         * modules/unictype/category-Zl-tests: Likewise.
27372         * modules/unictype/category-Zp-tests: Likewise.
27373         * modules/unictype/category-Zs-tests: Likewise.
27374         * modules/unictype/category-and-not-tests: Likewise.
27375         * modules/unictype/category-and-tests: Likewise.
27376         * modules/unictype/category-byname-tests: Likewise.
27377         * modules/unictype/category-name-tests: Likewise.
27378         * modules/unictype/category-none-tests: Likewise.
27379         * modules/unictype/category-of-tests: Likewise.
27380         * modules/unictype/category-or-tests: Likewise.
27381         * modules/unictype/category-test-withtable-tests: Likewise.
27382         * modules/unictype/combining-class-tests: Likewise.
27383         * modules/unictype/ctype-alnum-tests: Likewise.
27384         * modules/unictype/ctype-alpha-tests: Likewise.
27385         * modules/unictype/ctype-blank-tests: Likewise.
27386         * modules/unictype/ctype-cntrl-tests: Likewise.
27387         * modules/unictype/ctype-digit-tests: Likewise.
27388         * modules/unictype/ctype-graph-tests: Likewise.
27389         * modules/unictype/ctype-lower-tests: Likewise.
27390         * modules/unictype/ctype-print-tests: Likewise.
27391         * modules/unictype/ctype-punct-tests: Likewise.
27392         * modules/unictype/ctype-space-tests: Likewise.
27393         * modules/unictype/ctype-upper-tests: Likewise.
27394         * modules/unictype/ctype-xdigit-tests: Likewise.
27395         * modules/unictype/decimal-digit-tests: Likewise.
27396         * modules/unictype/digit-tests: Likewise.
27397         * modules/unictype/mirror-tests: Likewise.
27398         * modules/unictype/numeric-tests: Likewise.
27399         * modules/unictype/property-alphabetic-tests: Likewise.
27400         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
27401         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
27402         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
27403         * modules/unictype/property-bidi-block-separator-tests: Likewise.
27404         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
27405         * modules/unictype/property-bidi-common-separator-tests: Likewise.
27406         * modules/unictype/property-bidi-control-tests: Likewise.
27407         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
27408         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
27409         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
27410         * modules/unictype/property-bidi-european-digit-tests: Likewise.
27411         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
27412         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
27413         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
27414         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
27415         * modules/unictype/property-bidi-pdf-tests: Likewise.
27416         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
27417         * modules/unictype/property-bidi-whitespace-tests: Likewise.
27418         * modules/unictype/property-byname-tests: Likewise.
27419         * modules/unictype/property-combining-tests: Likewise.
27420         * modules/unictype/property-composite-tests: Likewise.
27421         * modules/unictype/property-currency-symbol-tests: Likewise.
27422         * modules/unictype/property-dash-tests: Likewise.
27423         * modules/unictype/property-decimal-digit-tests: Likewise.
27424         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
27425         * modules/unictype/property-deprecated-tests: Likewise.
27426         * modules/unictype/property-diacritic-tests: Likewise.
27427         * modules/unictype/property-extender-tests: Likewise.
27428         * modules/unictype/property-format-control-tests: Likewise.
27429         * modules/unictype/property-grapheme-base-tests: Likewise.
27430         * modules/unictype/property-grapheme-extend-tests: Likewise.
27431         * modules/unictype/property-grapheme-link-tests: Likewise.
27432         * modules/unictype/property-hex-digit-tests: Likewise.
27433         * modules/unictype/property-hyphen-tests: Likewise.
27434         * modules/unictype/property-id-continue-tests: Likewise.
27435         * modules/unictype/property-id-start-tests: Likewise.
27436         * modules/unictype/property-ideographic-tests: Likewise.
27437         * modules/unictype/property-ids-binary-operator-tests: Likewise.
27438         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
27439         * modules/unictype/property-ignorable-control-tests: Likewise.
27440         * modules/unictype/property-iso-control-tests: Likewise.
27441         * modules/unictype/property-join-control-tests: Likewise.
27442         * modules/unictype/property-left-of-pair-tests: Likewise.
27443         * modules/unictype/property-line-separator-tests: Likewise.
27444         * modules/unictype/property-logical-order-exception-tests: Likewise.
27445         * modules/unictype/property-lowercase-tests: Likewise.
27446         * modules/unictype/property-math-tests: Likewise.
27447         * modules/unictype/property-non-break-tests: Likewise.
27448         * modules/unictype/property-not-a-character-tests: Likewise.
27449         * modules/unictype/property-numeric-tests: Likewise.
27450         * modules/unictype/property-other-alphabetic-tests: Likewise.
27451         * modules/unictype/property-other-default-ignorable-code-point-tests:
27452         Likewise.
27453         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
27454         * modules/unictype/property-other-id-continue-tests: Likewise.
27455         * modules/unictype/property-other-id-start-tests: Likewise.
27456         * modules/unictype/property-other-lowercase-tests: Likewise.
27457         * modules/unictype/property-other-math-tests: Likewise.
27458         * modules/unictype/property-other-uppercase-tests: Likewise.
27459         * modules/unictype/property-paired-punctuation-tests: Likewise.
27460         * modules/unictype/property-paragraph-separator-tests: Likewise.
27461         * modules/unictype/property-pattern-syntax-tests: Likewise.
27462         * modules/unictype/property-pattern-white-space-tests: Likewise.
27463         * modules/unictype/property-private-use-tests: Likewise.
27464         * modules/unictype/property-punctuation-tests: Likewise.
27465         * modules/unictype/property-quotation-mark-tests: Likewise.
27466         * modules/unictype/property-radical-tests: Likewise.
27467         * modules/unictype/property-sentence-terminal-tests: Likewise.
27468         * modules/unictype/property-soft-dotted-tests: Likewise.
27469         * modules/unictype/property-space-tests: Likewise.
27470         * modules/unictype/property-terminal-punctuation-tests: Likewise.
27471         * modules/unictype/property-test-tests: Likewise.
27472         * modules/unictype/property-titlecase-tests: Likewise.
27473         * modules/unictype/property-unassigned-code-value-tests: Likewise.
27474         * modules/unictype/property-unified-ideograph-tests: Likewise.
27475         * modules/unictype/property-uppercase-tests: Likewise.
27476         * modules/unictype/property-variation-selector-tests: Likewise.
27477         * modules/unictype/property-white-space-tests: Likewise.
27478         * modules/unictype/property-xid-continue-tests: Likewise.
27479         * modules/unictype/property-xid-start-tests: Likewise.
27480         * modules/unictype/property-zero-width-tests: Likewise.
27481         * modules/unictype/scripts-tests: Likewise.
27482         * modules/unictype/syntax-c-ident-tests: Likewise.
27483         * modules/unictype/syntax-c-whitespace-tests: Likewise.
27484         * modules/unictype/syntax-java-ident-tests: Likewise.
27485         * modules/unictype/syntax-java-whitespace-tests: Likewise.
27486         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
27487         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
27488         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
27489         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
27490         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
27491         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
27492         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
27493         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
27494         * modules/uniname/uniname-tests: Likewise.
27495         * modules/uninorm/canonical-decomposition-tests: Likewise.
27496         * modules/uninorm/compat-decomposition-tests: Likewise.
27497         * modules/uninorm/composition-tests: Likewise.
27498         * modules/uninorm/decomposing-form-tests: Likewise.
27499         * modules/uninorm/decomposition-tests: Likewise.
27500         * modules/uninorm/filter-tests: Likewise.
27501         * modules/uninorm/nfc-tests: Likewise.
27502         * modules/uninorm/nfd-tests: Likewise.
27503         * modules/uninorm/nfkc-tests: Likewise.
27504         * modules/uninorm/nfkd-tests: Likewise.
27505         * modules/uninorm/u8-normcmp-tests: Likewise.
27506         * modules/uninorm/u8-normcoll-tests: Likewise.
27507         * modules/uninorm/u16-normcmp-tests: Likewise.
27508         * modules/uninorm/u16-normcoll-tests: Likewise.
27509         * modules/uninorm/u32-normcmp-tests: Likewise.
27510         * modules/uninorm/u32-normcoll-tests: Likewise.
27511         * modules/unistdio/u8-asnprintf-tests: Likewise.
27512         * modules/unistdio/u8-vasnprintf-tests: Likewise.
27513         * modules/unistdio/u8-vasprintf-tests: Likewise.
27514         * modules/unistdio/u8-vsnprintf-tests: Likewise.
27515         * modules/unistdio/u8-vsprintf-tests: Likewise.
27516         * modules/unistdio/u16-asnprintf-tests: Likewise.
27517         * modules/unistdio/u16-vasnprintf-tests: Likewise.
27518         * modules/unistdio/u16-vasprintf-tests: Likewise.
27519         * modules/unistdio/u16-vsnprintf-tests: Likewise.
27520         * modules/unistdio/u16-vsprintf-tests: Likewise.
27521         * modules/unistdio/u32-asnprintf-tests: Likewise.
27522         * modules/unistdio/u32-vasnprintf-tests: Likewise.
27523         * modules/unistdio/u32-vasprintf-tests: Likewise.
27524         * modules/unistdio/u32-vsnprintf-tests: Likewise.
27525         * modules/unistdio/u32-vsprintf-tests: Likewise.
27526         * modules/unistdio/ulc-asnprintf-tests: Likewise.
27527         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
27528         * modules/unistdio/ulc-vasprintf-tests: Likewise.
27529         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
27530         * modules/unistdio/ulc-vsprintf-tests: Likewise.
27531         * modules/unistr/u8-check-tests: Likewise.
27532         * modules/unistr/u8-chr-tests: Likewise.
27533         * modules/unistr/u8-cmp-tests: Likewise.
27534         * modules/unistr/u8-cmp2-tests: Likewise.
27535         * modules/unistr/u8-cpy-alloc-tests: Likewise.
27536         * modules/unistr/u8-cpy-tests: Likewise.
27537         * modules/unistr/u8-mblen-tests: Likewise.
27538         * modules/unistr/u8-mbsnlen-tests: Likewise.
27539         * modules/unistr/u8-mbtouc-tests: Likewise.
27540         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
27541         * modules/unistr/u8-mbtoucr-tests: Likewise.
27542         * modules/unistr/u8-move-tests: Likewise.
27543         * modules/unistr/u8-next-tests: Likewise.
27544         * modules/unistr/u8-prev-tests: Likewise.
27545         * modules/unistr/u8-set-tests: Likewise.
27546         * modules/unistr/u8-stpcpy-tests: Likewise.
27547         * modules/unistr/u8-stpncpy-tests: Likewise.
27548         * modules/unistr/u8-strcat-tests: Likewise.
27549         * modules/unistr/u8-strcmp-tests: Likewise.
27550         * modules/unistr/u8-strcoll-tests: Likewise.
27551         * modules/unistr/u8-strcpy-tests: Likewise.
27552         * modules/unistr/u8-strdup-tests: Likewise.
27553         * modules/unistr/u8-strlen-tests: Likewise.
27554         * modules/unistr/u8-strmblen-tests: Likewise.
27555         * modules/unistr/u8-strmbtouc-tests: Likewise.
27556         * modules/unistr/u8-strncat-tests: Likewise.
27557         * modules/unistr/u8-strncmp-tests: Likewise.
27558         * modules/unistr/u8-strncpy-tests: Likewise.
27559         * modules/unistr/u8-strnlen-tests: Likewise.
27560         * modules/unistr/u8-to-u16-tests: Likewise.
27561         * modules/unistr/u8-to-u32-tests: Likewise.
27562         * modules/unistr/u8-uctomb-tests: Likewise.
27563         * modules/unistr/u16-check-tests: Likewise.
27564         * modules/unistr/u16-chr-tests: Likewise.
27565         * modules/unistr/u16-cmp-tests: Likewise.
27566         * modules/unistr/u16-cmp2-tests: Likewise.
27567         * modules/unistr/u16-cpy-alloc-tests: Likewise.
27568         * modules/unistr/u16-cpy-tests: Likewise.
27569         * modules/unistr/u16-mblen-tests: Likewise.
27570         * modules/unistr/u16-mbsnlen-tests: Likewise.
27571         * modules/unistr/u16-mbtouc-tests: Likewise.
27572         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
27573         * modules/unistr/u16-mbtoucr-tests: Likewise.
27574         * modules/unistr/u16-move-tests: Likewise.
27575         * modules/unistr/u16-next-tests: Likewise.
27576         * modules/unistr/u16-prev-tests: Likewise.
27577         * modules/unistr/u16-set-tests: Likewise.
27578         * modules/unistr/u16-stpcpy-tests: Likewise.
27579         * modules/unistr/u16-stpncpy-tests: Likewise.
27580         * modules/unistr/u16-strcat-tests: Likewise.
27581         * modules/unistr/u16-strcmp-tests: Likewise.
27582         * modules/unistr/u16-strcoll-tests: Likewise.
27583         * modules/unistr/u16-strcpy-tests: Likewise.
27584         * modules/unistr/u16-strdup-tests: Likewise.
27585         * modules/unistr/u16-strlen-tests: Likewise.
27586         * modules/unistr/u16-strmblen-tests: Likewise.
27587         * modules/unistr/u16-strmbtouc-tests: Likewise.
27588         * modules/unistr/u16-strncat-tests: Likewise.
27589         * modules/unistr/u16-strncmp-tests: Likewise.
27590         * modules/unistr/u16-strncpy-tests: Likewise.
27591         * modules/unistr/u16-strnlen-tests: Likewise.
27592         * modules/unistr/u16-to-u32-tests: Likewise.
27593         * modules/unistr/u16-to-u8-tests: Likewise.
27594         * modules/unistr/u16-uctomb-tests: Likewise.
27595         * modules/unistr/u32-check-tests: Likewise.
27596         * modules/unistr/u32-chr-tests: Likewise.
27597         * modules/unistr/u32-cmp-tests: Likewise.
27598         * modules/unistr/u32-cmp2-tests: Likewise.
27599         * modules/unistr/u32-cpy-alloc-tests: Likewise.
27600         * modules/unistr/u32-cpy-tests: Likewise.
27601         * modules/unistr/u32-mblen-tests: Likewise.
27602         * modules/unistr/u32-mbsnlen-tests: Likewise.
27603         * modules/unistr/u32-mbtouc-tests: Likewise.
27604         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
27605         * modules/unistr/u32-mbtoucr-tests: Likewise.
27606         * modules/unistr/u32-move-tests: Likewise.
27607         * modules/unistr/u32-next-tests: Likewise.
27608         * modules/unistr/u32-prev-tests: Likewise.
27609         * modules/unistr/u32-set-tests: Likewise.
27610         * modules/unistr/u32-stpcpy-tests: Likewise.
27611         * modules/unistr/u32-stpncpy-tests: Likewise.
27612         * modules/unistr/u32-strcat-tests: Likewise.
27613         * modules/unistr/u32-strcmp-tests: Likewise.
27614         * modules/unistr/u32-strcoll-tests: Likewise.
27615         * modules/unistr/u32-strcpy-tests: Likewise.
27616         * modules/unistr/u32-strdup-tests: Likewise.
27617         * modules/unistr/u32-strlen-tests: Likewise.
27618         * modules/unistr/u32-strmblen-tests: Likewise.
27619         * modules/unistr/u32-strmbtouc-tests: Likewise.
27620         * modules/unistr/u32-strncat-tests: Likewise.
27621         * modules/unistr/u32-strncmp-tests: Likewise.
27622         * modules/unistr/u32-strncpy-tests: Likewise.
27623         * modules/unistr/u32-strnlen-tests: Likewise.
27624         * modules/unistr/u32-to-u16-tests: Likewise.
27625         * modules/unistr/u32-to-u8-tests: Likewise.
27626         * modules/unistr/u32-uctomb-tests: Likewise.
27627         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
27628         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
27629         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
27630         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
27631         * modules/uniwidth/u8-strwidth-tests: Likewise.
27632         * modules/uniwidth/u8-width-tests: Likewise.
27633         * modules/uniwidth/u16-strwidth-tests: Likewise.
27634         * modules/uniwidth/u16-width-tests: Likewise.
27635         * modules/uniwidth/u32-strwidth-tests: Likewise.
27636         * modules/uniwidth/u32-width-tests: Likewise.
27637         * modules/uniwidth/width-tests: Likewise.
27638
27639 2010-05-18  Richard Jones  <rjones@redhat.com>
27640
27641         doc: users.txt: list hivex
27642         * users.txt: Add hivex.
27643
27644 2010-05-18  Richard Jones  <rjones@redhat.com>
27645
27646         doc: users.txt: list febootstrap
27647         * users.txt: Add febootstrap.
27648
27649 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
27650
27651         bootstrap: fix an error when gnulib is not used as a git submodule
27652         * build-aux/bootstrap (gnulib_path): If its length is zero then
27653         assign "gnulib" to it.
27654         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
27655
27656 2010-05-16  Bruno Haible  <bruno@clisp.org>
27657
27658         Avoid autoconf warnings about AM_ICONV.
27659         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
27660         2.64.
27661
27662 2010-05-16  Bruno Haible  <bruno@clisp.org>
27663
27664         absolute-header: Make the macro usable in more situations.
27665         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
27666         from gl_ABSOLUTE_HEADER.
27667         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
27668
27669 2010-05-16  James Youngman  <jay@gnu.org>
27670
27671         doc: update users.txt
27672         * users.txt: Add CSSC.
27673
27674 2010-05-16  Jim Meyering  <meyering@redhat.com>
27675
27676         init.sh: fix an error in the previous change; add more comments
27677         * tests/init.sh: Compare exit code in loop against 9, not 2.
27678         Patch by Bruno Haible.
27679         Make the two tests more similar by adding an empty "then" clause.
27680         Add comments.
27681
27682         init.sh: avoid unnecessary shell re-exec
27683         * tests/init.sh: Improve the re-exec-required check to first test the
27684         current shell.  If it passes the test, do not search for a shell that
27685         does pass, and do not re-exec.  This test is particularly contorted to
27686         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27687         of $(...) evokes a syntax error and causes immediate shell exit with
27688         status 2.  Bruno Haible reported that the re-exec made it impossible
27689         to single-step through any init.sh-using script.
27690
27691 2010-05-16  Bruno Haible  <bruno@clisp.org>
27692
27693         Fix collision between gnulib's and libintl's printf replacements.
27694         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27695         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27696         (printf): When using GNU C, map the __printf__ function to rpl_printf
27697         via __asm__. When not using GNU C, define rpl_printf instead of
27698         __printf__.
27699         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27700         commit.
27701         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27702         commit.
27703         * m4/asm-underscore.m4: New file.
27704         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27705         * modules/stdio (Files): Add m4/asm-underscore.m4.
27706         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27707         Reported by Ben Pfaff.
27708
27709 2010-05-16  Bruno Haible  <bruno@clisp.org>
27710
27711         verify: Avoid skipping the test on openSUSE 11.0.
27712         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27713
27714 2010-05-13  Bruno Haible  <bruno@clisp.org>
27715
27716         Avoid useless warnings from G++.
27717         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27718         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27719         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27720
27721 2010-05-11  Jim Meyering  <meyering@redhat.com>
27722
27723         maint.mk: tweak preceding change
27724         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27725         regexps tighter by anchoring at EOL, and make the new group "shy"
27726         for slightly decreased overhead.
27727
27728 2010-05-11  Eric Blake  <eblake@redhat.com>
27729
27730         maint.mk: gnulib doesn't guarantee NSIG
27731         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27732
27733 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27734
27735         test-pwrite.c: Remove unused variable declaration.
27736         * tests/test-pwrite.c (main): Remove read_buf declaration.
27737
27738         Remove useless test-pwrite.sh file.
27739         * tests/test-pwrite.sh: Delete file.
27740         * modules/pwrite-tests: Remove references.
27741         Reported by Bruno Haible.
27742
27743 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27744
27745         init.sh: fix a typo
27746         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27747
27748 2010-05-10  Jim Meyering  <meyering@redhat.com>
27749
27750         maint.mk: avoid using a temporary file in the always-defined-macros check
27751         * top/maint.mk (.re-defmac): Remove rule.
27752         (gl_trap_): Remove definition.
27753         (sc_prohibit_always-defined_macros): Rewrite not to create and
27754         depend on a temporary file.  Instead, depend on GNU grep's ability
27755         to read a list of regular expressions from stdin when given "-f -".
27756
27757 2010-05-09  Bruno Haible  <bruno@clisp.org>
27758
27759         Update to GNU gettext 0.18, part 1.
27760         * m4/gettext.m4: Update to GNU gettext 0.18.
27761         * m4/intl.m4: Likewise.
27762         * m4/po.m4: Likewise.
27763         * modules/gettext (Files): Add m4/fcntl-o.m4.
27764         (configure.ac): Require gettext infrastructure from version 0.18.
27765
27766 2010-05-09  Jim Meyering  <meyering@redhat.com>
27767
27768         init.sh: enable MALLOC_PERTURB_
27769         * tests/init.sh: Enable glibc's malloc-perturbing option.
27770
27771         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27772         With my recent change in init.sh from the two-line form:
27773             -#   : ${srcdir=.}
27774             -#   . "$srcdir/init.sh"; path_prepend_ .
27775             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27776         I noticed that using the one-line form would cause this test
27777         to fail with a false-positive, or to stop working altogether,
27778         depending on whether help-version changed or all the tests did.
27779         * top/maint.mk (_hv_regex): Remove this definition.
27780         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27781         (_hv_regex_strong): Use a stronger regex to check for conformance.
27782         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27783         Give a separate diagnostic for lack of conforming use.
27784
27785         maint.mk: prohibit definition of symbols defined by gnulib
27786         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27787         definition of symbols defined by gnulib.
27788
27789 2010-05-09  Bruno Haible  <bruno@clisp.org>
27790
27791         acl: Avoid test failure on Cygwin-hosted mingw.
27792         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27793
27794 2010-05-09  Bruno Haible  <bruno@clisp.org>
27795
27796         error: Use system's fcntl function.
27797         * lib/error.c (fcntl): Undefine.
27798
27799 2010-05-09  Jim Meyering  <meyering@redhat.com>
27800
27801         verify: adjust formatting to be more consistent
27802         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27803         argument-list '('s, and after one comma.
27804
27805 2010-05-09  Bruno Haible  <bruno@clisp.org>
27806
27807         error: More reliable output on mingw.
27808         * lib/error.c: Include <windows.h>.
27809         (is_open): New function.
27810         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27811         defined.
27812
27813 2010-05-09  Bruno Haible  <bruno@clisp.org>
27814
27815         vasnprintf: Fix syntax errors in libintl build on mingw.
27816         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27817         pad_ourselves and prec_ourselves after use.
27818
27819 2010-05-08  Bruno Haible  <bruno@clisp.org>
27820
27821         * lib/config.charset: Update comments for Cygwin 1.7.
27822         * lib/localcharset.c: Likewise.
27823
27824 2010-05-07  Jim Meyering  <meyering@redhat.com>
27825
27826         init.sh: improve comments
27827         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
27828         . "${srcdir=.}/init.sh"; path_prepend_ .
27829         Add a note about path_prepend_ and the alternative of using
27830         TESTS_ENVIRONMENT.
27831
27832 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27833
27834         exclude: Unescape hashed patterns in wildcard mode.
27835         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
27836         to the hash list.
27837         * tests/test-exclude8.sh: New test case.
27838         * modules/exclude-tests: Add new test.
27839
27840 2010-05-05  Eric Blake  <eblake@redhat.com>
27841
27842         verify: automate tests
27843         * modules/verify-tests: New module.
27844         * tests/test-verify.sh: New file.
27845         * tests/test-verify.c: Guard each negative test with a unique id.
27846         Also avoid warning about unused left hand of comma expressions.
27847
27848 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27849
27850         Further improvements to verify.h, suggested by Eric Blake.
27851         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27852         the GL_* versions, to avoid collision with OpenGL.
27853         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27854         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27855         than testing merely whether it's defined.
27856
27857         Modify verify.h to pacify gcc -Wredundant_decls.
27858         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27859         These use the prefix "GL_" since they're likely to be useful elsewhere.
27860         We may need to break them out into a different .h file.
27861         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27862         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27863         of verify_function__.
27864
27865 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27866
27867         Tests for module pwrite.
27868         * modules/pwrite-tests: New file.
27869         * tests/test-pwrite.sh: New file.
27870         * tests/test-pwrite.c: New file.
27871
27872         New module pwrite.
27873         * lib/unistd.in.h (pwrite): New declaration.
27874         * lib/pwrite.c: New file, from glibc with modifications.
27875         * m4/pwrite.m4: New file.
27876         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27877         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27878         REPLACE_PWRITE.
27879         * modules/pwrite: New file.
27880         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27881         REPLACE_PWRITE.
27882         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27883         * doc/posix-functions/pwrite.texi: Mention the new module.
27884
27885 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27886
27887         pread: Update documentation.
27888         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27889
27890 2010-05-04  Eric Blake  <eblake@redhat.com>
27891
27892         docs: update cygwin progress
27893         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27894         this bug.
27895         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27896         Added in cygwin 1.7.2.
27897         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27898         Likewise.
27899         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27900         Likewise.
27901         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27902         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27903         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27904         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27905         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27906         Mention nproc module.
27907         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27908         bug in cygwin 1.7.5 addition.
27909         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27910         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27911         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27912         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27913         1.7.5.
27914         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27915         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27916         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27917         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27918         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27919         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27920         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27921         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27922         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27923         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27924         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27925         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27926         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27927         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27928         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27929         Likewise.
27930         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27931         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27932         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27933         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27934         Likewise.
27935         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27936         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27937         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27938         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27939         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27940         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27941         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27942         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27943         Likewise.
27944         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27945         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27946         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27947         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27948         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27949         Likewise.
27950         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27951         Likewise.
27952         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27953         Likewise.
27954         * doc/glibc-functions/xdrrec_endofrecord.texi
27955         (xdrrec_endofrecord): Likewise.
27956         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27957         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27958         Likewise.
27959         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
27960         Likewise.
27961
27962 2010-05-04  Jim Meyering  <meyering@redhat.com>
27963
27964         gendocs.sh: make its "-s FILE" option more useful
27965         * build-aux/gendocs.sh: When honoring the -s FILE option, update
27966         $PACKAGE to reflect the probably-different basename of "FILE".
27967
27968 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27969
27970         bootstrap: don't ignore download_po_files failure
27971         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
27972         failure.
27973
27974 2010-05-03  Jim Meyering  <meyering@redhat.com>
27975
27976         maint.mk: allow to pass options to gendocs.sh
27977         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
27978         (gendocs_options_): New overridable variable.
27979
27980         gnu-web-doc-update: don't ignore configure or build failure
27981         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
27982
27983         announce-gen: backslash-escape '@'s in --help output
27984         * build-aux/announce-gen: Fix syntax errors.
27985
27986         maint.mk, announce-gen: allow project-specific announcement mail headers
27987         * top/maint.mk (translation_project_): Define default.
27988         (announcement_Cc_, announcement_mail_headers_): Likewise.
27989         (announcement): Invoke announce-gen with new --mail-headers option.
27990         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
27991
27992         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
27993         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
27994         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
27995         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
27996         line in the "err2" output file when running "make check" in verbose
27997         mode (i.e., with set -x enabled).
27998
27999 2010-05-03  Bruno Haible  <bruno@clisp.org>
28000
28001         wctob: Fix for weird platforms.
28002         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
28003         argument value.
28004
28005 2010-05-03  Jim Meyering  <meyering@redhat.com>
28006
28007         maint.mk: prohibit unwarranted use of <strings.h>
28008         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
28009         strings.h in a file that does not also use strcasecmp, strncasecmp,
28010         ffs or ffsll.
28011
28012         maint.mk: remove obsolete comments
28013         * top/maint.mk: Remove stale, commented-out rules.
28014
28015 2010-05-02  Bruno Haible  <bruno@clisp.org>
28016
28017         wcwidth: Declare also when it's aliased.
28018         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
28019         macro.
28020
28021 2010-05-02  Bruno Haible  <bruno@clisp.org>
28022
28023         Fix regression from 2010-04-25.
28024         * gnulib-tool (func_modules_transitive_closure): Check the status of
28025         all modules, not only of the tests that are of the form foo-tests where
28026         foo is a module.
28027
28028 2010-05-02  Bruno Haible  <bruno@clisp.org>
28029
28030         wctob: Work around nasty Cygwin 1.7.2 bug.
28031         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
28032         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
28033
28034 2010-05-01  Bruno Haible  <bruno@clisp.org>
28035
28036         fpurge: Sharper test.
28037         * tests/test-fpurge.c (main): Add one more ftell check.
28038         * modules/fpurge-tests (Depends-on): Add ftell.
28039         Suggested by Eric Blake.
28040
28041 2010-05-01  Bruno Haible  <bruno@clisp.org>
28042
28043         ftello: Another test.
28044         * tests/test-ftello3.c: New file.
28045         * modules/ftello-tests (Files): Add it.
28046         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28047         MOSTLYCLEANFILES.
28048
28049         ftell: Another test.
28050         * tests/test-ftell3.c: New file.
28051         * modules/ftell-tests (Files): Add it.
28052         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28053         MOSTLYCLEANFILES.
28054
28055 2010-05-01  Bruno Haible  <bruno@clisp.org>
28056
28057         ftell, ftello: Work around Solaris bug.
28058         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
28059         * lib/ftello.c: Include stdio-impl.h.
28060         (ftello): On Solaris, when _IOWRT is set, compute the result without
28061         looking at _IOREAD.
28062         * modules/ftello (Files): Add lib/stdio-impl.h.
28063         * doc/posix-functions/ftell.texi: Mention Solaris bug.
28064         * doc/posix-functions/ftello.texi: Likewise.
28065         Reported by Eric Blake.
28066
28067 2010-05-01  Bruno Haible  <bruno@clisp.org>
28068
28069         freading: Adapt to special meaning of _IOREAD flag on Solaris.
28070         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
28071         the _IOWRT flag is also set.
28072
28073 2010-05-01  Bruno Haible  <bruno@clisp.org>
28074
28075         Fix doc about a HP-UX stdio bug.
28076         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
28077         * doc/posix-functions/ftello.texi: Likewise.
28078
28079 2010-05-01  Bruno Haible  <bruno@clisp.org>
28080
28081         lseek test: Fix failure on Solaris.
28082         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
28083         output.
28084
28085 2010-04-30  Jim Meyering  <meyering@redhat.com>
28086
28087         bootstrap: don't ignore failure to generate po*/Makevars
28088         * build-aux/bootstrap (with_gettext): Don't ignore failure
28089         to create po/Makevars or runtime-po/Makevars.
28090
28091 2010-04-29  Eric Blake  <eblake@redhat.com>
28092
28093         headers: relax license to LGPLv2+
28094         * modules/fcntl-h (License): Relax license.
28095         * modules/getopt-posix (License): Likewise.
28096         * modules/locale (License): Likewise.
28097         * modules/math (License): Likewise.
28098         * modules/pty (License): Likewise.
28099         * modules/sched (License): Likewise.
28100         * modules/search (License): Likewise.
28101         * modules/spawn (License): Likewise.
28102         * modules/stdarg (License): Likewise.
28103         * modules/sysexits (License): Likewise.
28104
28105 2010-04-29  Jim Meyering  <meyering@redhat.com>
28106
28107         inttypes: relax license to LGPLv2+
28108         * modules/inttypes (License): Relax license.
28109
28110 2010-04-29  Simon Josefsson  <simon@josefsson.org>
28111
28112         * top/maint.mk (indent): Run twice to produce idempotent results.
28113
28114 2010-04-28  Bruno Haible  <bruno@clisp.org>
28115
28116         getdate: Generate getdate.c in the source directory.
28117         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
28118         MOSTLYCLEANFILES.
28119         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
28120
28121 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
28122
28123         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
28124         is not declared as a const *; avoid warnings in that case.
28125
28126 2010-04-28  Eric Blake  <eblake@redhat.com>
28127
28128         canonicalize-lgpl: avoid compiler warning
28129         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
28130         declaration' / 'extraneous semicolon' warning with some compilers.
28131         Reported by Andreas Gruenbacher.
28132
28133 2010-04-28  Jim Meyering  <meyering@redhat.com>
28134
28135         init.sh: ensure a more reliable exit status when exiting via trap
28136         * tests/init.sh (setup_): Don't rely on $? in signal handler.
28137         Inspired by patches from Dmitry V. Levin.
28138         Also trap on signal 3 (SIGQUIT).
28139
28140 2010-04-27  Bruno Haible  <bruno@clisp.org>
28141
28142         Update doc about utimes().
28143         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
28144         'utimens' module.
28145         Reported by Andreas Gruenbacher <agruen@suse.de>.
28146
28147 2010-04-27  Eric Blake  <eblake@redhat.com>
28148
28149         full-read, full-write: relax license
28150         * modules/full-read (License): Drop to LGPLv2+.
28151         * modules/full-write (License): Likewise.
28152         * modules/safe-read (License): Likewise.
28153         * modules/safe-write (License): Likewise.
28154
28155         pthread: mention library for linking
28156         * modules/pthread (Link): Mention $(LIB_PTHREAD).
28157
28158 2010-04-27  Jim Meyering  <meyering@redhat.com>
28159
28160         maint.mk: fix a bug introduced in last change
28161         * top/maint.mk (gl_assured_headers_): Now that all names are on
28162         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
28163         is not anchored to end of word, it should be adequate.
28164
28165         maint.mk: avoid side-effect in latest syntax-check
28166         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
28167         to run commands via $(shell...), and hence to incur cost only when
28168         the new rule is actually run.
28169
28170         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
28171         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
28172         and use that to create a regexp used to detect all #if HAVE_..._H uses.
28173         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
28174         (gl_assured_headers_, az_, AZ_): Define.
28175         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
28176
28177 2010-04-26  Jim Meyering  <jim@meyering.net>
28178             Bruno Haible  <bruno@clisp.org>
28179
28180         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
28181         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
28182         Prompted by an exchange with Gilles Espinasse.
28183
28184 2010-04-26  Jim Meyering  <meyering@redhat.com>
28185
28186         git-version-gen: aesthetic tweak
28187         * build-aux/git-version-gen: Use "$nl" rather than a literal,
28188         so that the command remains on a single line.
28189
28190 2010-04-26  Eric Blake  <eblake@redhat.com>
28191
28192         git-version-gen: allow use on EBCDIC hosts
28193         * build-aux/git-version-gen (dirty): Use literal rather than tying
28194         ourselves to ascii.
28195         Reported by Steve Goetze.
28196
28197 2010-04-25  Bruno Haible  <bruno@clisp.org>
28198
28199         netdb: Add support for GNULIB_POSIXCHECK.
28200         * lib/netdb.in.h: Include warn-on-use.h.
28201         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
28202         functions are used when GNULIB_POSIXCHECK is defined and the
28203         getaddrinfo module is not in use.
28204         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
28205         freeaddrinfo, gai_strerror, getnameinfo are declared.
28206         * modules/netdb (Depends-on): Add warn-on-use.
28207         (Makefile.am): Include warn-on-use.h in netdb.h.
28208
28209 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
28210
28211         build: avoid "make check" failure without .git/ directory
28212         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
28213         there is no .git/ directory.
28214
28215 2010-04-25  Bruno Haible  <bruno@clisp.org>
28216
28217         ptsname: Fix misuse of ttyname_r.
28218         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
28219         of errno.
28220
28221 2010-04-25  Bruno Haible  <bruno@clisp.org>
28222
28223         ttyname_r: Make it work on Solaris 10.
28224         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
28225         if the system function has the POSIX declaration. Test whether the
28226         function fails if the buffer is less than 128 bytes large.
28227         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
28228         system's ttyname_r function. Provide a reasonably large buffer.
28229         * modules/ttyname_r (Depends-on): Add extensions.
28230         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
28231
28232 2010-04-25  Bruno Haible  <bruno@clisp.org>
28233
28234         Use the 'extensions' module for some more functions on Solaris.
28235         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
28236         module.
28237         * doc/posix-functions/ctime_r.texi: Likewise.
28238         * doc/posix-functions/getgrgid_r.texi: Likewise.
28239         * doc/posix-functions/getgrnam_r.texi: Likewise.
28240         * doc/posix-functions/getpwnam_r.texi: Likewise.
28241         * doc/posix-functions/getpwuid_r.texi: Likewise.
28242         * doc/posix-functions/readdir_r.texi: Likewise.
28243         * doc/posix-functions/sigwait.texi: Likewise.
28244         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
28245         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
28246
28247 2010-04-25  Bruno Haible  <bruno@clisp.org>
28248
28249         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
28250         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
28251         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
28252         * lib/ttyname_r.c: Include <limits.h>.
28253         (ttyname_r): Define using the system's ttyname_r function, if it exists
28254         and not on Solaris.
28255         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
28256         set.
28257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
28258         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
28259         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
28260         Reported by Simon Josefsson.
28261
28262 2010-04-25  Bruno Haible  <bruno@clisp.org>
28263
28264         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
28265         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
28266         * doc/posix-functions/ctime_r.texi: Likewise.
28267         * doc/posix-functions/getgrgid_r.texi: Likewise.
28268         * doc/posix-functions/getgrnam_r.texi: Likewise.
28269         * doc/posix-functions/getlogin_r.texi: Likewise.
28270         * doc/posix-functions/getpwnam_r.texi: Likewise.
28271         * doc/posix-functions/getpwuid_r.texi: Likewise.
28272         * doc/posix-functions/readdir_r.texi: Likewise.
28273         * doc/posix-functions/sigwait.texi: Likewise.
28274         * doc/posix-functions/ttyname_r.texi: Likewise.
28275         Reported by Simon Josefsson.
28276
28277 2010-04-25  Bruno Haible  <bruno@clisp.org>
28278
28279         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
28280         * gnulib-tool (func_usage): Document that --with-*-tests options apply
28281         also to --create-testdir.
28282         (func_acceptable): Don't consider the status of *-tests modules here.
28283         (func_modules_transitive_closure): Consider it here, before including a
28284         test module.
28285         (func_import, func_create_testdir): Set inc_all_direct_tests,
28286         inc_all_indirect_tests.
28287         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
28288         --create-testdir and --create-megatestdir.
28289
28290 2010-04-25  Bruno Haible  <bruno@clisp.org>
28291
28292         gnulib-tool: Add --without-*-tests options.
28293         * gnulib-tool (func_usage): Document the --without-*-tests options.
28294         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
28295         excl_unportable_tests): New variables.
28296         Fail if they are specified with --import or --update.
28297         (func_acceptable): Respect the excl_*_tests variables.
28298         (func_import): Set the excl_*_tests variables to empty.
28299
28300 2010-04-25  Simon Josefsson  <simon@josefsson.org>
28301             Bruno Haible  <bruno@clisp.org>
28302
28303         Work around a MacOS X 10.4 bug with openpty.
28304         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
28305         * tests/test-openpty.c (main): Close the master side explicitly.
28306
28307 2010-04-25  Bruno Haible  <bruno@clisp.org>
28308
28309         strnlen: Fix a C++ test error on MacOS X and Solaris.
28310         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
28311         the function is not declared.
28312         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
28313         Simon Josefsson.
28314
28315 2010-04-24  Bruno Haible  <bruno@clisp.org>
28316
28317         Avoid a gcc warning.
28318         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
28319         of correct type for %08lx directive.
28320         Reported by Eric Blake.
28321
28322 2010-04-24  Bruno Haible  <bruno@clisp.org>
28323
28324         vasnprintf: Correct errno value in case of out-of-memory.
28325         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
28326         or sprintf. Use the errno value from SNPRINTF or sprintf.
28327         Reported by Ian Beckwith <ianb@erislabs.net>.
28328
28329 2010-04-24  Bruno Haible  <bruno@clisp.org>
28330
28331         ansi-c++-opt: Find correct compiler when cross-compiling.
28332         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
28333         AC_CHECK_PROGS.
28334         Reported by Simon Josefsson.
28335
28336 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
28337
28338         vc-list-files: Add support for subversion
28339         * build-aux/vc-list-files: Use "svn list" to generate the list of
28340         files controlled by subversion.
28341
28342 2010-04-23  Jim Meyering  <meyering@redhat.com>
28343
28344         vc-list-files tests: convert to use init.sh
28345         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
28346         path_prepend_.
28347         Use Exit, not exit.
28348         Use skip_ rather than open coding it.
28349         Remove trap set-up and compare definitions.
28350         * tests/test-vc-list-files-git.sh: Likewise.
28351         * modules/vc-list-files-tests (Files): Add tests/init.sh.
28352
28353 2010-04-22  Simon Josefsson  <simon@josefsson.org>
28354
28355         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
28356         backup files.
28357
28358 2010-04-21  Simon Josefsson  <simon@josefsson.org>
28359
28360         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
28361
28362 2010-04-20  Eric Blake  <eblake@redhat.com>
28363
28364         tests: be robust to ignored SIGPIPE
28365         * tests/test-select-in.sh: Consume all output.
28366         * tests/test-lseek.sh: Check correct exit status, while avoiding
28367         EPIPE.
28368
28369 2010-04-20  Simon Josefsson  <simon@josefsson.org>
28370             Bruno Haible  <bruno@clisp.org>
28371
28372         visibility: Don't use -fvisibility if it leads to a warning.
28373         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
28374         yes, don't pretend that visibility works if it leads to a warning.
28375         Reported by Mike Gran <spk121@yahoo.com>.
28376
28377 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
28378
28379         * build-aux/bootstrap: Use "git -h" for testing for supported options
28380         instead of "git --help".  The short-form option only shows a summary,
28381         and doesn't layout the full man page.  Grep for the full option name
28382         in the summary, too.
28383
28384 2010-04-19  Bruno Haible  <bruno@clisp.org>
28385
28386         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
28387         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
28388         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
28389         mention of RELOCATABLE_STRIP.
28390         Reported by Sylvain Beucler <beuc@beuc.net>.
28391
28392 2010-04-19  Bruno Haible  <bruno@clisp.org>
28393
28394         * lib/diffseq.h: Fix typo in comment.
28395         Reported by Eric Blake.
28396
28397 2010-04-19  Bruno Haible  <bruno@clisp.org>
28398
28399         ioctl: Move autoconf macro to a .m4 file.
28400         * m4/ioctl.m4: New file, extracted from modules/ioctl.
28401         * modules/ioctl (Files): Add it.
28402         (configure.ac): Simply invoke gl_FUNC_IOCTL.
28403         Reported by Ian Beckwith <ianb@erislabs.net>.
28404
28405 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
28406             Bruno Haible  <bruno@clisp.org>
28407
28408         diffseq: Accommodate use-case with abstract arrays.
28409         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
28410         is not defined.
28411         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
28412         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
28413
28414 2010-04-18  Bruno Haible  <bruno@clisp.org>
28415
28416         * doc/posix-headers/stdbool.texi: More precise wording.
28417
28418 2010-04-17  Jim Meyering  <meyering@redhat.com>
28419
28420         maint.mk: use gnu-style indentation in an embedded perl script
28421         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
28422         Rename variable: s/two/last_two_bytes/
28423
28424 2010-04-16  Eric Blake  <eblake@redhat.com>
28425
28426         test-stdbool: skip test that fails with Solaris CC
28427         * tests/test-stdbool.c (f): Skip test that causes compilation
28428         error under buggy C++ compiler.
28429         * lib/stdbool.in.h: Document the limitation.
28430         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
28431
28432         setenv: allow compilation with C++
28433         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
28434         register keyword.
28435
28436         stdint: allow test to pass with C++
28437         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
28438
28439         getopt: allow compilation with C++
28440         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
28441         struct.
28442         * lib/getopt.c (_getopt_internal_r): Use correct type.
28443         Reported by Dagobert Michelson, via Joel E. Denny.
28444
28445 2010-04-16  Bruno Haible  <bruno@clisp.org>
28446
28447         Override netdb.h always.
28448         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28449         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
28450         Reported by Ludovic Courtès <ludo@gnu.org>.
28451
28452 2010-04-15  Bruno Haible  <bruno@clisp.org>
28453
28454         openpty: Fix mistake from 2010-03-21.
28455         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
28456         Reported by Simon Josefsson.
28457
28458 2010-04-15  Eric Blake  <eblake@redhat.com>
28459
28460         test-forkpty: fix expected signature
28461         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
28462         Reported by Simon Josefsson.
28463
28464 2010-04-15  Jim Meyering  <meyering@redhat.com>
28465
28466         maint.mk: texinfo_suffix_re_: correct the default regexp
28467         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
28468
28469         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
28470         make it configurable via texinfo_suffix_re_.
28471
28472 2010-04-14  Eric Blake  <eblake@redhat.com>
28473
28474         strtok_r: relax license to LGPLv2+
28475         * modules/strtok_r (License): Relax license.
28476         Reported by Matthias Bolte.
28477
28478 2010-04-14  Simon Josefsson  <simon@josefsson.org>
28479
28480         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
28481         version 1.4.4 by default instead of requiring the libgcrypt
28482         version used during build.  This makes it possible to use the
28483         application with older but still binary compatible libgcrypt
28484         versions.
28485
28486 2010-04-13  Eric Blake  <eblake@redhat.com>
28487
28488         getopt-gnu: match recent glibc fixes and posix ruling
28489         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
28490         '+' handling, when requesting extensions.
28491         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
28492         'W;' handling.
28493         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
28494         * doc/posix-functions/getopt.texi (getopt): Document this.
28495         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28496         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28497         Likewise.
28498
28499         getopt: merge bug fixes from glibc
28500         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
28501         diagnostics.  Honor '+:' correctly.  Reject ';'.
28502
28503         getopt-posix: detect MacOS bug
28504         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
28505         optind when missing a required argument.
28506         * doc/posix-functions/getopt.texi (getopt): Document the bug.
28507         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28508         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28509         Likewise.
28510
28511         getopt-posix: avoid spurious failure on Solaris
28512         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
28513         an indicator that setting optind=1 is sufficient for reset.
28514
28515         getopt-posix: avoid spurious failure on FreeBSD
28516         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
28517         in POSIX mode, since the m4 test uses it.
28518
28519         gnulib-tool: silence warning on BSD sh
28520         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
28521
28522 2010-04-13  Jim Meyering  <meyering@redhat.com>
28523
28524         doc: users.txt: GNU patch now uses gnulib
28525         * users.txt: Add patch.
28526
28527 2010-04-12  Jim Meyering  <meyering@redhat.com>
28528
28529         maint.mk: generate more concise timing data for syntax-check rules
28530         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
28531         " done" from each line that reports a syntax-check test duration.
28532
28533 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
28534
28535         git-version-gen: use "git update-index..." rather than "git status"
28536         * build-aux/git-version-gen: Use git update-index --refresh, not
28537         "git status".  With some versions of git, "git status" would fail
28538         to update the index and result in an unwarranted "-dirty" suffix.
28539
28540 2010-04-11  Jim Meyering  <meyering@redhat.com>
28541
28542         openat: correct formatting (no semantic change)
28543         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
28544         Suggested by Bruno Haible.
28545
28546 2010-04-11  Bruno Haible  <bruno@clisp.org>
28547
28548         Stricter declaration checking in testdirs.
28549         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28550         If for_tests is true, augment AM_CPPFLAGS to define
28551         GNULIB_STRICT_CHECKING.
28552         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
28553         GNULIB_STRICT_CHECKING is defined, verify that the function is
28554         declared.
28555
28556 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
28557             Bruno Haible  <bruno@clisp.org>
28558
28559         libunistring: Improve configure output.
28560         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
28561         Don't say "consider installing GNU libunistring" when checking again
28562         with libiconv.
28563
28564 2010-04-11  Bruno Haible  <bruno@clisp.org>
28565
28566         libunistring: Correct value of $LTLIBUNISTRING.
28567         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
28568         correct the value of $LTLIBUNISTRING.
28569
28570 2010-04-11  Bruno Haible  <bruno@clisp.org>
28571
28572         havelib: Add static libraries to LIBS in the right order.
28573         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
28574         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
28575
28576 2010-04-11  Bruno Haible  <bruno@clisp.org>
28577
28578         libunistring: Detect libunistring also when it depends on libiconv.
28579         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
28580         the second AC_LIB_HAVE_LINKFLAGS invocation.
28581
28582 2010-04-11  James Youngman  <jay@gnu.org>
28583
28584         close-stream: declare local scalars to be "const"
28585         * lib/close-stream.c (close_stream): Make boolean variables const
28586         to document the fact that we set but do not change them.
28587
28588 2010-04-11  Bruno Haible  <bruno@clisp.org>
28589
28590         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
28591
28592 2010-04-11  Jim Meyering  <meyering@redhat.com>
28593
28594         maint.mk: don't include dist-check.mk
28595         * top/maint.mk: Remove bogus include directive.
28596
28597         maint.mk: improve empty-line-at-EOF check
28598         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
28599         solution, rather than tail+Perl-based one.  The latter would read
28600         a few kilobytes from the end of each file, and did not handle empty
28601         files properly.
28602
28603         maint.mk: print the elapsed time for each syntax-check rule
28604         * top/maint.mk (sc_m_rules_): Save start time in a file.
28605         (sc_z_rules_): New rules: remove temp file and print elapsed time.
28606         (local-check): Interpose the .z rules
28607
28608 2010-04-11  Jim Meyering  <meyering@redhat.com>
28609
28610         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
28611         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
28612         empty file with one that ends in an empty line.
28613
28614 2010-04-10  Bruno Haible  <bruno@clisp.org>
28615
28616         mkdir: Make it work on mingw64.
28617         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
28618         * lib/mkdir.c: Update comment.
28619         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
28620
28621 2010-04-10  Bruno Haible  <bruno@clisp.org>
28622
28623         Don't override improved macro from newer autoconf.
28624         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
28625         autoconf >= 2.62.
28626         Reported by Joel E. Denny <jdenny@clemson.edu>.
28627
28628 2010-04-10  Jim Meyering  <meyering@redhat.com>
28629
28630         maint.mk: new syntax-check rule: prohibit empty lines at end of file
28631         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
28632
28633         maint.mk: correct a diagnostic
28634         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
28635         in diagnostic; now use $prohibit.
28636
28637 2010-04-10  Bruno Haible  <address@hidden>
28638
28639         fchownat: Fix a C++ test error on Solaris 8.
28640         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
28641         the function does not exist.
28642
28643 2010-04-10  Bruno Haible  <bruno@clisp.org>
28644
28645         vasnprintf: Add more tests.
28646         * tests/test-vasnprintf-posix.c: Include <errno.h>.
28647         (test_function): Test converting an invalid wide string.
28648
28649         vasnprintf: Correct handling of unconvertible wide string arguments.
28650         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
28651         VASNPRINTF.
28652         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
28653         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
28654         smaller than the expected maximum need for the directive. Set errno to
28655         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
28656         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
28657         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
28658         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
28659         * modules/vasnprintf (Files): Add m4/printf.m4.
28660         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28661
28662 2010-04-10  Bruno Haible  <bruno@clisp.org>
28663
28664         vasnprintf: Fix crash in %ls directive.
28665         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
28666         string is passed as argument to %ls, with no precision and no width.
28667         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28668
28669 2010-04-10  Bruno Haible  <bruno@clisp.org>
28670
28671         vasnprintf: Fix multiple test failures on mingw.
28672         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
28673         _snprintf, or snwprintf, not _snwprintf.
28674
28675 2010-04-10  Bruno Haible  <bruno@clisp.org>
28676
28677         write: Fix a C++ test error on mingw.
28678         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28679
28680 2010-04-10  Bruno Haible  <bruno@clisp.org>
28681
28682         vasnprintf test: Reduce code duplication.
28683         * tests/test-vasnprintf.c (test_function): New function, extracted from
28684         test_vasnprintf.
28685         (test_vasnprintf, test_asnprintf): Invoke it.
28686
28687 2010-04-10  Bruno Haible  <bruno@clisp.org>
28688
28689         strnlen: Fix warning in C++ mode on MacOS X.
28690         * lib/string.in.h (strnlen): Use the modern idiom.
28691         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28692         defining strnlen as a macro already in <config.h>.
28693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28694         REPLACE_STRNLEN.
28695         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28696         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28697
28698 2010-04-08  James Youngman  <jay@gnu.org>
28699
28700         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28701         the example.
28702
28703 2010-04-09  Jim Meyering  <meyering@redhat.com>
28704
28705         maint.mk: print better diagnostic when there is no $(_hv_file)
28706         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28707         announce that when $(_hv_file) (aka help-version) does not exist.
28708
28709         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28710         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28711         not try to interpret its random input bytes.  Jarno Rajahalme reported
28712         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28713         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28714         (mktempd_): Likewise, just in case.
28715
28716         ftruncate: add two years to projected module removal date: 2012
28717         * m4/ftruncate.m4: Adjust comments.
28718
28719         ftruncate: mark module as obsolete; even MinGW provides it, now
28720         * modules/ftruncate (Status): Obsolete.
28721         (Notice): Say that.
28722         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28723         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28724
28725 2010-04-08  Bruno Haible  <bruno@clisp.org>
28726
28727         Fix side effects from tests-related modules.
28728         * modules/dprintf-posix (Comment): New section.
28729         * modules/fprintf-posix (Comment): Likewise.
28730         * modules/obstack-printf-posix (Comment): Likewise.
28731         * modules/printf-posix (Comment): Likewise.
28732         * modules/snprintf-posix (Comment): Likewise.
28733         * modules/sprintf-posix (Comment): Likewise.
28734         * modules/vasnprintf-posix (Comment): Likewise.
28735         * modules/vasprintf-posix (Comment): Likewise.
28736         * modules/vdprintf-posix (Comment): Likewise.
28737         * modules/vfprintf-posix (Comment): Likewise.
28738         * modules/vprintf-posix (Comment): Likewise.
28739         * modules/vsnprintf-posix (Comment): Likewise.
28740         * modules/vsprintf-posix (Comment): Likewise.
28741         * modules/xprintf-posix (Comment): Likewise.
28742         * modules/xvasprintf-posix (Comment): Likewise.
28743         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28744         * modules/floorf-tests (Depends-on): Likewise.
28745         * modules/round-tests (Depends-on): Likewise.
28746         * modules/roundf-tests (Depends-on): Likewise.
28747         * modules/trunc-tests (Depends-on): Likewise.
28748         * modules/truncf-tests (Depends-on): Likewise.
28749         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28750         'fprintf-posix' module is not present.
28751         * tests/test-floorf2.c (check): Likewise.
28752         * tests/test-trunc2.c (check): Likewise.
28753         * tests/test-truncf2.c (check): Likewise.
28754         * tests/test-round2.c (equal): Likewise.
28755         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28756
28757 2010-04-07  Karl Berry  <karl@gnu.org>
28758
28759         * config/srclist.txt,
28760         * config/srclistvars.sh,
28761         * config/srclist-update: doc fixes.
28762
28763 2010-04-07  Jim Meyering  <meyering@redhat.com>
28764
28765         maint.mk: add a PATH crosschecking syntax-check rule
28766         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28767         Useful if you use a test like the one in help-version (coreutils,
28768         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28769         printed by prog --version.
28770
28771 2010-04-06  Bruno Haible  <bruno@clisp.org>
28772
28773         Fix link error on mingw.
28774         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28775         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28776
28777 2010-04-06  Bruno Haible  <bruno@clisp.org>
28778
28779         Assume rmdir exists.
28780         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28781
28782 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28783
28784         doc: update users.txt
28785         * users.txt: Add gcal.
28786
28787 2010-04-06  Jim Meyering  <meyering@redhat.com>
28788
28789         init.sh: simply unset TMPDIR rather than risking env -i
28790         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28791         although it probably works fine on all Unix-based systems, some
28792         systems (Cygwin?) cannot tolerate a totally cleared environment.
28793         Suggestion from Eric Blake.
28794
28795 2010-04-06  Jim Meyering  <meyering@redhat.com>
28796
28797         init.sh: portability fix: use env's POSIX-specified -i option not -u
28798         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28799         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28800
28801 2010-04-05  Bruno Haible  <bruno@clisp.org>
28802
28803         btowc: Work around Cygwin 1.7.2 bug.
28804         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28805         does not map NUL to 0.
28806         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28807
28808 2010-04-05  Bruno Haible  <bruno@clisp.org>
28809
28810         Make the multithread modules work on Cygwin 1.7.2.
28811         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28812         imported symbols can be declared weak, so that it returns "no" on
28813         Cygwin 1.7.2.
28814
28815 2010-04-05  Bruno Haible  <bruno@clisp.org>
28816
28817         Use the module 'strncat'.
28818         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28819
28820         Tests for module 'strncat'.
28821         * modules/strncat-tests: New file.
28822         * tests/test-strncat.c: New file.
28823
28824         New module 'strncat'.
28825         * lib/string.in.h (strncat): New declaration.
28826         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
28827         * m4/strncat.m4: New file, based on m4/memchr.m4.
28828         * modules/strncat: New file.
28829         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
28830         is declared.
28831         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
28832         REPLACE_STRNCAT.
28833         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
28834         REPLACE_STRNCAT.
28835         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
28836         module.
28837         * tests/test-string-c++.cc: Check signature of strncat.
28838
28839 2010-04-05  Jim Meyering  <meyering@redhat.com>
28840
28841         xstrtoumax-tests: convert to use init.sh
28842         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
28843         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28844         Use Exit, not exit.
28845         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28846
28847         xstrtoimax-tests: convert to use init.sh
28848         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28849         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28850         Use Exit, not exit.
28851         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28852
28853 2010-04-05  Bruno Haible  <bruno@clisp.org>
28854
28855         sys_socket: Avoid #define replacements in C++ mode.
28856         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28857         warning to the function if possible, rather than #defining the symbol
28858         to a dysfunctional alias.
28859
28860 2010-04-05  Bruno Haible  <bruno@clisp.org>
28861
28862         fseeko: Fix C++ test error on mingw.
28863         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28864         gl_FUNC_FSEEKO.
28865         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28866         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28867         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28868         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28869
28870 2010-04-05  Bruno Haible  <bruno@clisp.org>
28871
28872         duplocale: Improve test output.
28873         * tests/test-duplocale.c (main): Print reason for skipped test.
28874
28875 2010-04-05  Bruno Haible  <bruno@clisp.org>
28876
28877         Assume rmdir exists.
28878         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28879         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28880
28881 2010-04-05  Bruno Haible  <bruno@clisp.org>
28882
28883         Fix link error on Solaris 8 with cc.
28884         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28885
28886 2010-04-05  Bruno Haible  <bruno@clisp.org>
28887
28888         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28889         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28890
28891 2010-04-05  Bruno Haible  <bruno@clisp.org>
28892
28893         vasprintf: Update documentation.
28894         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28895
28896 2010-04-05  Bruno Haible  <bruno@clisp.org>
28897
28898         ptsname: Improve test.
28899         * tests/test-ptsname.c (main): Also try the various master names of BSD
28900         systems.
28901
28902 2010-04-05  Bruno Haible  <bruno@clisp.org>
28903
28904         memchr: Avoid a possible C++ test error.
28905         * lib/string.in.h (memchr): Provide declaration if function is missing.
28906         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28907         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28908         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28909         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28910
28911 2010-04-05  Bruno Haible  <bruno@clisp.org>
28912
28913         strtok_r: Improve idiom.
28914         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28915         AC_LIBOBJ is used.
28916
28917 2010-04-05  Bruno Haible  <bruno@clisp.org>
28918
28919         strdup: Improve idiom.
28920         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28921         AC_LIBOBJ is used.
28922         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28923         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28924         when AC_LIBOBJ is used.
28925
28926 2010-04-05  Bruno Haible  <bruno@clisp.org>
28927
28928         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28929         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28930         don't set REPLACE_MBSINIT to 1.
28931         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28932         don't set REPLACE_MBRTOWC to 1.
28933         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28934         exist, don't set REPLACE_MBSRTOWCS to 1.
28935         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28936         exist, don't set REPLACE_MBSNRTOWCS to 1.
28937         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28938         don't set REPLACE_WCRTOMB to 1.
28939         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28940         exist, don't set REPLACE_WCSRTOMBS to 1.
28941         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28942         exist, don't set REPLACE_WCSNRTOMBS to 1.
28943
28944 2010-04-05  Bruno Haible  <bruno@clisp.org>
28945
28946         ldexpl: Improve idiom.
28947         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28948         make sure to set HAVE_DECL_LDEXPL to 0.
28949
28950 2010-04-05  Jim Meyering  <meyering@redhat.com>
28951
28952         xstrtol-tests: convert to use init.sh
28953         * modules/xstrtol-tests (Files): Add tests/init.sh.
28954         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28955         Use Exit, not exit.
28956         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28957
28958         atexit-tests: convert to use init.sh
28959         * modules/atexit-tests (Files): Add tests/init.sh.
28960         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28961         Use Exit, not exit.
28962         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28963
28964         init.sh: fix typo
28965         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
28966
28967         init.sh: make it easier for a test script to write to the tty, ...
28968         when using automake's parallel-tests mode.
28969         * tests/init.sh (stderr_fileno_): Define overridable variable.
28970         (warn_): New function, to use it.
28971         (fail_, skip_, framework_failure_): Use warn_.
28972
28973 2010-04-04  Bruno Haible  <bruno@clisp.org>
28974
28975         btowc: Avoid warning.
28976         * lib/btowc.c: Include <stdlib.h>.
28977         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
28978
28979 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28980             Bruno Haible  <bruno@clisp.org>
28981
28982         wchar: Port to NetBSD 1.5.
28983         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
28984         * lib/wctype.in.h (WEOF): Likewise.
28985
28986 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28987             Bruno Haible  <bruno@clisp.org>
28988
28989         Port extended stdio to NetBSD 1.5.
28990         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
28991         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
28992         older.
28993
28994 2010-04-04  Bruno Haible  <bruno@clisp.org>
28995
28996         string: Remove unused substitution.
28997         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28998         HAVE_DECL_STRERROR.
28999         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
29000
29001 2010-04-04  Bruno Haible  <bruno@clisp.org>
29002
29003         strtod: Avoid a possible C++ test error.
29004         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
29005         set REPLACE_STRTOD.
29006
29007 2010-04-04  Bruno Haible  <bruno@clisp.org>
29008
29009         strerror: Update documentation.
29010         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
29011
29012 2010-04-04  Bruno Haible  <bruno@clisp.org>
29013
29014         stdio: Fix some C++ test errors on Solaris 8 with GCC.
29015         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
29016         _GL_CXXALIAS_SYS_CAST.
29017
29018 2010-04-04  Bruno Haible  <bruno@clisp.org>
29019
29020         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
29021         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
29022         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
29023         REPLACE_FREXPL to 1.
29024         * doc/posix-functions/frexpl.texi: Update documentation.
29025
29026 2010-04-04  Bruno Haible  <bruno@clisp.org>
29027
29028         math: Fix some C++ test errors on Solaris 8 and Cygwin.
29029         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
29030
29031 2010-04-04  Bruno Haible  <bruno@clisp.org>
29032
29033         Implement nanosleep for native Windows.
29034         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
29035
29036 2010-04-04  Bruno Haible  <bruno@clisp.org>
29037
29038         math: Fix some C++ test errors on Solaris 8.
29039         * lib/math.in.h (truncf, trunc): Use simpler idiom.
29040
29041 2010-04-04  Bruno Haible  <bruno@clisp.org>
29042
29043         math: Fix some C++ test errors on Cygwin.
29044         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
29045         truncl): Provide declaration if the system does not have it.
29046         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
29047         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
29048         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
29049         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
29050         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
29051         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
29052         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
29053         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
29054         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
29055         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
29056         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
29057         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
29058         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
29059         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
29060         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
29061         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
29062         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
29063         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29064         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29065         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
29066         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29067         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29068
29069 2010-04-04  Bruno Haible  <bruno@clisp.org>
29070
29071         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
29072         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
29073         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
29074         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
29075         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29076         * m4/isinf.m4 (gl_ISINF): Likewise.
29077         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29078
29079 2010-04-04  Bruno Haible  <bruno@clisp.org>
29080
29081         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
29082         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
29083
29084 2010-04-04  Bruno Haible  <bruno@clisp.org>
29085
29086         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
29087         * modules/tmpfile (configure.ac): Update.
29088
29089         tmpfile: Fix C++ test error on mingw.
29090         * lib/stdio.in.h (tmpfile): New declaration.
29091         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
29092         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
29093         * modules/tmpfile (Depends-on): Add stdio.
29094         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29095         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
29096         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
29097         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
29098         REPLACE_TMPFILE.
29099         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
29100
29101 2010-04-04  Bruno Haible  <bruno@clisp.org>
29102
29103         ioctl: Fix C++ test error on mingw.
29104         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
29105         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
29106         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
29107
29108 2010-04-03  Bruno Haible  <bruno@clisp.org>
29109
29110         wcwidth: Fix C++ test error on mingw.
29111         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
29112         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
29113         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
29114
29115 2010-04-03  Bruno Haible  <bruno@clisp.org>
29116
29117         nanosleep: Fix C++ test error on mingw.
29118         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
29119         * lib/time.in.h (nanosleep): Use modern idiom.
29120         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
29121         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
29122         REPLACE_NANOSLEEP to 1.
29123         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
29124         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
29125
29126 2010-04-03  Bruno Haible  <bruno@clisp.org>
29127
29128         strptime: Fix C++ test error on mingw.
29129         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
29130         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
29131         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
29132         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
29133         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
29134         not REPLACE_STRPTIME.
29135         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
29136         REPLACE_STRPTIME.
29137
29138 2010-04-03  Bruno Haible  <bruno@clisp.org>
29139
29140         timegm: Fix C++ test error on mingw.
29141         * lib/time.in.h (timegm): Use modern idiom.
29142         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
29143         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
29144         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
29145         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
29146
29147 2010-04-03  Bruno Haible  <bruno@clisp.org>
29148
29149         timegm: Assume declaration if function exists.
29150         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
29151         if it exists. Don't clobber ac_cv_func_timegm.
29152
29153 2010-04-03  Bruno Haible  <bruno@clisp.org>
29154
29155         time_r: Fix C++ test error on mingw.
29156         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
29157         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
29158         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
29159         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
29160         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
29161
29162 2010-04-03  Bruno Haible  <bruno@clisp.org>
29163
29164         time_r: Minor updates.
29165         * modules/time_r (Description): Mention the provided functions.
29166         * lib/time_r.c: Don't include <string.h>.
29167         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
29168         * doc/posix-functions/localtime_r.texi: Likewise.
29169
29170 2010-04-03  Bruno Haible  <bruno@clisp.org>
29171
29172         time: Fix regression introduced on 2010-03-08.
29173         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
29174         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
29175
29176 2010-04-03  Jim Meyering  <meyering@redhat.com>
29177
29178         maint.mk: don't silently disable project-specific syntax-check rules
29179         * top/maint.mk (_prohibit_regexp): Define, to help people realize
29180         that they need to convert their project-specific syntax-check rules
29181         to use the new _sc_search_regexp.
29182
29183 2010-04-03  Bruno Haible  <bruno@clisp.org>
29184
29185         fchdir: Fix regression introduced on 2010-03-08.
29186         * lib/unistd.in.h (fchdir): Fix declaration.
29187         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
29188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
29189         REPLACE_FCHDIR.
29190         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
29191         REPLACE_FCHDIR.
29192
29193 2010-04-03  Bruno Haible  <bruno@clisp.org>
29194
29195         getpagesize: Fix C++ test error on mingw.
29196         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
29197         system does not declare the function.
29198         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
29199         declared.
29200         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29201         HAVE_DECL_GETPAGESIZE.
29202         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
29203
29204 2010-04-03  Bruno Haible  <bruno@clisp.org>
29205
29206         stdio: Make C++ tests work on mingw.
29207         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
29208         does not declare the function.
29209
29210 2010-04-03  Bruno Haible  <bruno@clisp.org>
29211
29212         ftello: Fix C++ test error on mingw.
29213         * lib/stdio.in.h (ftello): Use modern idiom.
29214         * lib/ftello.c (ftello): Renamed from rpl_ftello.
29215         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
29216         is missing and that it needs to be replaced.
29217         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
29218         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
29219         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
29220
29221 2010-04-03  Bruno Haible  <bruno@clisp.org>
29222
29223         fseeko: Fix C++ test error on mingw.
29224         * lib/stdio.in.h (fseeko): Use modern idiom.
29225         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
29226         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
29227         is missing and that it needs to be replaced.
29228         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
29229         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
29230         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
29231
29232 2010-04-03  Bruno Haible  <bruno@clisp.org>
29233
29234         mkstemp: Fix C++ test error on mingw.
29235         * lib/stdlib.in.h (mkstemp): Use modern idiom.
29236         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
29237         function is missing and that it needs to be replaced.
29238         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
29239         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
29240
29241 2010-04-03  Bruno Haible  <bruno@clisp.org>
29242
29243         stpncpy: Fix C++ test error on mingw.
29244         * lib/string.in.h (stpncpy): Use modern idiom.
29245         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
29246         function is missing and that it needs to be replaced.
29247         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29248         REPLACE_STPNCPY.
29249         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
29250
29251 2010-04-03  Bruno Haible  <bruno@clisp.org>
29252
29253         sys_stat: Fix C++ test error on mingw.
29254         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
29255         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
29256
29257 2010-04-03  Bruno Haible  <bruno@clisp.org>
29258
29259         pty: Update doc.
29260         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
29261
29262 2010-04-03  Bruno Haible  <bruno@clisp.org>
29263
29264         unistd: Fix C++ test error on mingw.
29265         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
29266
29267 2010-04-03  Bruno Haible  <bruno@clisp.org>
29268
29269         Update doc regarding mingw.
29270         * doc/glibc-functions/openpty.texi: Update regarding mingw.
29271         * doc/glibc-functions/login_tty.texi: Likewise.
29272         * doc/glibc-functions/forkpty.texi: Likewise.
29273
29274 2010-04-03  Bruno Haible  <bruno@clisp.org>
29275
29276         stdlib: Avoid compilation failure of c-strtold on mingw.
29277         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
29278
29279 2010-04-03  Bruno Haible  <bruno@clisp.org>
29280
29281         locale: Make C++ tests work on Cygwin and mingw.
29282         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
29283         cannot provide the function.
29284         Reported by Simon Josefsson.
29285
29286 2010-04-03  Bruno Haible  <bruno@clisp.org>
29287
29288         localename: Port to MacOS X 10.6.
29289         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
29290         memory layout of the locales in MacOS X 10.6 as well.
29291         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
29292
29293 2010-04-02  Bruno Haible  <bruno@clisp.org>
29294
29295         gnulib-tool: Ensure that long-running tests are executed last.
29296         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
29297         running tests after the one for the other tests.
29298
29299 2010-04-02  Bruno Haible  <bruno@clisp.org>
29300
29301         gnulib-tool: Ensure the tests in the main directory are executed first.
29302         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
29303         start with the current directory.
29304
29305 2010-04-02  Bruno Haible  <bruno@clisp.org>
29306
29307         Tests for module 'havelib', moved here from GNU gettext.
29308         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
29309         modifications.
29310         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
29311         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
29312         with modifications.
29313         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
29314         modifications.
29315         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
29316         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
29317         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
29318         with modifications.
29319         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
29320         with modifications.
29321         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
29322         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
29323         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
29324         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
29325         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
29326         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
29327         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
29328         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
29329         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
29330         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
29331         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
29332         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
29333         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
29334         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
29335         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
29336         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
29337         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
29338         with modifications.
29339         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
29340         with modifications.
29341         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
29342         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
29343         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
29344         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
29345         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
29346         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
29347         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
29348         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
29349         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
29350         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
29351         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
29352         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
29353         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
29354         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
29355         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
29356         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
29357         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
29358         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
29359         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
29360         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
29361         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
29362         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
29363         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
29364         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
29365         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
29366         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
29367         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
29368         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
29369         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
29370         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
29371         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
29372         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
29373         * tests/havelib/rpathx/rpathx.c: New file, from
29374         gettext/autoconf-lib-link.
29375         * tests/havelib/rpathx/Makefile.am: New file, from
29376         gettext/autoconf-lib-link.
29377         * tests/havelib/rpathx/configure.ac: New file, from
29378         gettext/autoconf-lib-link with modifications.
29379         * tests/havelib/rpathy/rpathy.c: New file, from
29380         gettext/autoconf-lib-link.
29381         * tests/havelib/rpathy/Makefile.am: New file, from
29382         gettext/autoconf-lib-link.
29383         * tests/havelib/rpathy/configure.ac: New file, from
29384         gettext/autoconf-lib-link with modifications.
29385         * tests/havelib/rpathz/rpathz.c: New file, from
29386         gettext/autoconf-lib-link.
29387         * tests/havelib/rpathz/Makefile.am: New file, from
29388         gettext/autoconf-lib-link.
29389         * tests/havelib/rpathz/configure.ac: New file, from
29390         gettext/autoconf-lib-link with modifications.
29391         * tests/havelib/rpathlx/usex.c: New file, from
29392         gettext/autoconf-lib-link.
29393         * tests/havelib/rpathlx/Makefile.am: New file, from
29394         gettext/autoconf-lib-link.
29395         * tests/havelib/rpathlx/configure.ac: New file, from
29396         gettext/autoconf-lib-link with modifications.
29397         * tests/havelib/rpathly/usey.c: New file, from
29398         gettext/autoconf-lib-link.
29399         * tests/havelib/rpathly/Makefile.am: New file, from
29400         gettext/autoconf-lib-link.
29401         * tests/havelib/rpathly/configure.ac: New file, from
29402         gettext/autoconf-lib-link with modifications.
29403         * tests/havelib/rpathlz/usez.c: New file, from
29404         gettext/autoconf-lib-link.
29405         * tests/havelib/rpathlz/Makefile.am: New file, from
29406         gettext/autoconf-lib-link.
29407         * tests/havelib/rpathlz/configure.ac: New file, from
29408         gettext/autoconf-lib-link with modifications.
29409         * tests/havelib/rpathlyx/usey.c: New file, from
29410         gettext/autoconf-lib-link.
29411         * tests/havelib/rpathlyx/Makefile.am: New file, from
29412         gettext/autoconf-lib-link.
29413         * tests/havelib/rpathlyx/configure.ac: New file, from
29414         gettext/autoconf-lib-link with modifications.
29415         * tests/havelib/rpathlzyx/usez.c: New file, from
29416         gettext/autoconf-lib-link.
29417         * tests/havelib/rpathlzyx/Makefile.am: New file, from
29418         gettext/autoconf-lib-link.
29419         * tests/havelib/rpathlzyx/configure.ac: New file, from
29420         gettext/autoconf-lib-link with modifications.
29421         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
29422         with modifications.
29423
29424 2010-04-02  Bruno Haible  <bruno@clisp.org>
29425
29426         gnulib-tool: Create distributed built sources also for the tests.
29427         * gnulib-tool (func_create_testdir): Also generate distributed built
29428         sources in the tests directory.
29429
29430 2010-04-02  Bruno Haible  <bruno@clisp.org>
29431
29432         gnulib-tool: Obey user's environment variables.
29433         * gnulib-tool (func_create_testdir): When creating built sources,
29434         respect the environment variables for autoconf, automake, etc. given by
29435         the user.
29436
29437 2010-04-02  Bruno Haible  <bruno@clisp.org>
29438
29439         gnulib-tool: Provide the value of --m4-base to modules.
29440         * gnulib-tool (func_import, func_create_testdir): Emit a definition
29441         of gl_m4_base.
29442
29443 2010-04-02  Eric Blake  <eblake@redhat.com>
29444
29445         maint.mk: fix some fallout
29446         * NEWS: Document the incompatible change, and its effect on cfg.mk.
29447         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
29448
29449 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29450
29451         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
29452         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
29453         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
29454         (sc_cast_of_x_alloc_return_value): Likewise.
29455         (sc_cast_of_alloca_return_value): Likewise.
29456         (sc_space_tab): Likewise.
29457         (sc_prohibit_atoi_atof): Likewise.
29458         (sc_prohibit_magic_number_exit): Likewise.
29459         (sc_error_exit_success): Likewise.
29460         (sc_file_system): Likewise.
29461         (sc_prohibit_have_config_h): Likewise.
29462         (sc_require_config_h): Likewise.
29463         (sc_prohibit_HAVE_MBRTOWC): Likewise.
29464         (sc_obsolete_symbols): Likewise.
29465         (sc_changelog): Likewise.
29466         (sc_program_name): Likewise.
29467         (sc_the_the): Likewise.
29468         (sc_trailing_blank): Likewise.
29469         (sc_two_space_separator_in_usage): Likewise.
29470         (sc_useless_cpp_parens): Likewise.
29471         (sc_GPL_version): Likewise.
29472         (sc_GFDL_version): Likewise.
29473         (sc_texinfo_acronym): Likewise.
29474         (sc_prohibit_cvs_keyword): Likewise.
29475         (sc_prohibit_stat_st_blocks): Likewise.
29476         (sc_prohibit_S_IS_definition): Likewise.
29477         (sc_redundant_const): Likewise.
29478         (sc_makefile_TAB_only_indentation): Likewise.
29479         (sc_m4_quote_check): Likewise.
29480         (sc_makefile_path_separator_check): Likewise.
29481         (sc_copyright_check): Likewise.
29482         (sc_Wundef_boolean): Likewise.
29483         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29484
29485         maint.mk: match 0 or more whitespace-before-function-call '('
29486         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
29487         that have zero or two-and-more spaces between the function name
29488         and the open parenthesis.
29489         (sc_error_message_warn_fatal): Likewise.
29490         (sc_error_message_uppercase): Likewise.
29491         (sc_error_message_period): Likewise.
29492
29493 2010-03-31  Eric Blake  <eblake@redhat.com>
29494
29495         maint.mk: check for [ as well as test
29496         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
29497         Based on a libvirt report by Matthias Bolte.
29498
29499         gnumakefile: don't squelch _version output
29500         * top/GNUmakefile (_version): Create one-shot dependency rather
29501         than using $(shell) when version must be regenerated.
29502         (_autoreconf): Run verbosely, by default.
29503
29504         sys_time: avoid compiler warnings
29505         * lib/sys_time.in.h (includes): Ensure gcc pragma is
29506         unconditional, fixing regression from 2010-03-29.
29507         Reported by Simon Josefsson.
29508
29509 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29510
29511         maint.mk: s/_header_without_use/_sc_header_without_use/
29512         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
29513         (sc_prohibit_assert_without_use): Use the new name.
29514         (sc_prohibit_close_stream_without_use): Likewise.
29515         (sc_prohibit_getopt_without_use): Likewise.
29516         (sc_prohibit_quotearg_without_use): Likewise.
29517         (sc_prohibit_quote_without_use): Likewise.
29518         (sc_prohibit_long_options_without_use): Likewise.
29519         (sc_prohibit_inttostr_without_use): Likewise.
29520         (sc_prohibit_ignore_value_without_use): Likewise.
29521         (sc_prohibit_error_without_use): Likewise.
29522         (sc_prohibit_xalloc_without_use): Likewise.
29523         (sc_prohibit_hash_without_use): Likewise.
29524         (sc_prohibit_hash_pjw_without_use): Likewise.
29525         (sc_prohibit_safe_read_without_use): Likewise.
29526         (sc_prohibit_argmatch_without_use): Likewise.
29527         (sc_prohibit_canonicalize_without_use): Likewise.
29528         (sc_prohibit_root_dev_ino_without_use): Likewise.
29529         (sc_prohibit_openat_without_use): Likewise.
29530         (sc_prohibit_c_ctype_without_use): Likewise.
29531         (sc_prohibit_signal_without_use): Likewise.
29532         (sc_prohibit_intprops_without_use): Likewise.
29533
29534 2010-03-30  Eric Blake  <eblake@redhat.com>
29535
29536         maint: improve module indicators
29537         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
29538         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
29539         columns, and avoid extra macro expansion.
29540
29541         fdopendir: work around FreeBSD bug
29542         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29543         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
29544         * modules/dirent (Makefile.am): Substitute it.
29545         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
29546         declaration.
29547         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
29548         fix.
29549         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29550
29551 2010-03-29  Bruno Haible  <bruno@clisp.org>
29552
29553         Emit #pragma system_header after the inclusion guard, not before.
29554         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
29555         guard that spans the entire file, not before. This enables an
29556         optimization in GCC's preprocessor.
29557         * lib/ctype.in.h: Likewise.
29558         * lib/dirent.in.h: Likewise.
29559         * lib/errno.in.h: Likewise.
29560         * lib/float.in.h: Likewise.
29561         * lib/getopt.in.h: Likewise.
29562         * lib/iconv.in.h: Likewise.
29563         * lib/langinfo.in.h: Likewise.
29564         * lib/locale.in.h: Likewise.
29565         * lib/math.in.h: Likewise.
29566         * lib/netdb.in.h: Likewise.
29567         * lib/netinet_in.in.h: Likewise.
29568         * lib/pty.in.h: Likewise.
29569         * lib/sched.in.h: Likewise.
29570         * lib/se-selinux.in.h: Likewise.
29571         * lib/search.in.h: Likewise.
29572         * lib/spawn.in.h: Likewise.
29573         * lib/stdarg.in.h: Likewise.
29574         * lib/stdint.in.h: Likewise.
29575         * lib/string.in.h: Likewise.
29576         * lib/strings.in.h: Likewise.
29577         * lib/sys_file.in.h: Likewise.
29578         * lib/sys_ioctl.in.h: Likewise.
29579         * lib/sys_time.in.h: Likewise.
29580         * lib/sys_times.in.h: Likewise.
29581         * lib/sys_utsname.in.h: Likewise.
29582         * lib/sys_wait.in.h: Likewise.
29583         * lib/sysexits.in.h: Likewise.
29584         * lib/wctype.in.h: Likewise.
29585
29586 2010-03-28  James Youngman  <jay@gnu.org>
29587
29588         save-cwd: don't leak a file descriptor when the caller execs.
29589         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
29590         saved file descriptor.
29591         * modules/save-cwd (Depends-on): Depend on cloexec.
29592
29593 2010-03-29  Bruno Haible  <bruno@clisp.org>
29594
29595         Remove vestiges of fts-lgpl module.
29596         * lib/fts_.h: Assume GNULIB_FTS is 1.
29597         * lib/fts.c: Likewise.
29598         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29599
29600 2010-03-28  Bruno Haible  <bruno@clisp.org>
29601
29602         Fix definition of tests witness macro.
29603         * gnulib-tool (func_import): Fix definition of witness macro.
29604
29605 2010-03-28  Bruno Haible  <bruno@clisp.org>
29606
29607         Fix ioctl's protoype on glibc systems.
29608         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
29609         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
29610         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
29611         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
29612         signature. If not, arrange to replace the ioctl function.
29613         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29614         REPLACE_IOCTL.
29615         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
29616         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
29617         Reported by Ludovic Courtès <ludo@gnu.org>.
29618
29619 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
29620
29621         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
29622         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
29623         made it so grep -r --include=GLOB* ... did not work.
29624
29625 2010-03-26  Jim Meyering  <meyering@redhat.com>
29626             Eric Blake  <eblake@redhat.com>
29627
29628         maint.mk: prohibit use of test's -o and -a operators
29629         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
29630
29631 2010-03-28  Bruno Haible  <bruno@clisp.org>
29632
29633         Remove unused GNULIB_XYZ macro definitions.
29634         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
29635         invocation.
29636
29637 2010-03-28  Bruno Haible  <bruno@clisp.org>
29638
29639         Mark privileged tests modules.
29640         * modules/idpriv-drop-tests (Status): New section.
29641         * modules/idpriv-droptemp-tests (Status): New section.
29642
29643 2010-03-28  Bruno Haible  <bruno@clisp.org>
29644
29645         Split C++ tests into separate tests modules.
29646         * modules/dirent-c++-tests: New file, extracted from
29647         modules/dirent-tests.
29648         * modules/dirent-tests: Depend on it.
29649         * modules/fcntl-h-c++-tests: New file, extracted from
29650         modules/fcntl-h-tests.
29651         * modules/fcntl-h-tests: Depend on it.
29652         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
29653         * modules/glob-tests: Depend on it.
29654         * modules/iconv-h-c++-tests: New file, extracted from
29655         modules/iconv-h-tests.
29656         * modules/iconv-h-tests: Depend on it.
29657         * modules/langinfo-c++-tests: New file, extracted from
29658         modules/langinfo-tests.
29659         * modules/langinfo-tests: Depend on it.
29660         * modules/locale-c++-tests: New file, extracted from
29661         modules/locale-tests.
29662         * modules/locale-tests: Depend on it.
29663         * modules/math-c++-tests: New file, extracted from modules/math-tests.
29664         * modules/math-tests: Depend on it.
29665         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
29666         * modules/pty-tests: Depend on it.
29667         * modules/search-c++-tests: New file, extracted from
29668         modules/search-tests.
29669         * modules/search-tests: Depend on it.
29670         * modules/signal-c++-tests: New file, extracted from
29671         modules/signal-tests.
29672         * modules/signal-tests: Depend on it.
29673         * modules/spawn-c++-tests: New file, extracted from
29674         modules/spawn-tests.
29675         * modules/spawn-tests: Depend on it.
29676         * modules/stdio-c++-tests: New file, extracted from
29677         modules/stdio-tests.
29678         * modules/stdio-tests: Depend on it.
29679         * modules/stdlib-c++-tests: New file, extracted from
29680         modules/stdlib-tests.
29681         * modules/stdlib-tests: Depend on it.
29682         * modules/string-c++-tests: New file, extracted from
29683         modules/string-tests.
29684         * modules/string-tests: Depend on it.
29685         * modules/sys_ioctl-c++-tests: New file, extracted from
29686         modules/sys_ioctl-tests.
29687         * modules/sys_ioctl-tests: Depend on it.
29688         * modules/sys_select-c++-tests: New file, extracted from
29689         modules/sys_select-tests.
29690         * modules/sys_select-tests: Depend on it.
29691         * modules/sys_socket-c++-tests: New file, extracted from
29692         modules/sys_socket-tests.
29693         * modules/sys_socket-tests: Depend on it.
29694         * modules/sys_stat-c++-tests: New file, extracted from
29695         modules/sys_stat-tests.
29696         * modules/sys_stat-tests: Depend on it.
29697         * modules/sys_time-c++-tests: New file, extracted from
29698         modules/sys_time-tests.
29699         * modules/sys_time-tests: Depend on it.
29700         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29701         * modules/time-tests: Depend on it.
29702         * modules/unistd-c++-tests: New file, extracted from
29703         modules/unistd-tests.
29704         * modules/unistd-tests: Depend on it.
29705         * modules/wchar-c++-tests: New file, extracted from
29706         modules/wchar-tests.
29707         * modules/wchar-tests: Depend on it.
29708         * modules/wctype-c++-tests: New file, extracted from
29709         modules/wctype-tests.
29710         * modules/wctype-tests: Depend on it.
29711         Reported by Simon Josefsson.
29712
29713 2010-03-28  Bruno Haible  <bruno@clisp.org>
29714
29715         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29716         * gnulib-tool (func_exists_module): New function, extracted from
29717         func_verify_module.
29718         (func_verify_module): Use it.
29719         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29720         'foo' only if 'foo' exists.
29721         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29722         module.
29723
29724 2010-03-28  Bruno Haible  <bruno@clisp.org>
29725
29726         gnulib-tool: Add support for special categories of tests.
29727         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29728         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29729         (func_usage): Document them.
29730         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29731         inc_unportable_tests, inc_all_tests): New variables.
29732         (func_acceptable): Consider these variables.
29733         (func_modules_transitive_closure): Make it work when the 'Status' field
29734         consists of multiple words.
29735         (func_import): Store and restore the values of inc_cxx_tests,
29736         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29737         inc_all_tests in gnulib-comp.m4.
29738         (func_create_testdir): Set inc_all_tests to true.
29739         * doc/gnulib.texi (Extra tests modules): New section.
29740         Suggested by Jim Meyering.
29741
29742 2010-03-28  Bruno Haible  <bruno@clisp.org>
29743
29744         ansi-c++-opt: Allow turning off the C++ build by default.
29745         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29746         gl_CXX_CHOICE_DEFAULT_NO is defined.
29747         Requested by Eric Blake.
29748
29749 2010-03-28  Bruno Haible  <bruno@clisp.org>
29750
29751         unistd: Avoid #define replacements in C++ mode.
29752         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29753         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29754         setsockopt, shutdown, select): In C++, attach a warning to the function
29755         if possible, rather than #defining the symbol to a dysfunctional alias.
29756         Reported by John W. Eaton <jwe@gnu.org>.
29757
29758 2010-03-28  Bruno Haible  <bruno@clisp.org>
29759
29760         Fix link errors on mingw.
29761         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29762         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29763         $(LIBSOCKET).
29764         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29765         $(LIBSOCKET).
29766
29767 2010-03-28  Bruno Haible  <bruno@clisp.org>
29768             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29769
29770         lib-ignore: Determine different options for different compilers.
29771         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29772         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29773         Add comments.
29774         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29775         * NEWS: Mention the change.
29776
29777 2010-03-27  Bruno Haible  <bruno@clisp.org>
29778
29779         Remove unused GNULIB_XYZ macro definitions.
29780         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29781         * modules/fseek (configure.ac): Likewise.
29782         * modules/ioctl (configure.ac): Likewise.
29783         * modules/open (configure.ac): Likewise.
29784         * modules/stdlib-safer (configure.ac): Likewise.
29785
29786 2010-03-27  Bruno Haible  <bruno@clisp.org>
29787
29788         Add a remark about certain modules.
29789         * modules/malloc (Comment): New section.
29790         * modules/realloc (Comment): Likewise.
29791         * modules/sigpipe (Comment): Likewise.
29792
29793 2010-03-27  Bruno Haible  <bruno@clisp.org>
29794
29795         Resolve conflict between the two kinds of module indicators.
29796         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29797         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29798         * modules/canonicalize (configure.ac): Invoke
29799         gl_MODULE_INDICATOR_FOR_TESTS.
29800         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29801         GNULIB_XYZ.
29802         * tests/test-dirent-c++.cc: Likewise.
29803         * tests/test-dirent-safer.c: Likewise.
29804         * tests/test-dup2.c: Likewise.
29805         * tests/test-fchdir.c: Likewise.
29806         * tests/test-fcntl-h-c++.cc: Likewise.
29807         * tests/test-getopt.c: Likewise.
29808         * tests/test-getopt.h: Likewise.
29809         * tests/test-langinfo-c++.cc: Likewise.
29810         * tests/test-locale-c++.cc: Likewise.
29811         * tests/test-math-c++.cc: Likewise.
29812         * tests/test-pty-c++.cc: Likewise.
29813         * tests/test-search-c++.cc: Likewise.
29814         * tests/test-signal-c++.cc: Likewise.
29815         * tests/test-spawn-c++.cc: Likewise.
29816         * tests/test-stdio-c++.cc: Likewise.
29817         * tests/test-stdlib-c++.cc: Likewise.
29818         * tests/test-string-c++.cc: Likewise.
29819         * tests/test-sys_ioctl-c++.cc: Likewise.
29820         * tests/test-sys_select-c++.cc: Likewise.
29821         * tests/test-sys_socket-c++.cc: Likewise.
29822         * tests/test-sys_stat-c++.cc: Likewise.
29823         * tests/test-sys_time-c++.cc: Likewise.
29824         * tests/test-time-c++.cc: Likewise.
29825         * tests/test-unistd-c++.cc: Likewise.
29826         * tests/test-wchar-c++.cc: Likewise.
29827         * tests/uninorm/test-u8-nfc.c: Likewise.
29828         * tests/uninorm/test-u8-nfd.c: Likewise.
29829         * tests/uninorm/test-u8-nfkc.c: Likewise.
29830         * tests/uninorm/test-u8-nfkd.c: Likewise.
29831         * tests/uninorm/test-u16-nfc.c: Likewise.
29832         * tests/uninorm/test-u16-nfd.c: Likewise.
29833         * tests/uninorm/test-u16-nfkc.c: Likewise.
29834         * tests/uninorm/test-u16-nfkd.c: Likewise.
29835         * tests/uninorm/test-u32-nfc.c: Likewise.
29836         * tests/uninorm/test-u32-nfc-big.c: Likewise.
29837         * tests/uninorm/test-u32-nfd.c: Likewise.
29838         * tests/uninorm/test-u32-nfd-big.c: Likewise.
29839         * tests/uninorm/test-u32-nfkc.c: Likewise.
29840         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
29841         * tests/uninorm/test-u32-nfkd.c: Likewise.
29842         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
29843         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29844
29845 2010-03-27  Bruno Haible  <bruno@clisp.org>
29846
29847         Distinguish two kinds of module indicators.
29848         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29849         gl_MODULE_INDICATOR.
29850         (gl_MODULE_INDICATOR): New macro.
29851         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29852         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29853         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29854         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29855         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29856         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29857         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29858         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29859         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29860         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29861         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29862         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29863         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29864         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29865         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29866         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29867         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29868         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29869         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29870         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29871         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29872         * modules/cloexec (configure.ac): Likewise.
29873         * modules/getopt-gnu (configure.ac): Likewise.
29874         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29875         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29876         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29877         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29878
29879 2010-03-27  Bruno Haible  <bruno@clisp.org>
29880
29881         New module description field 'Comment'.
29882         * gnulib-tool: New option --extract-comment.
29883         (func_usage): Document it.
29884         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29885         (func_get_comment): New function.
29886         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29887
29888 2010-03-27  Bruno Haible  <bruno@clisp.org>
29889
29890         Addendum to 2010-02-07 commit.
29891         * gnulib-tool (func_usage): Document --extract-applicability option.
29892
29893 2010-03-27  Bruno Haible  <bruno@clisp.org>
29894
29895         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29896         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29897         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29898         rather than link errors.
29899
29900 2010-03-27  Bruno Haible  <bruno@clisp.org>
29901
29902         Avoid side effects from tests-related modules on the compilation of lib.
29903         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29904         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29905         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29906         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29907         macro.
29908         (func_import): Define a witness macro. Assign it a value that depends
29909         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29910         tests-related modules.
29911         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29912         Reported by Jim Meyering.
29913
29914 2010-03-27  Bruno Haible  <bruno@clisp.org>
29915
29916         Factorize common .m4 code.
29917         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29918         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29919         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29920         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29921         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29922         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29923         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29924         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29925         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29926         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29927         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29928         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29929         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29930         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29931         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29932         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29933         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29934         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29935         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29936         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29937         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
29938         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29939         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29940         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29941         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29942         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29943         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29944         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29945         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29946         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29947         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29948         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29949
29950 2010-03-27  Bruno Haible  <bruno@clisp.org>
29951
29952         Fix a compilation error on Cygwin with g++ >= 4.3.
29953         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29954         if it is undefined or if we alias it to chmod.
29955         (lstat): Don't warn about the use of this function if it is undefined
29956         or if we alias it to stat.
29957         Reported by Simon Josefsson.
29958
29959 2010-03-27  Bruno Haible  <bruno@clisp.org>
29960
29961         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
29962         * modules/getlogin (configure.ac): Update.
29963
29964         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
29965         * modules/getlogin_r (configure.ac): Update.
29966
29967         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
29968         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
29969         * modules/inet_ntop (configure.ac): Update.
29970
29971         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
29972         * modules/inet_pton (configure.ac): Update.
29973
29974         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
29975         * modules/mbslen (configure.ac): Update.
29976
29977         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
29978         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
29979         * modules/forkpty (configure.ac): Update.
29980         * modules/openpty (configure.ac): Update.
29981
29982 2010-03-26  Simon Josefsson  <simon@josefsson.org>
29983
29984         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
29985         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
29986
29987 2010-03-25  Eric Blake  <eblake@redhat.com>
29988
29989         maint: use pragma consistently across replacement headers
29990         * lib/ctype.in.h (system_header): Hoist for consistent placement.
29991         * lib/dirent.in.h (system_header): Likewise.
29992         * lib/errno.in.h (system_header): Likewise.
29993         * lib/float.in.h (system_header): Likewise.
29994         * lib/getopt.in.h (system_header): Likewise.
29995         * lib/iconv.in.h (system_header): Likewise.
29996         * lib/inttypes.in.h (system_header): Likewise.
29997         * lib/langinfo.in.h (system_header): Likewise.
29998         * lib/locale.in.h (system_header): Likewise.
29999         * lib/math.in.h (system_header): Likewise.
30000         * lib/netdb.in.h (system_header): Likewise.
30001         * lib/netinet_in.in.h (system_header): Likewise.
30002         * lib/pty.in.h (system_header): Likewise.
30003         * lib/sched.in.h (system_header): Likewise.
30004         * lib/se-selinux.in.h (system_header): Likewise.
30005         * lib/search.in.h (system_header): Likewise.
30006         * lib/spawn.in.h (system_header): Likewise.
30007         * lib/stdarg.in.h (system_header): Likewise.
30008         * lib/stdint.in.h (system_header): Likewise.
30009         * lib/string.in.h (system_header): Likewise.
30010         * lib/strings.in.h (system_header): Likewise.
30011         * lib/sys_file.in.h (system_header): Likewise.
30012         * lib/sys_ioctl.in.h (system_header): Likewise.
30013         * lib/sys_socket.in.h (system_header): Likewise.
30014         * lib/sys_times.in.h (system_header): Likewise.
30015         * lib/sys_utsname.in.h (system_header): Likewise.
30016         * lib/sys_wait.in.h (system_header): Likewise.
30017         * lib/sysexits.in.h (system_header): Likewise.
30018         * lib/unistd.in.h (system_header): Likewise.
30019         * lib/wctype.in.h (system_header): Likewise.
30020
30021         arpa/inet: fix mingw compilation warning
30022         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
30023         Reported by Matthew Bolte.
30024
30025 2010-03-25  Bruno Haible  <bruno@clisp.org>
30026
30027         Avoid collision between gnulib wrapper and libintl wrapper.
30028         * lib/printf.c (printf): Don't define if a printf wrapper is already
30029         defined in intl/printf.c.
30030         Reported by Michel Boaventura <michel@michelboaventura.com>.
30031
30032 2010-03-25  Bruno Haible  <bruno@clisp.org>
30033
30034         Use ANSI C.
30035         * lib/readutmp.h (getutent): Provide ANSI C prototype.
30036
30037 2010-03-25  Bruno Haible  <bruno@clisp.org>
30038
30039         Minor formatting changes.
30040         * lib/acosl.c: Insert space before function argument list.
30041         * lib/argz.c: Likewise.
30042         * lib/asinl.c: Likewise.
30043         * lib/expl.c: Likewise.
30044         * lib/gen-uni-tables.c: Likewise.
30045         * lib/gettext.h: Likewise.
30046         * lib/glthread/lock.h: Likewise.
30047         * lib/tanl.c: Likewise.
30048         * lib/uniname/uniname.c: Likewise.
30049         * tests/test-idpriv-drop.c: Likewise.
30050         * tests/test-idpriv-droptemp.c: Likewise.
30051         * tests/test-lock.c: Likewise.
30052         * tests/test-tls.c: Likewise.
30053         * lib/argp-help.c: Insert space before function-like macro argument
30054         list.
30055         * lib/memcmp.c: Likewise.
30056         * tests/test-base64.c: Likewise.
30057         * lib/localename.c: Insert space before sizeof's argument list.
30058         * lib/safe-alloc.h: Likewise.
30059         * lib/file-set.h: Insert space before macro argument list.
30060         * tests/test-argp.c: Likewise.
30061         * lib/argp-namefrob.h: Insert space before function parameter list.
30062         * lib/getaddrinfo.c: Likewise.
30063         * lib/netdb.in.h: Likewise.
30064         * lib/parse-duration.h: Likewise.
30065         * lib/parse-duration.c: Likewise.
30066         * lib/poll.c: Likewise.
30067         * lib/select.c: Likewise.
30068         * lib/trim.h: Likewise.
30069         * tests/test-usleep.c: Likewise.
30070         * lib/ldexpl.c: Insert space before function parameter list and before
30071         function argument list.
30072         * lib/logl.c: Likewise.
30073         * lib/sqrtl.c: Likewise.
30074         * lib/trim.c: Likewise.
30075         * lib/cosl.c: Use GNU style indentation. Insert space before function
30076         argument list.
30077         * lib/sinl.c: Likewise.
30078         * lib/tsearch.c: Insert space after 'for'.
30079         Reported by Jim Meyering.
30080
30081 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
30082
30083         * maint.mk (sc_Wundef_boolean): Check for the presence of the
30084         config header before grepping, as it's not present before
30085         autoreconf/configure are run.  Reported by Simon Josefsson.
30086
30087 2010-03-23  Bruno Haible  <bruno@clisp.org>
30088
30089         pt_chown: Make it work with automake < 1.11.
30090         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
30091         Reported by Simon Josefsson.
30092
30093 2010-03-23  Bruno Haible  <bruno@clisp.org>
30094
30095         pt_chown: Don't depend on GPLed modules.
30096         * lib/pt_chown.c: Don't include idpriv.h.
30097         (main): Don't drop privileges.
30098         * modules/pt_chown (Depends-on): Remove idpriv-drop.
30099         Reported by Simon Josefsson.
30100
30101 2010-03-24  Simon Josefsson  <simon@josefsson.org>
30102
30103         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
30104         suggestions from karl@freefriends.org (Karl Berry).
30105
30106 2010-03-22  Eric Blake  <eblake@redhat.com>
30107
30108         gethostname: further tweaks
30109         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
30110         are overriding gethostname.
30111         Suggested by Bruno Haible.
30112
30113 2010-03-21  Bruno Haible  <bruno@clisp.org>
30114
30115         Fix comments.
30116         * lib/forkpty.c (rpl_forkpty): Fix comment.
30117         * lib/openpty.c (rpl_openpty): Likewise.
30118         Reported by Eric Blake.
30119
30120 2010-03-22  Eric Blake  <eblake@redhat.com>
30121
30122         gethostname: fix build on mingw
30123         * lib/unistd.in.h (includes): Work around fact that mingw
30124         <winsock2.h> re-includes <unistd.h>, by avoiding any
30125         redeclarations if we are being included by <winsock2.h>.
30126         Reported by Matthias Bolte.
30127
30128 2010-03-21  Bruno Haible  <bruno@clisp.org>
30129
30130         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30131         * lib/forkpty.c (forkpty): New replacement function, from glibc with
30132         modifications.
30133         * lib/pty.in.h (forkpty): Update declaration. Add comments.
30134         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
30135         provide the replacement.
30136         * modules/forkpty (Depends-on): Add openpty, login_tty.
30137         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
30138         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
30139         * doc/glibc-functions/forkpty.texi: More supported platforms.
30140         * config/srclist.txt: Add forkpty.c (commented).
30141
30142 2010-03-21  Bruno Haible  <bruno@clisp.org>
30143
30144         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
30145         (Makefile.am): Verify that PTY_LIB is defined.
30146
30147         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
30148
30149 2010-03-21  Bruno Haible  <bruno@clisp.org>
30150
30151         Tests for module 'login_tty'.
30152         * modules/login_tty-tests: New file.
30153         * tests/test-login_tty.c: New file.
30154
30155         New module 'login_tty'.
30156         * lib/login_tty.c: New file.
30157         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
30158         * modules/login_tty: New file.
30159         * doc/glibc-functions/login_tty.texi: Mention the new module.
30160
30161 2010-03-21  Bruno Haible  <bruno@clisp.org>
30162
30163         login_tty: Documentation.
30164         * doc/glibc-functions/login_tty.texi: New file.
30165         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
30166
30167 2010-03-21  Bruno Haible  <bruno@clisp.org>
30168
30169         pty: Consistent macro naming.
30170         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
30171         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
30172         * modules/pty (configure.ac): Update.
30173
30174 2010-03-21  Bruno Haible  <bruno@clisp.org>
30175
30176         Tests for openpty: Make stricter.
30177         * tests/test-openpty.c (main): Add test of canonical processing and
30178         erase.
30179         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
30180
30181         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30182         * lib/openpty.c (openpty): New replacement function.
30183         * lib/pty.in.h: Include <termios.h>.
30184         (openpty): Update declaration. Add comments.
30185         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
30186         is not declared, arrange to provide the replacement. Check for _getpty
30187         and posix_openpt.
30188         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
30189         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
30190         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
30191         * modules/pty-tests (test_pty_c___LDADD): New variable.
30192         * doc/glibc-functions/openpty.texi: More supported platforms.
30193
30194 2010-03-21  Bruno Haible  <bruno@clisp.org>
30195
30196         setenv: Tweaks.
30197         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
30198         the test program.
30199         * doc/posix-functions/setenv.texi: Update platforms list.
30200
30201 2010-03-21  Bruno Haible  <bruno@clisp.org>
30202
30203         New module 'unlockpt'.
30204         * lib/unlockpt.c: New file, from glibc with modifications.
30205         * m4/unlockpt.m4: New file.
30206         * modules/unlockpt: New file.
30207         * lib/stdlib.in.h (unlockpt): New declaration.
30208         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
30209         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
30210         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
30211         HAVE_UNLOCKPT.
30212         * doc/posix-functions/unlockpt.texi: Mention the new module.
30213         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
30214         * config/srclist.txt: Add unlockpt.c (commented).
30215
30216 2010-03-21  Jim Meyering  <meyering@redhat.com>
30217
30218         maint.mk: prohibit inclusion of "intprops.h" without use
30219         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
30220
30221 2010-03-21  Bruno Haible  <bruno@clisp.org>
30222
30223         New module 'grantpt'.
30224         * lib/grantpt.c: New file, from glibc with modifications.
30225         * m4/grantpt.m4: New file.
30226         * modules/grantpt: New file.
30227         * lib/stdlib.in.h (grantpt): New declaration.
30228         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
30229         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
30230         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
30231         HAVE_GRANTPT.
30232         * doc/posix-functions/grantpt.texi: Mention the new module.
30233         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
30234         * config/srclist.txt: Add grantpt.c (commented).
30235
30236 2010-03-21  Bruno Haible  <bruno@clisp.org>
30237
30238         New module 'pt_chown'.
30239         * lib/pt_chown.c: New file, from glibc with modifications.
30240         * lib/pty-private.h: New file, from glibc with modifications.
30241         * modules/pt_chown: New file.
30242         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
30243
30244 2010-03-21  Bruno Haible  <bruno@clisp.org>
30245
30246         Tests for module 'ptsname'.
30247         * modules/ptsname-tests: New file.
30248         * tests/test-ptsname.c: New file.
30249
30250         New module 'ptsname'.
30251         * lib/ptsname.c: New file, from glibc with modifications.
30252         * m4/ptsname.m4: New file.
30253         * modules/ptsname: New file.
30254         * lib/stdlib.in.h (ptsname): New declaration.
30255         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
30256         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
30257         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
30258         HAVE_PTSNAME.
30259         * doc/posix-functions/ptsname.texi: Mention the new module.
30260         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
30261         * config/srclist.txt: Add ptsname.c (commented).
30262
30263 2010-03-21  Bruno Haible  <bruno@clisp.org>
30264
30265         Tests for module 'ttyname_r'.
30266         * modules/ttyname_r-tests: New file.
30267         * tests/test-ttyname_r.c: New file.
30268
30269         New module 'ttyname_r'.
30270         * lib/ttyname_r.c: New file.
30271         * m4/ttyname_r.m4: New file.
30272         * modules/ttyname_r: New file.
30273         * lib/unistd.in.h (ttyname_r): New declaration.
30274         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
30275         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
30276         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
30277         HAVE_TTYNAME_R.
30278         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
30279         * doc/posix-functions/ttyname_r.texi: Mention the new module.
30280
30281 2010-03-20  Bruno Haible  <bruno@clisp.org>
30282
30283         signal: Undefine macro definitions in C++ mode.
30284         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
30285         sigfillset): Undefine macro definitions from the system header in C++
30286         mode.
30287         Reported by John W. Eaton <jwe@gnu.org>.
30288
30289 2010-03-20  Bruno Haible  <bruno@clisp.org>
30290
30291         Ensure no #include statements inside extern "C" { ... }.
30292         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
30293         contain #include statements.
30294         * lib/time.in.h: Likewise.
30295
30296 2010-03-20  Bruno Haible  <bruno@clisp.org>
30297
30298         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
30299         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
30300         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
30301         Reported by John W. Eaton <jwe@gnu.org>.
30302
30303 2010-03-20  Bruno Haible  <bruno@clisp.org>
30304
30305         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
30306         Reported by Jim Meyering.
30307
30308 2010-03-20  Bruno Haible  <bruno@clisp.org>
30309
30310         pipe: Set errno upon failure.
30311         * lib/pipe.h: Specify that when -1 is returned, errno is set.
30312         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
30313         errno value in error message.
30314
30315 2010-03-20  Bruno Haible  <bruno@clisp.org>
30316             Jim Meyering  <meyering@redhat.com>
30317
30318         lchown: Avoid "unused variable" warning.
30319         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
30320
30321 2010-03-20  Bruno Haible  <bruno@clisp.org>
30322
30323         Work around unlink() bug on MacOS X 10.5.6.
30324         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
30325         attempting to unlink a parent directory.
30326         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
30327         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
30328         activate for the replacement function.
30329         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
30330
30331 2010-03-20  Bruno Haible  <bruno@clisp.org>
30332
30333         Fix link errors on Solaris 8.
30334         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
30335         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
30336
30337 2010-03-19  Jim Meyering  <meyering@redhat.com>
30338
30339         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
30340         The _LIBC implementation of build_range_exp correctly honors the
30341         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
30342         However, the non-_LIBC implementation would ignore that syntax-bit
30343         flag and return REG_ERANGE unconditionally.
30344         This change makes it honor that flag.
30345         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
30346         Make two pointer parameters "const".
30347         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
30348         (parse_bracket_exp): Update caller.
30349
30350         regex.m4: correct the reversed range endpoint ([b-a]) test
30351         * m4/regex.m4: When requiring that [b-a] evoke failure,
30352         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
30353         test pass once again for x86-based systems.
30354
30355 2010-03-19  Bruno Haible  <bruno@clisp.org>
30356
30357         scandir: Fix link error on Solaris 8.
30358         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
30359         macros.
30360
30361 2010-03-19  Bruno Haible  <bruno@clisp.org>
30362
30363         getusershell: Fix documentation.
30364         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
30365         module.
30366         * doc/glibc-functions/setusershell.texi: Likewise.
30367
30368         getusershell: Provide declaration, missing on Solaris 9.
30369         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
30370         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
30371         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
30372         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
30373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30374         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
30375         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
30376         HAVE_GETUSERSHELL.
30377         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
30378
30379 2010-03-19  Bruno Haible  <bruno@clisp.org>
30380
30381         wctype: Provide iswblank function.
30382         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
30383         exists and is fine.
30384         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
30385         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
30386         * tests/test-wctype.c (main): Re-enable the iswblank tests.
30387         * doc/posix-functions/iswblank.texi: Update.
30388
30389 2010-03-19  Bruno Haible  <bruno@clisp.org>
30390
30391         Tests of module 'pty' in C++ mode.
30392         * modules/pty-tests: New file.
30393         * tests/test-pty-c++.cc: New file.
30394         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30395
30396 2010-03-19  Eric Blake  <eblake@redhat.com>
30397
30398         logb: fix documentation
30399         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
30400         1.5 declaration bug.
30401
30402         forkpty, openpty: prefer glibc's const-safe prototype
30403         * lib/forkpty.c (rpl_forkpty): New file.
30404         * lib/openpty.c (rpl_openpty): Likewise.
30405         * modules/forkpty (Files): Distribute it.
30406         * modules/openpty (Files): Likewise.
30407         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
30408         check...
30409         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
30410         replacement for for non-const BSD signature.
30411         * modules/pty (Makefile.am): Substitute witnesses.
30412         * lib/pty.in.h (forkpty, openpty): Declare replacements.
30413         * tests/test-forkpty.c: Update signature check.
30414         * tests/test-openpty.c: Likewise.
30415         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
30416         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30417
30418         forkpty, openpty: split functions into new modules
30419         * modules/pty (Makefile.am): Substitute new witnesses.
30420         (Libraries): Move library detection...
30421         * modules/forkpty: ...into new module.
30422         * modules/openpty: Another new module.
30423         * modules/pty-tests: Rename and split...
30424         * modules/forkpty-tests: ...to this...
30425         * modules/openpty-tests: ...and this.
30426         * tests/test-pty.c: Rename and split...
30427         * tests/test-forkpty.c: ...to this...
30428         * tests/test-openpty.c: ...and this.
30429         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
30430         (gl_PTY): Split library searching...
30431         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
30432         (gl_FORKPTY, gl_OPENPTY): New macros.
30433         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
30434         * NEWS: Mention the split.
30435         * MODULES.html.sh (Misc): Document the modules.
30436         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
30437         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30438
30439         pty: improve replacement header
30440         * lib/pty.in.h: New file.
30441         * modules/pty (Files): Ship it.
30442         (Makefile.am): Always build replacement.
30443         * m4/pty.m4: Rename...
30444         * m4/pty_h.m4: ...to this.
30445         (gl_PTY): Modernize setting of witness macros; update check of
30446         forkpty to take proper advantage of cache.
30447         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
30448
30449         getopt: avoid compiler warning
30450         * lib/getopt.c (attribute_hidden): Remove unused macro.
30451
30452 2010-03-18  Bruno Haible  <bruno@clisp.org>
30453
30454         Fix link errors on Solaris 8.
30455         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
30456         * modules/search-tests (test_search_c___LDADD): Likewise.
30457         * modules/signal-tests (test_signal_c___LDADD): Likewise.
30458         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
30459         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
30460         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
30461         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
30462         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
30463         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
30464
30465 2010-03-18  Bruno Haible  <bruno@clisp.org>
30466
30467         Fix bug introduced on 2010-03-14.
30468         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
30469         (gl_SPAWN_H): Require it.
30470         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
30471         Reported by Simon Josefsson.
30472
30473 2010-03-18  Bruno Haible  <bruno@clisp.org>
30474
30475         Fix typo introduced on 2009-12-31.
30476         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
30477         posix_spawn_file_actions_adddup2.
30478
30479 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
30480         and Eric Blake  <eblake@redhat.com>
30481
30482         test-vc-list-files-git: make more robust
30483         * tests/test-vc-list-files-git.sh: Unset problematic environment
30484         variables.  Chain commands together.
30485
30486 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
30487
30488         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
30489         `AC_CHECK_DECL' invocation.
30490
30491 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
30492
30493         * lib/inttostr.c (inttostr): Make sure the invocation of verify
30494         appears before executable statements. Suggested by Petr Sumbera
30495         <Petr.Sumbera@Sun.COM>.
30496
30497 2010-03-14  Bruno Haible  <bruno@clisp.org>
30498
30499         * tests/test-flock.c (test_exclusive): Comment out a test that causes
30500         portability problems. Instead use a simpler test.
30501         (main): Check that invalid arguments are rejected only on Linux.
30502
30503 2010-03-14  Bruno Haible  <bruno@clisp.org>
30504
30505         Fix bug introduced on 2009-12-31.
30506         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30507         gl_PREREQ_SYS_H_WINSOCK2 always.
30508         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
30509         SYS_SOCKET_H variable.
30510         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
30511         Update comments.
30512         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
30513         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30514         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30515         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30516         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30517
30518 2010-03-14  Bruno Haible  <bruno@clisp.org>
30519
30520         Fix values returned by sinl, cosl.
30521         * lib/trigl.h: Add specification comments.
30522         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
30523         that combines the values from the precomputed table with the values of
30524         the Chebyshev polynomials.
30525
30526 2010-03-14  Bruno Haible  <bruno@clisp.org>
30527
30528         Fix compilation error when modules 'posix_spawn[p]' are not used.
30529         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
30530         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
30531
30532 2010-03-14  Bruno Haible  <bruno@clisp.org>
30533
30534         Fix compilation error on mingw when module 'time_r' is not used.
30535         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
30536         is 1.
30537         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
30538         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30539         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
30540         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
30541
30542 2010-03-14  Bruno Haible  <bruno@clisp.org>
30543
30544         Fix compilation error with Sun C.
30545         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
30546         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
30547         instead of GCC specific ULONG_LONG_MAX.
30548         * lib/xstrtoll.c: Likewise.
30549         * lib/xstrtoull.c: Likewise.
30550
30551 2010-03-13  Bruno Haible  <bruno@clisp.org>
30552
30553         Allow the user to disable C++ code and tests.
30554         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
30555         (gl_PROG_ANSI_CXX): Require it.
30556
30557 2010-03-13  Bruno Haible  <bruno@clisp.org>
30558
30559         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
30560         cases.
30561
30562 2010-03-13  Bruno Haible  <bruno@clisp.org>
30563
30564         Test that gnulib does not break the standard C++ headers.
30565         * tests/test-locale-c++2.cc: New file.
30566         * modules/locale-tests (Files): Add it.
30567         (Makefile.am): Compile it for test-locale-c++.
30568         * tests/test-math-c++2.cc: New file.
30569         * modules/math-tests (Files): Add it.
30570         (Makefile.am): Compile it for test-math-c++.
30571         * tests/test-signal-c++2.cc: New file.
30572         * modules/signal-tests (Files): Add it.
30573         (Makefile.am): Compile it for test-signal-c++.
30574         * tests/test-stdio-c++2.cc: New file.
30575         * modules/stdio-tests (Files): Add it.
30576         (Makefile.am): Compile it for test-stdio-c++.
30577         * tests/test-stdlib-c++2.cc: New file.
30578         * modules/stdlib-tests (Files): Add it.
30579         (Makefile.am): Compile it for test-stdlib-c++.
30580         * tests/test-string-c++2.cc: New file.
30581         * modules/string-tests (Files): Add it.
30582         (Makefile.am): Compile it for test-string-c++.
30583         * tests/test-time-c++2.cc: New file.
30584         * modules/time-tests (Files): Add it.
30585         (Makefile.am): Compile it for test-time-c++.
30586         Reported by John W. Eaton <jwe@gnu.org>.
30587
30588 2010-03-13  Bruno Haible  <bruno@clisp.org>
30589
30590         * gnulib-tool (func_usage): Clarify which options are available for
30591         --create-testdir and --create-megatestdir.
30592
30593 2010-03-13  Bruno Haible  <bruno@clisp.org>
30594
30595         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
30596         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
30597         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
30598         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
30599         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
30600         when appropriate.
30601         Reported by Jim Meyering.
30602
30603 2010-03-12  Simon Josefsson  <simon@josefsson.org>
30604
30605         * gnulib-tool (func_import): Explain origin of code.
30606
30607 2010-03-12  Bruno Haible  <bruno@clisp.org>
30608
30609         Fix problem with automake's definition of CXXLINK.
30610         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
30611         Reported by Simon Josefsson and Ludovic Courtès.
30612
30613 2010-03-12  Bruno Haible  <bruno@clisp.org>
30614
30615         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
30616         stable releases.
30617
30618 2010-03-11  Bruno Haible  <bruno@clisp.org>
30619
30620         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
30621         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
30622         whether the system provides one variant or multiple variants of the
30623         function.
30624         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
30625         C++ compilers.
30626         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
30627         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
30628         Reported by Jim Meyering.
30629
30630 2010-03-09  Simon Josefsson  <simon@josefsson.org>
30631
30632         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
30633
30634 2010-03-08  Bruno Haible  <bruno@clisp.org>
30635
30636         gnulib-tool: Add support for --libtool in --create-testdir.
30637         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
30638         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
30639
30640 2010-03-08  Eric Blake  <eblake@redhat.com>
30641
30642         gnulib-tool.texi: mention possibility of git submodule
30643         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
30644         submodules.
30645         * doc/.gitignore: Ignore another generated file.
30646
30647 2010-03-08  Karl Berry  <karl@gnu.org>
30648
30649         * doc/gnulib-tool.texi (VCS Issues): Mention third option
30650         of committing gnulib files while skipping others.
30651
30652 2010-03-07  Bruno Haible  <bruno@clisp.org>
30653
30654         Tests of module 'wctype' in C++ mode.
30655         * tests/test-wctype-c++.cc: New file.
30656         * modules/wctype-tests (Files): Add it and tests/signature.h.
30657         (Depends-on): Add ansi-c++-opt.
30658         (Makefile.am): Arrange to compile and run test-wctype-c++.
30659
30660         Tests of module 'wchar' in C++ mode.
30661         * tests/test-wchar-c++.cc: New file.
30662         * modules/wchar-tests (Files): Add it and tests/signature.h.
30663         (Depends-on): Add ansi-c++-opt.
30664         (Makefile.am): Arrange to compile and run test-wchar-c++.
30665         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
30666         gl_MODULE_INDICATOR.
30667
30668         Tests of module 'unistd' in C++ mode.
30669         * tests/test-unistd-c++.cc: New file.
30670         * modules/unistd-tests (Files): Add it and tests/signature.h.
30671         (Depends-on): Add ansi-c++-opt.
30672         (Makefile.am): Arrange to compile and run test-unistd-c++.
30673         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
30674         gl_MODULE_INDICATOR.
30675
30676         Tests of module 'time' in C++ mode.
30677         * tests/test-time-c++.cc: New file.
30678         * modules/time-tests (Files): Add it and tests/signature.h.
30679         (Depends-on): Add ansi-c++-opt.
30680         (Makefile.am): Arrange to compile and run test-time-c++.
30681         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30682
30683         Tests of module 'sys_time' in C++ mode.
30684         * tests/test-sys_time-c++.cc: New file.
30685         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30686         (Depends-on): Add ansi-c++-opt.
30687         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30688         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30689         gl_MODULE_INDICATOR.
30690
30691         Tests of module 'sys_stat' in C++ mode.
30692         * tests/test-sys_stat-c++.cc: New file.
30693         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30694         (Depends-on): Add ansi-c++-opt.
30695         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30696         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30697         gl_MODULE_INDICATOR.
30698
30699         Tests of module 'sys_socket' in C++ mode.
30700         * tests/test-sys_socket-c++.cc: New file.
30701         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30702         (Depends-on): Add ansi-c++-opt.
30703         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30704         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30705         gl_MODULE_INDICATOR.
30706
30707         Tests of module 'sys_select' in C++ mode.
30708         * tests/test-sys_select-c++.cc: New file.
30709         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30710         (Depends-on): Add ansi-c++-opt.
30711         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30712         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30713         gl_MODULE_INDICATOR.
30714
30715         Tests of module 'sys_ioctl' in C++ mode.
30716         * tests/test-sys_ioctl-c++.cc: New file.
30717         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30718         (Depends-on): Add ansi-c++-opt.
30719         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30720         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30721         gl_MODULE_INDICATOR.
30722
30723         Tests of module 'string' in C++ mode.
30724         * tests/test-string-c++.cc: New file.
30725         * modules/string-tests (Files): Add it and tests/signature.h.
30726         (Depends-on): Add ansi-c++-opt.
30727         (Makefile.am): Arrange to compile and run test-string-c++.
30728         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30729         gl_MODULE_INDICATOR.
30730
30731         Tests of module 'stdlib' in C++ mode.
30732         * tests/test-stdlib-c++.cc: New file.
30733         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30734         (Depends-on): Add ansi-c++-opt.
30735         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30736         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30737         gl_MODULE_INDICATOR.
30738
30739         Tests of module 'stdio' in C++ mode.
30740         * tests/test-stdio-c++.cc: New file.
30741         * modules/stdio-tests (Files): Add it and tests/signature.h.
30742         (Depends-on): Add ansi-c++-opt.
30743         (Makefile.am): Arrange to compile and run test-stdio-c++.
30744         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30745         gl_MODULE_INDICATOR.
30746
30747         Tests of module 'spawn' in C++ mode.
30748         * tests/test-spawn-c++.cc: New file.
30749         * modules/spawn-tests (Files): Add it and tests/signature.h.
30750         (Depends-on): Add ansi-c++-opt.
30751         (Makefile.am): Arrange to compile and run test-spawn-c++.
30752         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30753         gl_MODULE_INDICATOR.
30754
30755         Tests of module 'signal' in C++ mode.
30756         * tests/test-signal-c++.cc: New file.
30757         * modules/signal-tests (Files): Add it and tests/signature.h.
30758         (Depends-on): Add ansi-c++-opt.
30759         (Makefile.am): Arrange to compile and run test-signal-c++.
30760         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30761         gl_MODULE_INDICATOR.
30762
30763         Tests of module 'search' in C++ mode.
30764         * tests/test-search-c++.cc: New file.
30765         * modules/search-tests (Files): Add it and tests/signature.h.
30766         (Depends-on): Add ansi-c++-opt.
30767         (Makefile.am): Arrange to compile and run test-search-c++.
30768         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30769         gl_MODULE_INDICATOR.
30770
30771         Tests of module 'math' in C++ mode.
30772         * tests/test-math-c++.cc: New file.
30773         * modules/math-tests (Files): Add it and tests/signature.h.
30774         (Depends-on): Add ansi-c++-opt.
30775         (Makefile.am): Arrange to compile and run test-math-c++.
30776         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30777
30778         Tests of module 'locale' in C++ mode.
30779         * tests/test-locale-c++.cc: New file.
30780         * modules/locale-tests (Files): Add it and tests/signature.h.
30781         (Depends-on): Add ansi-c++-opt.
30782         (Makefile.am): Arrange to compile and run test-locale-c++.
30783         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30784         gl_MODULE_INDICATOR.
30785
30786         Tests of module 'langinfo' in C++ mode.
30787         * tests/test-langinfo-c++.cc: New file.
30788         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30789         (Depends-on): Add ansi-c++-opt.
30790         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30791         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30792         gl_MODULE_INDICATOR.
30793
30794         Tests of module 'iconv-h' in C++ mode.
30795         * tests/test-iconv-h-c++.cc: New file.
30796         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30797         (Depends-on): Add ansi-c++-opt.
30798         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30799
30800         Tests of module 'glob' in C++ mode.
30801         * tests/test-glob-c++.cc: New file.
30802         * modules/glob-tests (Files): Add it.
30803         (Depends-on): Add ansi-c++-opt.
30804         (Makefile.am): Arrange to compile and run test-glob-c++.
30805
30806         Tests of module 'fcntl-h' in C++ mode.
30807         * tests/test-fcntl-h-c++.cc: New file.
30808         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30809         (Depends-on): Add ansi-c++-opt.
30810         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30811         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30812         gl_MODULE_INDICATOR.
30813
30814         Tests of module 'dirent' in C++ mode.
30815         * tests/test-dirent-c++.cc: New file.
30816         * modules/dirent-tests (Files): Add it and tests/signature.h.
30817         (Depends-on): Add ansi-c++-opt.
30818         (Makefile.am): Arrange to compile and run test-dirent-c++.
30819         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30820         gl_MODULE_INDICATOR.
30821
30822         New module 'ansi-c++-opt'.
30823         * modules/ansi-c++-opt: New file.
30824         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
30825
30826         Document C++ namespace mode.
30827         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
30828
30829         wctype: Avoid #define replacements in C++ mode.
30830         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
30831         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
30832         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
30833         In C++, define a namespaced alias symbol.
30834         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
30835         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
30836         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
30837         rule.
30838
30839         wchar: Avoid #define replacements in C++ mode.
30840         * lib/wchar.in.h: Include c++defs.h.
30841         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
30842         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
30843         symbol.
30844         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30845         * modules/wchar (Depends-on): Add c++defs.
30846         (Makefile.am): Update wchar.h rule.
30847
30848         unistd: Avoid #define replacements in C++ mode.
30849         * lib/unistd.in.h: Include c++defs.h.
30850         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30851         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30852         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30853         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30854         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30855         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30856         symbol.
30857         (environ): Update.
30858         * modules/unistd (Depends-on): Add c++defs.
30859         (Makefile.am): Update unistd.h rule.
30860
30861         time: Avoid #define replacements in C++ mode.
30862         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30863         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30864         define a namespaced alias symbol.
30865         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30866         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30867         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30868         * modules/time (Depends-on): Add c++defs, warn-on-use.
30869         (Makefile.am): Update time.h rule.
30870         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30871         * modules/nanosleep (configure.ac): Likewise.
30872         * modules/strptime (configure.ac): Likewise.
30873         * modules/timegm (configure.ac): Likewise.
30874
30875         sys_time: Avoid #define replacements in C++ mode.
30876         * lib/sys_time.in.h: Include c++defs.h.
30877         (gettimeofday): In C++, define a namespaced alias symbol.
30878         * modules/sys_time (Depends-on): Add c++defs.
30879         (Makefile.am): Update sys/time.h rule.
30880
30881         sys_stat: Avoid #define replacements in C++ mode.
30882         * lib/sys_stat.in.h: Include c++defs.h.
30883         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30884         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30885         namespaced alias symbol.
30886         In C++, define a namespaced alias symbol.
30887         * modules/sys_stat (Depends-on): Add c++defs.
30888         (Makefile.am): Update sys/stat.h rule.
30889
30890         sys_socket: Avoid #define replacements in C++ mode.
30891         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30892         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30893         definitions also when the system has a <sys/socket.h>.
30894         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30895         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30896         In C++, define a namespaced alias symbol.
30897         * modules/sys_socket (Depends-on): Add c++defs.
30898         (Makefile.am): Update sys/socket.h rule.
30899
30900         sys_select: Avoid #define replacements in C++ mode.
30901         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30902         definitions also when the system has a <sys/select.h>.
30903         (select): In C++, define a namespaced alias symbol.
30904         * modules/sys_select (Depends-on): Add c++defs.
30905         (Makefile.am): Update sys/select.h rule.
30906
30907         sys_ioctl: Avoid #define replacements in C++ mode.
30908         * lib/sys_ioctl.in.h: Include c++defs.h.
30909         (ioctl): In C++, define a namespaced alias symbol.
30910         * modules/sys_ioctl (Depends-on): Add c++defs.
30911         (Makefile.am): Update sys/ioctl.h rule.
30912
30913         string: Avoid #define replacements in C++ mode.
30914         * lib/string.in.h: Include c++defs.h.
30915         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30916         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30917         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30918         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30919         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30920         * modules/string (Depends-on): Add c++defs.
30921         (Makefile.am): Update string.h rule.
30922
30923         stdlib: Avoid #define replacements in C++ mode.
30924         * lib/stdlib.in.h: Include c++defs.h.
30925         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30926         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30927         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30928         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30929         symbol.
30930         * modules/stdlib (Depends-on): Add c++defs.
30931         (Makefile.am): Update stdlib.h rule.
30932
30933         stdio: Avoid #define replacements in C++ mode.
30934         * lib/stdio.in.h: Include c++defs.h.
30935         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30936         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30937         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30938         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30939         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30940         namespaced alias symbol.
30941         * modules/stdio (Depends-on): Add c++defs.
30942         (Makefile.am): Update stdio.h rule.
30943
30944         spawn: Avoid #define replacements in C++ mode.
30945         * lib/spawn.in.h: Include c++defs.h.
30946         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30947         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30948         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30949         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30950         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30951         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30952         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30953         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30954         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30955         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30956         In C++, define a namespaced alias symbol.
30957         * modules/spawn (Depends-on): Add c++defs.
30958         (Makefile.am): Update spawn.h rule.
30959
30960         signal: Avoid #define replacements in C++ mode.
30961         * lib/signal.in.h: Include c++defs.h.
30962         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30963         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
30964         namespaced alias symbol.
30965         * modules/signal (Depends-on): Add c++defs.
30966         (Makefile.am): Update signal.h rule.
30967
30968         search: Avoid #define replacements in C++ mode.
30969         * lib/search.in.h: Include c++defs.h.
30970         (_gl_search_compar_fn, _gl_search_action_fn): New types.
30971         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
30972         symbol.
30973         * modules/search (Depends-on): Add c++defs.
30974         (Makefile.am): Update search.h rule.
30975
30976         math: Avoid #define replacements in C++ mode.
30977         * lib/math.in.h: Include c++defs.h.
30978         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
30979         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
30980         trunc, truncl): In C++, define a namespaced alias symbol.
30981         * modules/math (Depends-on): Add c++defs.
30982         (Makefile.am): Update math.h rule.
30983
30984         locale: Avoid #define replacements in C++ mode.
30985         * lib/locale.in.h: Include c++defs.h.
30986         (duplocale): In C++, define a namespaced alias symbol.
30987         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
30988         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
30989         * modules/locale (Depends-on): Add c++defs.
30990         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
30991
30992         langinfo: Avoid #define replacements in C++ mode.
30993         * lib/langinfo.in.h: Include c++defs.h.
30994         (nl_langinfo): In C++, define a namespaced alias symbol.
30995         * modules/langinfo (Depends-on): Add c++defs.
30996         (Makefile.am): Update langinfo.h rule.
30997
30998         iconv-h: Avoid #define replacements in C++ mode.
30999         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
31000         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
31001         symbol.
31002         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
31003         whenever iconv is present.
31004         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
31005         (Makefile.am): Update iconv.h rule.
31006
31007         glob: Avoid #define replacements in C++ mode.
31008         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
31009         (_gl_glob_errfunc_fn): New type.
31010         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
31011         symbol.
31012         * modules/glob (Depends-on): Add c++defs, warn-on-use.
31013         (Makefile.am): Update glob.h rule.
31014
31015         fcntl-h: Avoid #define replacements in C++ mode.
31016         * lib/fcntl.in.h: Include c++defs.h.
31017         (fcntl, open, openat): In C++, define a namespaced alias symbol.
31018         * modules/fcntl-h (Depends-on): Add c++defs.
31019         (Makefile.am): Update fcntl.h rule.
31020
31021         dirent: Avoid #define replacements in C++ mode.
31022         * lib/dirent.in.h: Include c++defs.h.
31023         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
31024         namespaced alias symbol.
31025         (dirfd): Update declaration.
31026         * modules/dirent (Depends-on): Add c++defs.
31027         (Makefile.am): Update dirent.h rule.
31028
31029         ctype: Make it usable in C++ code.
31030         * lib/ctype.in.h: Include c++defs.h.
31031         (isblank): Declare as extern "C".
31032         * modules/ctype (Depends-on): Add c++defs.
31033         (Makefile.am): Update ctype.h rule.
31034
31035         New module 'c++defs'.
31036         * modules/c++defs: New file.
31037         * build-aux/c++defs.h: New file.
31038         Reported by John W. Eaton <jwe@gnu.org>.
31039
31040 2010-03-07  Bruno Haible  <bruno@clisp.org>
31041
31042         logb: Provide missing declaration for Cygwin.
31043         * lib/math.in.h (logb): New declaration.
31044         * m4/logb.m4: New file.
31045         * modules/logb (Files): Add m4/logb.m4.
31046         (Depends-on): Add math.
31047         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
31048         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
31049         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
31050         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
31051         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
31052
31053 2010-03-07  Bruno Haible  <bruno@clisp.org>
31054
31055         Fix test-cond link error.
31056         * tests/test-cond.c: Include <stdio.h>.
31057
31058 2010-03-07  Bruno Haible  <bruno@clisp.org>
31059
31060         Fix test-dirent-safer link error.
31061         * modules/dirent-safer-tests (Makefile.am): Define
31062         test_dirent_safer_LDADD.
31063
31064 2010-03-07  Bruno Haible  <bruno@clisp.org>
31065
31066         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
31067         among default module list.
31068
31069 2010-03-07  Bruno Haible  <bruno@clisp.org>
31070
31071         Fix link error on platforms with GNU libiconv.
31072         * modules/unistr/u8-strcoll-tests (Makefile): Define
31073         test_u8_strcoll_LDADD.
31074         * modules/unistr/u16-strcoll-tests (Makefile): Define
31075         test_u16_strcoll_LDADD.
31076         * modules/unistr/u32-strcoll-tests (Makefile): Define
31077         test_u32_strcoll_LDADD.
31078
31079 2010-03-07  Bruno Haible  <bruno@clisp.org>
31080
31081         Use POSIX declarations for socket functions.
31082         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
31083         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
31084         rpl_sendto): Change declaration to match POSIX.
31085         * lib/connect.c (rpl_connect): Likewise.
31086         * lib/accept.c (rpl_accept): Likewise.
31087         * lib/bind.c (rpl_bind): Likewise.
31088         * lib/getpeername.c (rpl_getpeername): Likewise.
31089         * lib/getsockname.c (rpl_getsockname): Likewise.
31090         * lib/recv.c (rpl_recv): Likewise.
31091         * lib/send.c (rpl_send): Likewise.
31092         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31093         * lib/sendto.c (rpl_sendto): Likewise.
31094
31095 2010-03-06  Bruno Haible  <bruno@clisp.org>
31096
31097         Clarify access, euidaccess, faccessat.
31098         * doc/posix-functions/faccessat.texi: Mention security problem under
31099         "Other problems", not "Portability problems".
31100         * doc/posix-functions/access.texi: Likewise. Mention a related security
31101         problem.
31102         * doc/glibc-functions/euidaccess.texi: Mention security problems.
31103         * lib/euidaccess.c: Add comments about platforms.
31104         * lib/unistd.in.h (access, euidaccess): Add warnings.
31105
31106 2010-03-07  Bruno Haible  <bruno@clisp.org>
31107
31108         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
31109         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
31110         (POSIX_SPAWN_SETSCHEDULER): Likewise.
31111         (POSIX_SPAWN_USEVFORK): Define in a way that works when
31112         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31113         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
31114         declare when POSIX_SPAWN_SETSCHEDULER is zero.
31115         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
31116         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
31117         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
31118         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
31119         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
31120         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
31121         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
31122         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
31123         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
31124         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
31125         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
31126         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
31127         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
31128         Likewise.
31129         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
31130         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
31131         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
31132         Likewise.
31133         * tests/test-spawn.c (main): Make it work when
31134         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31135
31136 2010-03-07  Bruno Haible  <bruno@clisp.org>
31137
31138         Fix incorrect Makefile.am generation in German locale.
31139         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31140         Execute sed command with character range in C locale.
31141
31142 2010-03-06  Bruno Haible  <bruno@clisp.org>
31143
31144         Tests for module 'iconv-h'.
31145         * modules/iconv-h-tests: New file.
31146         * tests/test-iconv-h.c: New file.
31147
31148         New module 'iconv-h'.
31149         * modules/iconv-h: New file.
31150         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
31151         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
31152         (configure.ac): Remove gl_ICONV_H.
31153         (Makefile.am): Remove rule for iconv.h.
31154
31155 2010-03-06  Bruno Haible  <bruno@clisp.org>
31156
31157         More consistent naming of *.m4 files.
31158         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
31159         * modules/wctype (Files): Update.
31160
31161         More consistent naming of *.m4 files.
31162         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
31163         * modules/wchar (Files): Update.
31164
31165 2010-03-06  Jim Meyering  <meyering@redhat.com>
31166
31167         euidaccess: relax license to LGPLv2+
31168         * modules/euidaccess (License): Relax to LGPLv2+.
31169
31170 2010-03-06  Bruno Haible  <bruno@clisp.org>
31171
31172         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
31173         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
31174         (Makefile.am): Augment lib_SOURCES instead.
31175
31176 2010-03-04  Jim Meyering  <meyering@redhat.com>
31177
31178         utime: remove obsolete module
31179         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
31180         unnecessary for years, and has been marked as obsolete for 10 months.
31181         * modules/utime: Remove file.
31182         * lib/utime.c: Remove file.
31183         * m4/utime.m4: Remove file.
31184         * m4/utimes-null.m4: Remove file.
31185         * doc/posix-functions/utime.texi (utime): Remove reference to
31186         the module.  Move the sole "fixed by gnulib" item into the
31187         "problems not fixed by Gnulib" list.
31188         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
31189
31190 2010-03-05  Simon Josefsson  <simon@josefsson.org>
31191
31192         * modules/exit (License): Relax license to LGPLv2+.
31193         (Status): Mark as obsolete.
31194         * NEWS: Mention deprecated 'exit' module.
31195         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
31196         of now obsolete 'exit'.
31197
31198 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31199
31200         fts-lgpl: remove unused module
31201         * modules/fts-lgpl: Remove.
31202         * MODULES.html.sh (func_all_modules): Adjust.
31203         * check-module (find_included_lib_files): Adjust.
31204         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
31205
31206 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
31207
31208         copy-acl: enhance Solaris ACL error handling
31209         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
31210         * lib/set-mode-acl.c (qset_acl): Likewise.
31211
31212 2010-03-02  Bruno Haible  <bruno@clisp.org>
31213
31214         spawn: Don't override the system defined values on FreeBSD 8.
31215         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
31216         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
31217         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
31218         if HAVE_POSIX_SPAWN is 1.
31219         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
31220
31221 2010-03-01  Bruno Haible  <bruno@clisp.org>
31222
31223         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
31224         regarding Automake.
31225
31226 2010-02-25  Bruno Haible  <bruno@clisp.org>
31227
31228         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
31229         * gnulib-tool: Define 'echo' as a function only before the ksh alias
31230         setting, not afterwards.
31231         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
31232
31233 2010-02-24  Eric Blake  <eblake@redhat.com>
31234
31235         bootstrap, git-version-gen: use timestamp
31236         * build-aux/git-version-gen (scriptversion): Force UTC.
31237         * build-aux/bootstrap (scriptversion): New variable.
31238
31239         bootstrap: allow older git
31240         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
31241         older than 1.6.4.  Requested by the libvirt project.
31242
31243 2010-02-23  Eric Blake  <eblake@redhat.com>
31244
31245         warn-on-use: work with old autoconf
31246         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
31247         AS_VAR semantics of autoconf 2.60.
31248         Reported by Bruno Haible.
31249
31250         bootstrap: improve some comments
31251         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
31252         clarification comments.
31253
31254         gettimeofday: provide correct function
31255         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
31256         when replacement is declared, otherwise provide gettimeofday.
31257         Reported by Michael Goffioul.
31258
31259 2010-02-23  Jim Meyering  <meyering@redhat.com>
31260
31261         lib-ignore: relax license to "unlimited", not LGPLv2+
31262         * modules/lib-ignore (License): Relax to "unlimited".
31263
31264 2010-02-23  Jim Meyering  <meyering@redhat.com>
31265
31266         lib-ignore: relax license to LGPLv2+
31267         * modules/lib-ignore (License): Relax to LGPLv2+.
31268
31269 2010-02-22  Eric Blake  <eblake@redhat.com>
31270
31271         lseek: avoid bash 3.2 broken pipe bug
31272         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
31273         warning from bash 3.2.
31274         Reported by Ben Pfaff, with analysis from Bruno Haible.
31275
31276         bootstrap: support non-FSF copyright holder
31277         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
31278         bootstrap.conf override of COPYRIGHT_HOLDER.
31279         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
31280
31281         bootstrap: interoperate with gettext 0.14.1
31282         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
31283
31284         bootstrap: allow for alternate submodule location
31285         * build-aux/bootstrap (gnulib_path): New variable; use instead of
31286         hardcoding submodule location.
31287         (gnulib_mk): Allow direct use of Makefile.am.
31288
31289         bootstrap: use GNULIB_SRCDIR to reduce disk usage
31290         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
31291         rather than reconfiguring where the submodule points.
31292
31293         gettimeofday: restore support for platforms that lack function
31294         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
31295         replacement if function is missing.
31296         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
31297         * modules/sys_time (Makefile.am): Substitute it.
31298         * lib/sys_time.in.h (gettimeofday): Check it.
31299         Reported by Michael Goffioul.
31300
31301 2010-02-21  Bruno Haible  <bruno@clisp.org>
31302
31303         * lib/stdio.in.h (obstack_printf): Fix typo.
31304
31305 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
31306
31307         vc-list-files: use bzr ls's -R option
31308         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
31309         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
31310
31311 2010-02-21  Jim Meyering  <meyering@redhat.com>
31312
31313         init.sh: fix EXEEXT shims to work also for names like test-prog
31314         * tests/init.sh: Re-exec a better shell, when needed.
31315         If the current shell lacks support for posix $(...), an init.sh-using
31316         test will now try to find a shell that supports that.  If EXEEXT is
31317         nonempty, we also require support for hyphen-in-alias-name and shell
31318         substitutions like ${var#glob}.  Failure to find such a shell results
31319         in a skipped test.
31320
31321 2010-02-21  Bruno Haible  <bruno@clisp.org>
31322
31323         Really work around around "broken pipe" error message from bash 3.2.
31324         * gnulib-tool (func_reset_sigpipe): Remove function.
31325         (echo): In bash 3.2, define to a function that uses printf.
31326         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
31327
31328 2010-02-20  Bruno Haible  <bruno@clisp.org>
31329
31330         Restore support for automake 1.9.6 with autoconf 2.61.
31331         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
31332         Reported by James Youngman <jay@gnu.org>.
31333
31334 2010-02-20  Bruno Haible  <bruno@clisp.org>
31335
31336         Improve *printf warning condition.
31337         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
31338         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
31339         and the function is overridden due to SIGPIPE emulation.
31340
31341 2010-02-20  Bruno Haible  <bruno@clisp.org>
31342
31343         * lib/stdio.in.h: Tweak comments.
31344
31345 2010-02-19  Bruno Haible  <bruno@clisp.org>
31346
31347         Make it easier to find modules. New gnulib-tool option '--find'.
31348         * gnulib-tool: New option --find.
31349         (func_usage): Document it.
31350         (func_sanitize_modulelist): New function, extracted from
31351         func_all_modules.
31352         (func_all_modules): Invoke it.
31353         * doc/gnulib-tool.texi (Which modules?): New node.
31354
31355 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
31356
31357         * lib/sys_select.in.h: Provide select replacement even if
31358         sys/select.h exists on a system, for Interix.
31359
31360 2010-02-18  Jim Meyering  <meyering@redhat.com>
31361
31362         init.sh: don't use $(...) just yet
31363         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
31364         to accommodate e.g., Solaris' /bin/sh.
31365
31366 2010-02-17  Bruno Haible  <bruno@clisp.org>
31367
31368         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
31369         Reported by Ludovic Courtès <ludo@gnu.org>.
31370
31371 2010-02-16  Simon Josefsson  <simon@josefsson.org>
31372
31373         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
31374         linking with -lintl.
31375
31376 2010-02-17  Simon Josefsson  <simon@josefsson.org>
31377
31378         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
31379         if not provided by the system's netdb.h.  Reported by
31380         ludo@gnu.org (Ludovic Courtès).
31381
31382 2010-02-15  Jim Meyering  <meyering@redhat.com>
31383
31384         init.sh: improve portability and efficiency
31385         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
31386         "dummy" in a for loop.
31387         Use '!', not '^' to select the complement of a character set used
31388         in a "case" statement.
31389         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
31390         Suggestions from Eric Blake.
31391
31392         init.sh: automatically accommodate programs with the .exe suffix
31393         Automatically arrange for an invocation of "prog" to execute the
31394         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
31395         may use the simpler "prog", yet still work when built on a system
31396         that requires specifying the added suffix.
31397         Do this by constructing a function named "prog" that invokes
31398         "prog.exe" for each .exe file in selected directories.
31399         * tests/init.sh (find_exe_basenames_): New function.
31400         (create_exe_shim_functions_): New function.
31401         (path_prepend_): Use it.
31402
31403         maint.mk: mark syntax-check sc_*.m rules as .PHONY
31404         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
31405         "make -t syntax-check" doesn't create a ton of sc_*.m files.
31406
31407 2010-02-14  Jim Meyering  <meyering@redhat.com>
31408
31409         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
31410         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
31411         (sc_prohibit_hash_pjw_without_use): New rule.
31412
31413         maint.mk: allow the default upload destination dir to be overridden
31414         * top/maint.mk (upload_dest_dir_): Define with a default that
31415         preserves the status quo.
31416         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
31417         Reported by Peter Simons.
31418
31419         maint.mk: prohibit inclusion of "hash.h" without_use
31420         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
31421
31422 2010-02-10  Jim Meyering  <meyering@redhat.com>
31423
31424         maint.mk: prohibit inclusion of "ignore-value.h" without_use
31425         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
31426
31427 2010-02-09  Eric Blake  <ebb9@byu.net>
31428         and Bruno Haible  <bruno@clisp.org>
31429
31430         obstack-printf-posix: ensure declaration
31431         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
31432         extracted from gl_FUNC_OBSTACK_PRINTF.
31433         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
31434         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
31435         Likewise.
31436         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
31437         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
31438         0.
31439
31440 2010-02-08  Bruno Haible  <bruno@clisp.org>
31441
31442         gnulib-tool: Fix typo in 2010-02-07 commit.
31443         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
31444         Reported by Eric Blake.
31445
31446 2010-02-07  Bruno Haible  <bruno@clisp.org>
31447
31448         gnulib-tool: Fix up caching patches.
31449         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
31450         option --no-cache. Use associative arrays when supported by the shell.
31451         (sed_comments): New variable.
31452         (modcache): Renamed from do_cache.
31453         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
31454         abbreviate unnecessarily.
31455         (have_associative): New variable.
31456         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
31457         way also for ksh and zsh.
31458         (func_init_sed_convert_to_cache_statements): New function, extracted
31459         from func_cache_lookup_module. Add support for associative arrays.
31460         Don't set the c_MODULE_cached variable here. Ignore all lines before
31461         the first field header. Remove only the final newline, not all trailing
31462         newlines. Support empty fields correctly. Limit the use of 'eval' to
31463         assignments.
31464         (func_get_description, func_get_status, func_get_notice,
31465         func_get_applicability, func_get_filelist, func_get_dependencies,
31466         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
31467         func_get_automake_snippet, func_get_include_directive,
31468         func_get_link_directive, func_get_license, func_get_maintainer):
31469         Update documentation. List the unoptimized code first. Add support for
31470         associative arrays. Limit the use of 'eval' to assignments.
31471         (func_get_applicability): Undo stylistic pessimisations.
31472         (func_get_automake_snippet, func_get_include_directive): Reduce code
31473         duplication.
31474         (func_modules_transitive_closure, func_modules_add_dummy,
31475         func_modules_notice, func_modules_to_filelist, func_add_file,
31476         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
31477         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
31478         func_create_testdir, func_create_megatestdir): Update documentation.
31479
31480 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31481
31482         * gnulib-tool (func_cache_lookup_module): Store the module name
31483         belonging to the cache variable; error out if two different
31484         module names map to the same cache variable name.
31485
31486 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31487
31488         gnulib-tool: Make caching optional.
31489         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
31490         Update matching short versions of --no-changelog.
31491         (func_usage): Update.
31492         (sed_extract_cache_prog): Renamed from ...
31493         (sed_extract_prog): ... this; revert to old extraction script.
31494         (func_get_description, func_get_status)
31495         (func_get_notice, func_get_applicability, func_get_filelist)
31496         (func_get_dependencies, func_get_autoconf_early_snippet)
31497         (func_get_autoconf_snippet, func_get_automake_snippet)
31498         (func_get_include_directive, func_get_link_directive)
31499         (func_get_license, func_get_maintainer): If $do_cache is false,
31500         use old, non-caching extraction scripts.
31501         Suggestion by Bruno Haible.
31502
31503 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31504
31505         gnulib-tool: cache module metainformation.
31506         * gnulib-tool (sed_extract_prog): Match newline before each
31507         header, and rewrite header to a shell variable suffix.
31508         (func_cache_var, func_cache_lookup_module): New functions,
31509         to turn a module name into a cache variable prefix, and to
31510         look up and cache module metainformation.
31511         (func_get_description, func_get_status)
31512         (func_get_notice, func_get_applicability, func_get_filelist)
31513         (func_get_dependencies, func_get_autoconf_early_snippet)
31514         (func_get_autoconf_snippet, func_get_automake_snippet)
31515         (func_get_include_directive, func_get_link_directive)
31516         (func_get_license, func_get_maintainer): Use
31517         func_cache_lookup_module.
31518
31519 2010-02-07  Bruno Haible  <bruno@clisp.org>
31520
31521         fnctl: Fix missing dependency.
31522         * modules/fcntl (Depends-on): Add getdtablesize.
31523         Reported by John W. Eaton <jwe@gnu.org>.
31524
31525 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31526
31527         Argp: fix recognition of short alias options.
31528
31529         * lib/argp-parse.c (convert_options): Fix improper use of
31530         `|' between character values.
31531         * tests/test-argp.c (group1_option): New alias option
31532         --read (-r).
31533         (group1_parser): Special handling for 'r'.
31534         (test15): New test case.
31535         (test_fun): Add test15.
31536         * tests/test-argp-2.sh: Update expected --help and --usage
31537         outputs.
31538
31539 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31540
31541         * tests/test-argp.c: Fix indentation.
31542
31543 2010-02-04  Eric Blake  <ebb9@byu.net>
31544
31545         gettimeofday: expose type of second argument
31546         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
31547         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
31548         * tests/test-gettimeofday.c: Use it to silence warning.
31549         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
31550         the issue.
31551
31552 2010-02-03  Jim Meyering  <meyering@redhat.com>
31553
31554         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
31555         * lib/regcomp.c (TYPE_SIGNED): Define.
31556         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
31557
31558         regcomp.c: avoid a new -Wshadow warning
31559         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
31560
31561 2010-02-01  Jim Meyering  <meyering@redhat.com>
31562
31563         removing useless parentheses in cpp #define directives
31564         For motivation, see commit c0221df4, "define STREQ(a,b)
31565         consistently, removing useless parentheses"
31566         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
31567         * lib/mountlist.c (MNT_IGNORE): Likewise.
31568         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
31569
31570 2010-02-01  Eric Blake  <ebb9@byu.net>
31571
31572         sys_time: use link-warning
31573         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
31574         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
31575         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
31576         * modules/sys_time (Depends-on): Add warn-on-use.
31577         (Makefile.am): Always build replacement.
31578         (configure.ac): Update substitutions.
31579         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
31580         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
31581         bother with SYS_TIME_H.
31582         * modules/gettimeofday (configure.ac): Declare indicator.
31583         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
31584         in use.
31585
31586         closein-tests: silence compiler warning
31587         * tests/test-closein.c (main): Ignore fread result.
31588         * modules/closein-tests (Depends-on): Add ignore-value.
31589
31590         tests: silence warning about system return
31591         * tests/test-areadlink-with-size.c (main): Ignore system result.
31592         * tests/test-areadlink.c (main): Likewise.
31593         * tests/test-areadlinkat-with-size.c (main): Likewise.
31594         * tests/test-areadlinkat.c (main): Likewise.
31595         * tests/test-canonicalize-lgpl.c (main): Likewise.
31596         * tests/test-canonicalize.c (main): Likewise.
31597         * tests/test-chown.c (main): Likewise.
31598         * tests/test-fchownat.c (main): Likewise.
31599         * tests/test-fdutimensat.c (main): Likewise.
31600         * tests/test-fstatat.c (main): Likewise.
31601         * tests/test-futimens.c (main): Likewise.
31602         * tests/test-lchown.c (main): Likewise.
31603         * tests/test-link.c (main): Likewise.
31604         * tests/test-linkat.c (main): Likewise.
31605         * tests/test-lstat.c (main): Likewise.
31606         * tests/test-mkdir.c (main): Likewise.
31607         * tests/test-mkdirat.c (main): Likewise.
31608         * tests/test-mkfifo.c (main): Likewise.
31609         * tests/test-mkfifoat.c (main): Likewise.
31610         * tests/test-mknod.c (main): Likewise.
31611         * tests/test-readlink.c (main): Likewise.
31612         * tests/test-remove.c (main): Likewise.
31613         * tests/test-rename.c (main): Likewise.
31614         * tests/test-renameat.c (main): Likewise.
31615         * tests/test-rmdir.c (main): Likewise.
31616         * tests/test-symlink.c (main): Likewise.
31617         * tests/test-symlinkat.c (main): Likewise.
31618         * tests/test-unlink.c (main): Likewise.
31619         * tests/test-unlinkat.c (main): Likewise.
31620         * tests/test-utimens.c (main): Likewise.
31621         * tests/test-utimensat.c (main): Likewise.
31622         * modules/areadlink-tests (Depends-on): Add ignore-value.
31623         * modules/areadlink-with-size-tests (Depends-on): Likewise.
31624         * modules/areadlinkat-tests (Depends-on): Likewise.
31625         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
31626         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31627         * modules/canonicalize-tests (Depends-on): Likewise.
31628         * modules/chown-tests (Depends-on): Likewise.
31629         * modules/fdutimensat-tests (Depends-on): Likewise.
31630         * modules/futimens-tests (Depends-on): Likewise.
31631         * modules/lchown-tests (Depends-on): Likewise.
31632         * modules/link-tests (Depends-on): Likewise.
31633         * modules/linkat-tests (Depends-on): Likewise.
31634         * modules/lstat-tests (Depends-on): Likewise.
31635         * modules/mkdir-tests (Depends-on): Likewise.
31636         * modules/mkfifo-tests (Depends-on): Likewise.
31637         * modules/mkfifoat-tests (Depends-on): Likewise.
31638         * modules/mknod-tests (Depends-on): Likewise.
31639         * modules/openat-tests (Depends-on): Likewise.
31640         * modules/readlink-tests (Depends-on): Likewise.
31641         * modules/remove-tests (Depends-on): Likewise.
31642         * modules/rename-tests (Depends-on): Likewise.
31643         * modules/renameat-tests (Depends-on): Likewise.
31644         * modules/rmdir-tests (Depends-on): Likewise.
31645         * modules/symlink-tests (Depends-on): Likewise.
31646         * modules/symlinkat-tests (Depends-on): Likewise.
31647         * modules/unlink-tests (Depends-on): Likewise.
31648         * modules/utimens-tests (Depends-on): Likewise.
31649         * modules/utimensat-tests (Depends-on): Likewise.
31650
31651 2010-01-31  Bruno Haible  <bruno@clisp.org>
31652
31653         Perform the same test for many <math.h> functions.
31654         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
31655         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
31656         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
31657         of gl_MATHFUNC.
31658         * modules/acos (configure.ac): Likewise.
31659         * modules/asin (configure.ac): Likewise.
31660         * modules/atan (configure.ac): Likewise.
31661         * modules/atan2 (configure.ac): Likewise.
31662         * modules/cbrt (configure.ac): Likewise.
31663         * modules/copysign (configure.ac): Likewise.
31664         * modules/cos (configure.ac): Likewise.
31665         * modules/cosh (configure.ac): Likewise.
31666         * modules/erf (configure.ac): Likewise.
31667         * modules/erfc (configure.ac): Likewise.
31668         * modules/exp (configure.ac): Likewise.
31669         * modules/fmod (configure.ac): Likewise.
31670         * modules/hypot (configure.ac): Likewise.
31671         * modules/j0 (configure.ac): Likewise.
31672         * modules/j1 (configure.ac): Likewise.
31673         * modules/jn (configure.ac): Likewise.
31674         * modules/lgamma (configure.ac): Likewise.
31675         * modules/log (configure.ac): Likewise.
31676         * modules/log10 (configure.ac): Likewise.
31677         * modules/log1p (configure.ac): Likewise.
31678         * modules/pow (configure.ac): Likewise.
31679         * modules/remainder (configure.ac): Likewise.
31680         * modules/sin (configure.ac): Likewise.
31681         * modules/sinh (configure.ac): Likewise.
31682         * modules/tan (configure.ac): Likewise.
31683         * modules/tanh (configure.ac): Likewise.
31684         * modules/y0 (configure.ac): Likewise.
31685         * modules/y1 (configure.ac): Likewise.
31686         * modules/yn (configure.ac): Likewise.
31687         Suggested by Paolo Bonzini.
31688
31689 2010-01-31  Bruno Haible  <bruno@clisp.org>
31690
31691         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31692
31693 2010-01-31  Bruno Haible  <bruno@clisp.org>
31694
31695         Work around getdelim() bug on FreeBSD 8.0.
31696         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31697         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31698         not work.
31699         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31700         is 1.
31701         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31702         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31703         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31704         a non-zero size.
31705         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31706
31707 2010-01-31  Bruno Haible  <bruno@clisp.org>
31708
31709         Work around getline() bug on FreeBSD 8.0.
31710         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31711         and a non-zero size.
31712         * tests/test-getline.c (main): Likewise.
31713         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31714         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31715
31716 2010-01-28  Eric Blake  <ebb9@byu.net>
31717
31718         regex: fix build failure
31719         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31720         platforms.
31721
31722 2010-01-28  Jim Meyering  <meyering@redhat.com>
31723
31724         regex: do not ignore memory allocation failure
31725         * lib/regex_internal.c (create_cd_newstate): Detect
31726         re_node_set_init_copy failure.   Extracted from glibc commit
31727         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31728
31729         regex: sync more white-space changes from libc
31730         * lib/regex_internal.c: White-space only changes.
31731         * lib/regexec.c: Likewise.
31732
31733         regex: add many uses of __attribute_warn_unused_result__
31734         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31735         * lib/regexec.c: Likewise.
31736         Extracted from a messy glibc commit.
31737
31738         regcomp.c: spelling and merge-artifact from glibc
31739         * lib/regcomp.c: Merge remainder of glibc's
31740         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31741
31742         regcomp.c: sync white-space changes from glibc
31743         * lib/regcomp.c: Merge to accommodate white space
31744         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31745
31746         regcomp.c: do not ignore internal return values
31747         * lib/regcomp.c: Do not ignore internal return values.
31748         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31749         but without its white-space changes and spelling fixes.
31750
31751         regex_internal.h: define __attribute_warn_unused_result__
31752         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31753
31754         maint: add a syntax-check rule to check for vulnerable Makefile.in
31755         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31756
31757 2010-01-27  Jim Meyering  <meyering@redhat.com>
31758
31759         ncftpput-ftp: clean up spaces
31760         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31761         Remove trailing blanks.
31762
31763 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31764
31765         * build-aux/git-version-gen: Fix copyright statement.
31766         * build-aux/gnupload: Likewise.
31767         * tests/test-arcfour.c: Likewise.
31768         * tests/test-arctwo.c: Likewise.
31769         * tests/test-count-one-bits.c: Likewise.
31770         * tests/test-crc.c: Likewise.
31771         * tests/test-des.c: Likewise.
31772         * tests/test-gc-arcfour.c: Likewise.
31773         * tests/test-gc-arctwo.c: Likewise.
31774         * tests/test-gc-des.c: Likewise.
31775         * tests/test-gc-hmac-md5.c: Likewise.
31776         * tests/test-gc-hmac-sha1.c: Likewise.
31777         * tests/test-gc-md2.c: Likewise.
31778         * tests/test-gc-md4.c: Likewise.
31779         * tests/test-gc-md5.c: Likewise.
31780         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31781         * tests/test-gc-rijndael.c: Likewise.
31782         * tests/test-gc-sha1.c: Likewise.
31783         * tests/test-gc.c: Likewise.
31784         * tests/test-gethostname.c: Likewise.
31785         * tests/test-gettimeofday.c: Likewise.
31786         * tests/test-hash.c: Likewise.
31787         * tests/test-hmac-md5.c: Likewise.
31788         * tests/test-hmac-sha1.c: Likewise.
31789         * tests/test-md2.c: Likewise.
31790         * tests/test-md4.c: Likewise.
31791         * tests/test-md5.c: Likewise.
31792         * tests/test-memchr.c: Likewise.
31793         * tests/test-memchr2.c: Likewise.
31794         * tests/test-memcmp.c: Likewise.
31795         * tests/test-memmem.c: Likewise.
31796         * tests/test-memrchr.c: Likewise.
31797         * tests/test-rawmemchr.c: Likewise.
31798         * tests/test-read-file.c: Likewise.
31799         * tests/test-rijndael.c: Likewise.
31800         * tests/test-sockets.c: Likewise.
31801         * tests/test-strchrnul.c: Likewise.
31802         * tests/test-strstr.c: Likewise.
31803         * tests/test-strtod.c: Likewise.
31804         * build-aux/ncftpput-ftp: Likewise.
31805
31806 2010-01-26  Eric Blake  <ebb9@byu.net>
31807
31808         ignore-value: update recommended header name
31809         * modules/ignore-value (Include): Only use <> for headers that
31810         exist in glibc.
31811
31812 2010-01-26  Jim Meyering  <meyering@redhat.com>
31813
31814         test-userspec.c: avoid compiler warnings
31815         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31816         and "initialization discards qualifiers..." warnings.
31817         Put the first "uid" in its own scope, and make char* members "const".
31818
31819 2010-01-25  Bruno Haible  <bruno@clisp.org>
31820
31821         gnulib-tool: Make warning diagnostics consistent.
31822         * gnulib-tool (func_warning): New function.
31823         Use it everywhere where gnulib-tool produces output to stderr and it is
31824         not a fatal error.
31825
31826 2010-01-25  Bruno Haible  <bruno@clisp.org>
31827
31828         Fix test dependencies.
31829         * modules/xstrtol-tests (Depends-on): Add inttypes.
31830         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
31831
31832 2010-01-25 Pádraig Brady <P@draigBrady.com>
31833
31834         syntax-check: detect incorrect boolean macro values in config.h
31835         * modules/maintainer-makefile (configure.ac): Parameterize the location
31836         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
31837         The logic is from Eric Blake and the location indicated by Jim Meyering.
31838         Note the more natural CONFIG_HEADER name is prohibited by automake
31839         for backwards compatibility reasons.
31840         * top/maint.mk (sc_Wundef_boolean): New rule.
31841
31842 2010-01-25  Jim Meyering  <meyering@redhat.com>
31843
31844         bootstrap: detect MacOS 10.6's shasum, too
31845         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31846         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31847
31848 2010-01-23  Jim Meyering  <meyering@redhat.com>
31849
31850         xstrtoll: new module
31851         * modules/xstrtoll: New file.
31852         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31853         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31854         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31855         ./configure fails if you use this module and lack "long long".
31856         * modules/xstrtoll-tests: New module.
31857         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31858         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31859         new init.sh-based test framework.
31860
31861 2010-01-24  Bruno Haible  <bruno@clisp.org>
31862
31863         Tests for module 'yn'.
31864         * modules/yn-tests: New file.
31865         * tests/test-yn.c: New file.
31866
31867         Tests for module 'y1'.
31868         * modules/y1-tests: New file.
31869         * tests/test-y1.c: New file.
31870
31871         Tests for module 'y0'.
31872         * modules/y0-tests: New file.
31873         * tests/test-y0.c: New file.
31874
31875         Tests for module 'tanh'.
31876         * modules/tanh-tests: New file.
31877         * tests/test-tanh.c: New file.
31878
31879         Tests for module 'tan'.
31880         * modules/tan-tests: New file.
31881         * tests/test-tan.c: New file.
31882
31883         Tests for module 'sqrt'.
31884         * modules/sqrt-tests: New file.
31885         * tests/test-sqrt.c: New file.
31886
31887         Tests for module 'sinh'.
31888         * modules/sinh-tests: New file.
31889         * tests/test-sinh.c: New file.
31890
31891         Tests for module 'sin'.
31892         * modules/sin-tests: New file.
31893         * tests/test-sin.c: New file.
31894
31895         Tests for module 'rint'.
31896         * modules/rint-tests: New file.
31897         * tests/test-rint.c: New file.
31898
31899         Tests for module 'remainder'.
31900         * modules/remainder-tests: New file.
31901         * tests/test-remainder.c: New file.
31902
31903         Tests for module 'pow'.
31904         * modules/pow-tests: New file.
31905         * tests/test-pow.c: New file.
31906
31907         Tests for module 'nextafter'.
31908         * modules/nextafter-tests: New file.
31909         * tests/test-nextafter.c: New file.
31910
31911         Tests for module 'modf'.
31912         * modules/modf-tests: New file.
31913         * tests/test-modf.c: New file.
31914
31915         Tests for module 'logb'.
31916         * modules/logb-tests: New file.
31917         * tests/test-logb.c: New file.
31918
31919         Tests for module 'log1p'.
31920         * modules/log1p-tests: New file.
31921         * tests/test-log1p.c: New file.
31922
31923         Tests for module 'log10'.
31924         * modules/log10-tests: New file.
31925         * tests/test-log10.c: New file.
31926
31927         Tests for module 'log'.
31928         * modules/log-tests: New file.
31929         * tests/test-log.c: New file.
31930
31931         Tests for module 'lgamma'.
31932         * modules/lgamma-tests: New file.
31933         * tests/test-lgamma.c: New file.
31934
31935         Tests for module 'ldexp'.
31936         * modules/ldexp-tests: New file.
31937         * tests/test-ldexp.c: New file.
31938
31939         Tests for module 'jn'.
31940         * modules/jn-tests: New file.
31941         * tests/test-jn.c: New file.
31942
31943         Tests for module 'j1'.
31944         * modules/j1-tests: New file.
31945         * tests/test-j1.c: New file.
31946
31947         Tests for module 'j0'.
31948         * modules/j0-tests: New file.
31949         * tests/test-j0.c: New file.
31950
31951         Tests for module 'hypot'.
31952         * modules/hypot-tests: New file.
31953         * tests/test-hypot.c: New file.
31954
31955         Tests for module 'fmod'.
31956         * modules/fmod-tests: New file.
31957         * tests/test-fmod.c: New file.
31958
31959         Tests for module 'fabs'.
31960         * modules/fabs-tests: New file.
31961         * tests/test-fabs.c: New file.
31962
31963         Tests for module 'exp'.
31964         * modules/exp-tests: New file.
31965         * tests/test-exp.c: New file.
31966
31967         Tests for module 'erfc'.
31968         * modules/erfc-tests: New file.
31969         * tests/test-erfc.c: New file.
31970
31971         Tests for module 'erf'.
31972         * modules/erf-tests: New file.
31973         * tests/test-erf.c: New file.
31974
31975         Tests for module 'cosh'.
31976         * modules/cosh-tests: New file.
31977         * tests/test-cosh.c: New file.
31978
31979         Tests for module 'cos'.
31980         * modules/cos-tests: New file.
31981         * tests/test-cos.c: New file.
31982
31983         Tests for module 'copysign'.
31984         * modules/copysign-tests: New file.
31985         * tests/test-copysign.c: New file.
31986
31987         Tests for module 'cbrt'.
31988         * modules/cbrt-tests: New file.
31989         * tests/test-cbrt.c: New file.
31990
31991         Tests for module 'atan2'.
31992         * modules/atan2-tests: New file.
31993         * tests/test-atan2.c: New file.
31994
31995         Tests for module 'atan'.
31996         * modules/atan-tests: New file.
31997         * tests/test-atan.c: New file.
31998
31999         Tests for module 'asin'.
32000         * modules/asin-tests: New file.
32001         * tests/test-asin.c: New file.
32002
32003         Tests for module 'acos'.
32004         * modules/acos-tests: New file.
32005         * tests/test-acos.c: New file.
32006
32007 2010-01-24  Bruno Haible  <bruno@clisp.org>
32008
32009         Fix tests for common <math.h> functions.
32010         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
32011         code snippet that references the function pointer, rather than merely
32012         calling the function. Substitute the FUNC_LIBM variable.
32013         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
32014         * modules/acos (configure.ac): Likewise.
32015         * modules/asin (configure.ac): Likewise.
32016         * modules/atan (configure.ac): Likewise.
32017         * modules/atan2 (configure.ac): Likewise.
32018         * modules/cbrt (configure.ac): Likewise.
32019         * modules/copysign (configure.ac): Likewise.
32020         * modules/cos (configure.ac): Likewise.
32021         * modules/cosh (configure.ac): Likewise.
32022         * modules/erf (configure.ac): Likewise.
32023         * modules/erfc (configure.ac): Likewise.
32024         * modules/exp (configure.ac): Likewise.
32025         * modules/fabs (configure.ac): Likewise.
32026         * modules/fmod (configure.ac): Likewise.
32027         * modules/hypot (configure.ac): Likewise.
32028         * modules/j0 (configure.ac): Likewise.
32029         * modules/j1 (configure.ac): Likewise.
32030         * modules/jn (configure.ac): Likewise.
32031         * modules/ldexp (configure.ac): Likewise.
32032         * modules/lgamma (configure.ac): Likewise.
32033         * modules/log (configure.ac): Likewise.
32034         * modules/log10 (configure.ac): Likewise.
32035         * modules/log1p (configure.ac): Likewise.
32036         * modules/logb (configure.ac): Likewise.
32037         * modules/modf (configure.ac): Likewise.
32038         * modules/nextafter (configure.ac): Likewise.
32039         * modules/pow (configure.ac): Likewise.
32040         * modules/remainder (configure.ac): Likewise.
32041         * modules/rint (configure.ac): Likewise.
32042         * modules/sin (configure.ac): Likewise.
32043         * modules/sinh (configure.ac): Likewise.
32044         * modules/tan (configure.ac): Likewise.
32045         * modules/tanh (configure.ac): Likewise.
32046         * modules/y0 (configure.ac): Likewise.
32047         * modules/y1 (configure.ac): Likewise.
32048         * modules/yn (configure.ac): Likewise.
32049
32050 2010-01-24  Bruno Haible  <bruno@clisp.org>
32051
32052         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
32053         * tests/test-acosl.c (x): New variable.
32054         (main): Store argument in x and fetch it from x.
32055         * tests/test-asinl.c (x): New variable.
32056         (main): Store argument in x and fetch it from x.
32057         * tests/test-atanl.c (x): New variable.
32058         (main): Store argument in x and fetch it from x.
32059         * tests/test-cosl.c (x): New variable.
32060         (main): Store argument in x and fetch it from x.
32061         * tests/test-expl.c (x): New variable.
32062         (main): Store argument in x and fetch it from x.
32063         * tests/test-logl.c (x): New variable.
32064         (main): Store argument in x and fetch it from x.
32065         * tests/test-sinl.c (x): New variable.
32066         (main): Store argument in x and fetch it from x.
32067         * tests/test-sqrtl.c (x): New variable.
32068         (main): Store argument in x and fetch it from x.
32069         * tests/test-tanl.c (x): New variable.
32070         (main): Store argument in x and fetch it from x.
32071
32072 2010-01-24  Bruno Haible  <bruno@clisp.org>
32073
32074         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
32075         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
32076         assignments to the initial TESTS_ENVIRONMENT.
32077         * doc/gnulib.texi (Unit test modules): Document it.
32078         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
32079         TESTS_ENVIRONMENT.
32080         * modules/btowc-tests (Makefile.am): Likewise.
32081         * modules/c-stack-tests (Makefile.am): Likewise.
32082         * modules/c-strcase-tests (Makefile.am): Likewise.
32083         * modules/copy-file-tests (Makefile.am): Likewise.
32084         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
32085         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
32086         * modules/mbrtowc-tests (Makefile.am): Likewise.
32087         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32088         * modules/mbscasestr-tests (Makefile.am): Likewise.
32089         * modules/mbschr-tests (Makefile.am): Likewise.
32090         * modules/mbscspn-tests (Makefile.am): Likewise.
32091         * modules/mbsinit-tests (Makefile.am): Likewise.
32092         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32093         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
32094         * modules/mbspbrk-tests (Makefile.am): Likewise.
32095         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32096         * modules/mbsrchr-tests (Makefile.am): Likewise.
32097         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
32098         * modules/mbsspn-tests (Makefile.am): Likewise.
32099         * modules/mbsstr-tests (Makefile.am): Likewise.
32100         * modules/nl_langinfo-tests (Makefile.am): Likewise.
32101         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
32102         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32103         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32104         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32105         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32106         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
32107         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32108         * modules/wcrtomb-tests (Makefile.am): Likewise.
32109         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
32110         * modules/wcsrtombs-tests (Makefile.am): Likewise.
32111         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
32112         assignments from TESTS_ENVIRONMENT.
32113         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
32114         augmentation.
32115         * modules/argp-version-etc-tests (Makefile.am): Likewise.
32116         * modules/atexit-tests (Makefile.am): Likewise.
32117         * modules/binary-io-tests (Makefile.am): Likewise.
32118         * modules/closein-tests (Makefile.am): Likewise.
32119         * modules/dprintf-posix-tests (Makefile.am): Likewise.
32120         * modules/exclude-tests (Makefile.am): Likewise.
32121         * modules/fflush-tests (Makefile.am): Likewise.
32122         * modules/fpending-tests (Makefile.am): Likewise.
32123         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32124         * modules/freadahead-tests (Makefile.am): Likewise.
32125         * modules/freadptr-tests (Makefile.am): Likewise.
32126         * modules/freadseek-tests (Makefile.am): Likewise.
32127         * modules/fseek-tests (Makefile.am): Likewise.
32128         * modules/fseeko-tests (Makefile.am): Likewise.
32129         * modules/ftell-tests (Makefile.am): Likewise.
32130         * modules/ftello-tests (Makefile.am): Likewise.
32131         * modules/idpriv-drop-tests (Makefile.am): Likewise.
32132         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
32133         * modules/lseek-tests (Makefile.am): Likewise.
32134         * modules/parse-duration-tests (Makefile.am): Likewise.
32135         * modules/perror-tests (Makefile.am): Likewise.
32136         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
32137         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
32138         * modules/pipe-tests (Makefile.am): Likewise.
32139         * modules/pread-tests (Makefile.am): Likewise.
32140         * modules/printf-posix-tests (Makefile.am): Likewise.
32141         * modules/select-tests (Makefile.am): Likewise.
32142         * modules/sigpipe-tests (Makefile.am): Likewise.
32143         * modules/tsearch-tests (Makefile.am): Likewise.
32144         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
32145         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
32146         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32147         * modules/uniwidth/width-tests (Makefile.am): Likewise.
32148         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
32149         * modules/version-etc-tests (Makefile.am): Likewise.
32150         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32151         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32152         * modules/xalloc-die-tests (Makefile.am): Likewise.
32153         * modules/xprintf-posix-tests (Makefile.am): Likewise.
32154         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32155         * modules/xstrtol-tests (Makefile.am): Likewise.
32156         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32157         * modules/yesno-tests (Makefile.am): Likewise.
32158         Suggested by Jim Meyering.
32159
32160 2010-01-24  Bruno Haible  <bruno@clisp.org>
32161
32162         More documentation.
32163         * doc/gnulib.texi (Writing modules): New chapter.
32164         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
32165         the new chapter.
32166
32167 2010-01-24  Jim Meyering  <meyering@redhat.com>
32168
32169         maint.mk: do not prepend "./" after filtering
32170         * top/maint.mk (_prepend_srcdir_prefix): New variable
32171         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
32172         "./" when $(srcdir) is ".".
32173
32174         define STREQ(a,b) consistently, removing useless parentheses
32175         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
32176         since the only risk is that "a" or "b" contains an unparenthesized
32177         comma, but if either did that, STREQ would have 3 or more arguments.
32178         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
32179         * lib/fts.c (STREQ): Remove unnecessary parentheses.
32180         * lib/hash-triple.c (STREQ): Likewise.
32181         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
32182         * lib/getugroups.c (STREQ): Likewise.
32183
32184 2010-01-23  Jim Meyering  <meyering@redhat.com>
32185
32186         maint.mk: fix syntax-check in a non-srcdir build directory
32187         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
32188         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
32189
32190 2010-01-22  Jim Meyering  <meyering@redhat.com>
32191
32192         userspec: add unit tests
32193         * tests/test-userspec.c: New file.
32194         * modules/userspec-tests: Likewise.
32195
32196 2010-01-21  Jim Meyering  <meyering@redhat.com>
32197
32198         maint.mk: handle source file names containing "." robustly
32199         * top/maint.mk (_dot_escaped_srcdir): Define.
32200         (VC_LIST): Use it in LHS of sed substitution.
32201
32202 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
32203
32204         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
32205         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
32206         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
32207         from a non-srcdir build.
32208
32209 2010-01-20  Eric Blake  <ebb9@byu.net>
32210
32211         warn-on-use: use instead of link-warning
32212         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
32213         * modules/unistd (Depends-on, Makefile.am): Likewise.
32214         * modules/arpa_inet (Depends-on): Replace link-warning with
32215         warn-on-use.
32216         (Makefile.am): Update rules accordingly.
32217         * modules/ctype (Depends-on, Makefile.am): Likewise.
32218         * modules/dirent (Depends-on, Makefile.am): Likewise.
32219         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
32220         * modules/inttypes (Depends-on, Makefile.am): Likewise.
32221         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32222         * modules/locale (Depends-on, Makefile.am): Likewise.
32223         * modules/math (Depends-on, Makefile.am): Likewise.
32224         * modules/search (Depends-on, Makefile.am): Likewise.
32225         * modules/signal (Depends-on, Makefile.am): Likewise.
32226         * modules/spawn (Depends-on, Makefile.am): Likewise.
32227         * modules/stdlib (Depends-on, Makefile.am): Likewise.
32228         * modules/string (Depends-on, Makefile.am): Likewise.
32229         * modules/strings (Depends-on, Makefile.am): Likewise.
32230         * modules/sys_file (Depends-on, Makefile.am): Likewise.
32231         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
32232         * modules/sys_select (Depends-on, Makefile.am): Likewise.
32233         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
32234         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
32235         * modules/sys_times (Depends-on, Makefile.am): Likewise.
32236         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32237         * modules/wchar (Depends-on, Makefile.am): Likewise.
32238         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
32239         should be poisoned.
32240         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
32241         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
32242         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
32243         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32244         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32245         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
32246         * m4/math_h.m4 (gl_MATH_H): Likewise.
32247         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32248         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32249         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32250         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
32251         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
32252         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
32253         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32254         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
32255         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
32256         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32257         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
32258         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32259         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32260         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32261         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32262         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32263         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
32264         GL_LINK_WARNING.
32265         * lib/ctype.in.h: Likewise.
32266         * lib/dirent.in.h: Likewise.
32267         * lib/fcntl.in.h: Likewise.
32268         * lib/inttypes.in.h: Likewise.
32269         * lib/langinfo.in.h: Likewise.
32270         * lib/locale.in.h: Likewise.
32271         * lib/math.in.h: Likewise.
32272         * lib/search.in.h: Likewise.
32273         * lib/signal.in.h: Likewise.
32274         * lib/spawn.in.h: Likewise.
32275         * lib/stdio.in.h: Likewise.
32276         * lib/stdlib.in.h: Likewise.
32277         * lib/string.in.h: Likewise.
32278         * lib/strings.in.h: Likewise.
32279         * lib/sys_file.in.h: Likewise.
32280         * lib/sys_ioctl.in.h: Likewise.
32281         * lib/sys_select.in.h: Likewise.
32282         * lib/sys_socket.in.h: Likewise.
32283         * lib/sys_stat.in.h: Likewise.
32284         * lib/sys_times.in.h: Likewise.
32285         * lib/sys_utsname.in.h: Likewise.
32286         * lib/unistd.in.h: Likewise.
32287         * lib/wchar.in.h: Likewise.
32288
32289 2010-01-20  Bruno Haible  <bruno@clisp.org>
32290
32291         Avoid duplicate -lm.
32292         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
32293         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
32294         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
32295         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
32296         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
32297         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
32298         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
32299         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
32300         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
32301         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
32302         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
32303         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32304         Reported by Paolo Bonzini.
32305
32306 2010-01-19  Bruno Haible  <bruno@clisp.org>
32307
32308         langinfo, nl_langinfo: Relicense under LGPLv2+.
32309         * modules/langinfo (License): Change to LGPLv2+.
32310         * modules/nl_langinfo (License): Likewise.
32311         Patch by David Lutterkort <lutter@redhat.com>.
32312
32313 2010-01-19  Bruno Haible  <bruno@clisp.org>
32314
32315         Avoid compilation error with cc on OSF/1 5.1.
32316         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
32317         statement, not before.
32318         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32319
32320 2010-01-18  Bruno Haible  <bruno@clisp.org>
32321
32322         Avoid a link error due to the __printf__ symbol.
32323         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
32324         and 2.6.x.
32325         (__format__, __printf__): Remove definitions.
32326         * lib/argp-fmtstream.h: Likewise.
32327         * lib/argp.h: Likewise.
32328         * lib/error.h: Likewise.
32329         * lib/vasnprintf.h: Likewise.
32330         * lib/xprintf.h: Likewise.
32331         * lib/xvasprintf.h: Likewise.
32332         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32333
32334 2010-01-18  Bruno Haible  <bruno@clisp.org>
32335
32336         Tests for module 'tanl'.
32337         * modules/tanl-tests: New file.
32338         * tests/test-tanl.c: New file.
32339
32340         Tests for module 'sqrtl'.
32341         * modules/sqrtl-tests: New file.
32342         * tests/test-sqrtl.c: New file.
32343
32344         Tests for module 'sinl'.
32345         * modules/sinl-tests: New file.
32346         * tests/test-sinl.c: New file.
32347
32348         Tests for module 'logl'.
32349         * modules/logl-tests: New file.
32350         * tests/test-logl.c: New file.
32351
32352         Tests for module 'expl'.
32353         * modules/expl-tests: New file.
32354         * tests/test-expl.c: New file.
32355
32356         Tests for module 'cosl'.
32357         * modules/cosl-tests: New file.
32358         * tests/test-cosl.c: New file.
32359
32360         Tests for module 'atanl'.
32361         * modules/atanl-tests: New file.
32362         * tests/test-atanl.c: New file.
32363
32364         Tests for module 'asinl'.
32365         * modules/asinl-tests: New file.
32366         * tests/test-asinl.c: New file.
32367
32368         Tests for module 'acosl'.
32369         * modules/acosl-tests: New file.
32370         * tests/test-acosl.c: New file.
32371
32372         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32373         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
32374         tanl): Use the standard gnulib idiom.
32375         * lib/cosl.c: Don't include trigl.c and sincosl.c.
32376         * lib/sinl.c: Likewise.
32377         * lib/tanl.c: Don't include trigl.c.
32378         (kernel_tanl): Make static.
32379         * lib/sincosl.c: Include trigl.h first.
32380         * lib/trigl.c: Likewise.
32381         * m4/acosl.m4: New file.
32382         * m4/asinl.m4: New file.
32383         * m4/atanl.m4: New file.
32384         * m4/cosl.m4: New file.
32385         * m4/expl.m4: New file.
32386         * m4/logl.m4: New file.
32387         * m4/sinl.m4: New file.
32388         * m4/sqrtl.m4: New file.
32389         * m4/tanl.m4: New file.
32390         * m4/mathl.m4: Remove file.
32391         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
32392         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32393         Don't initialize GNULIB_MATHL.
32394         * modules/acosl: New file.
32395         * modules/asinl: New file.
32396         * modules/atanl: New file.
32397         * modules/cosl: New file.
32398         * modules/expl: New file.
32399         * modules/logl: New file.
32400         * modules/sinl: New file.
32401         * modules/sqrtl: New file.
32402         * modules/tanl: New file.
32403         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
32404         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
32405         substitute GNULIB_MATHL.
32406         * modules/mathl: Rewritten.
32407         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
32408         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
32409         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
32410         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
32411         * doc/posix-functions/expl.texi: Mention the 'expl' module.
32412         * doc/posix-functions/logl.texi: Mention the 'logl' module.
32413         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
32414         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
32415         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
32416
32417 2010-01-18  Bruno Haible  <bruno@clisp.org>
32418
32419         sqrt: Make gl_FUNC_SQRT requirable.
32420         * m4/sqrt.m4: New file.
32421         * modules/sqrt (Files): Add it.
32422         (configure.ac): Invoke gl_FUNC_SQRT.
32423
32424 2010-01-18  Bruno Haible  <bruno@clisp.org>
32425
32426         New modules for common <math.h> functions.
32427         * m4/mathfunc.m4: New file.
32428         * modules/acos: New file.
32429         * modules/asin: New file.
32430         * modules/atan: New file.
32431         * modules/atan2: New file.
32432         * modules/cbrt: New file.
32433         * modules/copysign: New file.
32434         * modules/cos: New file.
32435         * modules/cosh: New file.
32436         * modules/erf: New file.
32437         * modules/erfc: New file.
32438         * modules/exp: New file.
32439         * modules/fabs: New file.
32440         * modules/fmod: New file.
32441         * modules/hypot: New file.
32442         * modules/j0: New file.
32443         * modules/j1: New file.
32444         * modules/jn: New file.
32445         * modules/ldexp: New file.
32446         * modules/lgamma: New file.
32447         * modules/log: New file.
32448         * modules/log10: New file.
32449         * modules/log1p: New file.
32450         * modules/logb: New file.
32451         * modules/modf: New file.
32452         * modules/nextafter: New file.
32453         * modules/pow: New file.
32454         * modules/remainder: New file.
32455         * modules/rint: New file.
32456         * modules/sin: New file.
32457         * modules/sinh: New file.
32458         * modules/sqrt: New file.
32459         * modules/tan: New file.
32460         * modules/tanh: New file.
32461         * modules/y0: New file.
32462         * modules/y1: New file.
32463         * modules/yn: New file.
32464         * doc/posix-functions/acos.texi: Mention the 'acos' module.
32465         * doc/posix-functions/asin.texi: Mention the 'asin' module.
32466         * doc/posix-functions/atan.texi: Mention the 'atan' module.
32467         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
32468         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
32469         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
32470         * doc/posix-functions/cos.texi: Mention the 'cos' module.
32471         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
32472         * doc/posix-functions/erf.texi: Mention the 'erf' module.
32473         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
32474         * doc/posix-functions/exp.texi: Mention the 'exp' module.
32475         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
32476         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
32477         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
32478         * doc/posix-functions/j0.texi: Mention the 'j0' module.
32479         * doc/posix-functions/j1.texi: Mention the 'j1' module.
32480         * doc/posix-functions/jn.texi: Mention the 'jn' module.
32481         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
32482         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
32483         * doc/posix-functions/log.texi: Mention the 'log' module.
32484         * doc/posix-functions/log10.texi: Mention the 'log10' module.
32485         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
32486         * doc/posix-functions/logb.texi: Mention the 'logb' module.
32487         * doc/posix-functions/modf.texi: Mention the 'modf' module.
32488         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
32489         * doc/posix-functions/pow.texi: Mention the 'pow' module.
32490         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
32491         * doc/posix-functions/rint.texi: Mention the 'rint' module.
32492         * doc/posix-functions/sin.texi: Mention the 'sin' module.
32493         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
32494         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
32495         * doc/posix-functions/tan.texi: Mention the 'tan' module.
32496         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
32497         * doc/posix-functions/y0.texi: Mention the 'y0' module.
32498         * doc/posix-functions/y1.texi: Mention the 'y1' module.
32499         * doc/posix-functions/yn.texi: Mention the 'yn' module.
32500
32501 2010-01-18  Jim Meyering  <meyering@redhat.com>
32502
32503         ignore-value: relax license to LGPLv2+
32504         * modules/ignore-value (License): Relax to LGPLv2+.
32505
32506         getdate: don't leak when TZ contains two or more '"'s
32507         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
32508         double quote in TZ after the first one.
32509
32510         readtokens: do not leak internal token_lengths buffer
32511         * lib/readtokens.c (readtokens): Free the local, lengths,
32512         when the supplied "token_lengths" parameter is NULL.
32513
32514 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32515
32516         Fix a couple of missing LIBTHREAD link failures on AIX.
32517         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
32518         $(LIBTHREAD).
32519         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
32520
32521         Link test-poll against INET_PTON_LIB.
32522         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
32523         for inet_pton on Solaris 10.
32524
32525 2010-01-17  Bruno Haible  <bruno@clisp.org>
32526
32527         unistdio/*-sprintf: Fix typo in module description.
32528         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
32529         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
32530         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
32531         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
32532         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
32533         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
32534         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
32535         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32536
32537 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32538
32539         gnulib-tool: fix filelist for AIX, HP-UX ksh.
32540         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
32541         variables in shell case patterns, for AIX and HP-UX ksh.
32542
32543         Split large sed scripts, for HP-UX sed.
32544         * modules/stdio: Split sed scripts around 50 sed commands,
32545         to avoid HP-UX limit of 99 commands, in the near future.
32546         * modules/string: Likewise.
32547         * modules/unistd: Likewise.
32548
32549         gnulib-tool: avoid writing in the current directory.
32550         * gnulib-tool (func_emit_lib_Makefile_am)
32551         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
32552         not in the current directory, so concurrent gnulib-tool
32553         instances do not interfere.
32554
32555 2010-01-16  Jim Meyering  <meyering@redhat.com>
32556
32557         doc: update users.txt
32558         * users.txt: Add grep.
32559         (diffutils, gzip): Update URLs.
32560
32561 2010-01-12  Bruno Haible  <bruno@clisp.org>
32562
32563         posix_spawn: Avoid test failure on Cygwin.
32564         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
32565         characters.
32566         Reported by Simon Josefsson.
32567
32568 2010-01-12  Bruno Haible  <bruno@clisp.org>
32569
32570         * tests/test-cond.c (main): When skipping the test, show the reason.
32571
32572 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32573
32574         * lib/striconv.c (str_cd_iconv): Avoid if before free.
32575
32576 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32577
32578         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
32579         VC_LIST_ALWAYS_EXCLUDE_REGEX.
32580
32581 2010-01-12  Eric Blake  <ebb9@byu.net>
32582
32583         build: guarantee AS_VAR_IF
32584         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
32585         (gl_AS_VAR_IF): Move...
32586         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
32587         Reported by Simon Josefsson.
32588
32589 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32590
32591         * lib/stdio.in.h: Fix typo.
32592
32593 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32594
32595         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
32596         libgpg-error.
32597
32598 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32599
32600         * tests/test-xalloc-die.sh: Use $EXEEXT.
32601
32602 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32603             Bruno Haible  <bruno@clisp.org>
32604
32605         getlogin, getlogin_r: Avoid test failure.
32606         * tests/test-getlogin.c: Include <stdio.h>.
32607         (main): Skip the test when the function fails because stdin is not a
32608         tty.
32609         * tests/test-getlogin_r.c: Include <stdio.h>.
32610         (main): Skip the test when the function fails because stdin is not a
32611         tty.
32612
32613 2010-01-11  Eric Blake  <ebb9@byu.net>
32614
32615         tests: avoid more large file warnings
32616         * tests/test-fflush.c: Avoid warning about ftell use.
32617         * tests/test-fseek.c: Avoid warning about fseek use.
32618
32619 2010-01-10  Bruno Haible  <bruno@clisp.org>
32620
32621         nproc: Work better on Linux when /proc and /sys are not mounted.
32622         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
32623         as lower bound when, on glibc/Linux systems,
32624         sysconf (_SC_NPROCESSORS_CONF) returns 1.
32625         Suggested by Pádraig Brady <P@draigbrady.com>.
32626         Reported by Dmitry V. Levin <ldv@altlinux.org>.
32627
32628         nproc: Refactor.
32629         * lib/nproc.c (num_processors_via_affinity_mask): New function,
32630         extracted from num_processors.
32631         (num_processors): Call it.
32632
32633 2010-01-11  Jim Meyering  <meyering@redhat.com>
32634
32635         utimecmp: avoid new warning from upcoming gcc-4.5.0
32636         * lib/utimecmp.c (BILLION): Define using #define rather than an
32637         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
32638
32639 2010-01-11  Eric Blake  <ebb9@byu.net>
32640
32641         math: add portability warnings for classification macros
32642         * modules/math (Depends-on): Add warn-on-use.
32643         (Makefile.am): Provide new substitutions.
32644         * m4/math_h.m4 (gl_MATH_H): Require inline.
32645         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
32646         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
32647         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
32648         implement warnings.
32649
32650         unistd: warn on use of environ without module
32651         * modules/unistd (Depends-on): Add warn-on-use.
32652         (Makefile.am): Provide new substitutions.
32653         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
32654         * lib/unistd.in.h (environ): Wrap with a warning helper function.
32655
32656         stdio: warn on suspicious uses
32657         * modules/stdio (Depends-on): Add warn-on-use.
32658         (Makefile.am): Provide new substitutions.
32659         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
32660         fseeko.
32661         * lib/stdio.in.h (gets): Always warn on use.
32662         (fseek, ftell): Adjust when warnings are issued, and honor
32663         _GL_NO_LARGE_FILES as a way to silence the warning.
32664         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
32665         any warning about large file offsets.
32666         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
32667         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
32668         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
32669         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
32670         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
32671         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
32672         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
32673         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
32674
32675         warn-on-use: new module
32676         * modules/warn-on-use: New file.
32677         * build-aux/warn-on-use.h: Likewise.
32678         * m4/warn-on-use.m4: Likewise.
32679         * MODULES.html.sh (Support for building): Mention it.
32680
32681 2010-01-10  Bruno Haible  <bruno@clisp.org>
32682
32683         Tests for module 'unistr/u32-strdup'.
32684         * modules/unistr/u32-strdup-tests: New file.
32685         * tests/unistr/test-u32-strdup.c: New file.
32686
32687         Tests for module 'unistr/u16-strdup'.
32688         * modules/unistr/u16-strdup-tests: New file.
32689         * tests/unistr/test-u16-strdup.c: New file.
32690
32691         Tests for module 'unistr/u8-strdup'.
32692         * modules/unistr/u8-strdup-tests: New file.
32693         * tests/unistr/test-u8-strdup.c: New file.
32694         * tests/unistr/test-strdup.h: New file.
32695
32696         Tests for module 'unistr/u32-strncmp'.
32697         * modules/unistr/u32-strncmp-tests: New file.
32698         * tests/unistr/test-u32-strncmp.c: New file.
32699
32700         Tests for module 'unistr/u16-strncmp'.
32701         * modules/unistr/u16-strncmp-tests: New file.
32702         * tests/unistr/test-u16-strncmp.c: New file.
32703
32704         Tests for module 'unistr/u8-strncmp'.
32705         * modules/unistr/u8-strncmp-tests: New file.
32706         * tests/unistr/test-u8-strncmp.c: New file.
32707         * tests/unistr/test-strncmp.h: New file.
32708
32709         Tests for module 'unistr/u32-strcoll'.
32710         * modules/unistr/u32-strcoll-tests: New file.
32711         * tests/unistr/test-u32-strcoll.c: New file.
32712
32713         Tests for module 'unistr/u16-strcoll'.
32714         * modules/unistr/u16-strcoll-tests: New file.
32715         * tests/unistr/test-u16-strcoll.c: New file.
32716
32717         Tests for module 'unistr/u8-strcoll'.
32718         * modules/unistr/u8-strcoll-tests: New file.
32719         * tests/unistr/test-u8-strcoll.c: New file.
32720
32721         Tests for module 'unistr/u32-strcmp'.
32722         * modules/unistr/u32-strcmp-tests: New file.
32723         * tests/unistr/test-u32-strcmp.c: New file.
32724         * tests/unistr/test-u32-strcmp.h: New file.
32725
32726         Tests for module 'unistr/u16-strcmp'.
32727         * modules/unistr/u16-strcmp-tests: New file.
32728         * tests/unistr/test-u16-strcmp.c: New file.
32729         * tests/unistr/test-u16-strcmp.h: New file.
32730
32731         Tests for module 'unistr/u8-strcmp'.
32732         * modules/unistr/u8-strcmp-tests: New file.
32733         * tests/unistr/test-u8-strcmp.c: New file.
32734         * tests/unistr/test-u8-strcmp.h: New file.
32735         * tests/unistr/test-strcmp.h: New file.
32736
32737         Tests for module 'unistr/u32-strncat'.
32738         * modules/unistr/u32-strncat-tests: New file.
32739         * tests/unistr/test-u32-strncat.c: New file.
32740
32741         Tests for module 'unistr/u16-strncat'.
32742         * modules/unistr/u16-strncat-tests: New file.
32743         * tests/unistr/test-u16-strncat.c: New file.
32744
32745         Tests for module 'unistr/u8-strncat'.
32746         * modules/unistr/u8-strncat-tests: New file.
32747         * tests/unistr/test-u8-strncat.c: New file.
32748         * tests/unistr/test-strncat.h: New file.
32749
32750         Tests for module 'unistr/u32-strcat'.
32751         * modules/unistr/u32-strcat-tests: New file.
32752         * tests/unistr/test-u32-strcat.c: New file.
32753
32754         Tests for module 'unistr/u16-strcat'.
32755         * modules/unistr/u16-strcat-tests: New file.
32756         * tests/unistr/test-u16-strcat.c: New file.
32757
32758         Tests for module 'unistr/u8-strcat'.
32759         * modules/unistr/u8-strcat-tests: New file.
32760         * tests/unistr/test-u8-strcat.c: New file.
32761         * tests/unistr/test-strcat.h: New file.
32762
32763         Tests for module 'unistr/u32-stpncpy'.
32764         * modules/unistr/u32-stpncpy-tests: New file.
32765         * tests/unistr/test-u32-stpncpy.c: New file.
32766
32767         Tests for module 'unistr/u16-stpncpy'.
32768         * modules/unistr/u16-stpncpy-tests: New file.
32769         * tests/unistr/test-u16-stpncpy.c: New file.
32770
32771         Tests for module 'unistr/u8-stpncpy'.
32772         * modules/unistr/u8-stpncpy-tests: New file.
32773         * tests/unistr/test-u8-stpncpy.c: New file.
32774         * tests/unistr/test-stpncpy.h: New file.
32775
32776         Tests for module 'unistr/u32-strncpy'.
32777         * modules/unistr/u32-strncpy-tests: New file.
32778         * tests/unistr/test-u32-strncpy.c: New file.
32779
32780         Tests for module 'unistr/u16-strncpy'.
32781         * modules/unistr/u16-strncpy-tests: New file.
32782         * tests/unistr/test-u16-strncpy.c: New file.
32783
32784         Tests for module 'unistr/u8-strncpy'.
32785         * modules/unistr/u8-strncpy-tests: New file.
32786         * tests/unistr/test-u8-strncpy.c: New file.
32787         * tests/unistr/test-strncpy.h: New file.
32788
32789         Tests for module 'unistr/u32-stpcpy'.
32790         * modules/unistr/u32-stpcpy-tests: New file.
32791         * tests/unistr/test-u32-stpcpy.c: New file.
32792
32793         Tests for module 'unistr/u16-stpcpy'.
32794         * modules/unistr/u16-stpcpy-tests: New file.
32795         * tests/unistr/test-u16-stpcpy.c: New file.
32796
32797         Tests for module 'unistr/u8-stpcpy'.
32798         * modules/unistr/u8-stpcpy-tests: New file.
32799         * tests/unistr/test-u8-stpcpy.c: New file.
32800         * tests/unistr/test-stpcpy.h: New file.
32801
32802         Tests for module 'unistr/u32-strcpy'.
32803         * modules/unistr/u32-strcpy-tests: New file.
32804         * tests/unistr/test-u32-strcpy.c: New file.
32805
32806         Tests for module 'unistr/u16-strcpy'.
32807         * modules/unistr/u16-strcpy-tests: New file.
32808         * tests/unistr/test-u16-strcpy.c: New file.
32809
32810         Tests for module 'unistr/u8-strcpy'.
32811         * modules/unistr/u8-strcpy-tests: New file.
32812         * tests/unistr/test-u8-strcpy.c: New file.
32813         * tests/unistr/test-strcpy.h: New file.
32814
32815         Tests for module 'unistr/u32-strnlen'.
32816         * modules/unistr/u32-strnlen-tests: New file.
32817         * tests/unistr/test-u32-strnlen.c: New file.
32818
32819         Tests for module 'unistr/u16-strnlen'.
32820         * modules/unistr/u16-strnlen-tests: New file.
32821         * tests/unistr/test-u16-strnlen.c: New file.
32822
32823         Tests for module 'unistr/u8-strnlen'.
32824         * modules/unistr/u8-strnlen-tests: New file.
32825         * tests/unistr/test-u8-strnlen.c: New file.
32826         * tests/unistr/test-strnlen.h: New file.
32827
32828         Tests for module 'unistr/u32-strlen'.
32829         * modules/unistr/u32-strlen-tests: New file.
32830         * tests/unistr/test-u32-strlen.c: New file.
32831
32832         Tests for module 'unistr/u16-strlen'.
32833         * modules/unistr/u16-strlen-tests: New file.
32834         * tests/unistr/test-u16-strlen.c: New file.
32835
32836         Tests for module 'unistr/u8-strlen'.
32837         * modules/unistr/u8-strlen-tests: New file.
32838         * tests/unistr/test-u8-strlen.c: New file.
32839
32840         Tests for module 'unistr/u32-prev'.
32841         * modules/unistr/u32-prev-tests: New file.
32842         * tests/unistr/test-u32-prev.c: New file.
32843
32844         Tests for module 'unistr/u16-prev'.
32845         * modules/unistr/u16-prev-tests: New file.
32846         * tests/unistr/test-u16-prev.c: New file.
32847
32848         Tests for module 'unistr/u8-prev'.
32849         * modules/unistr/u8-prev-tests: New file.
32850         * tests/unistr/test-u8-prev.c: New file.
32851
32852         Tests for module 'unistr/u32-next'.
32853         * modules/unistr/u32-next-tests: New file.
32854         * tests/unistr/test-u32-next.c: New file.
32855
32856         Tests for module 'unistr/u16-next'.
32857         * modules/unistr/u16-next-tests: New file.
32858         * tests/unistr/test-u16-next.c: New file.
32859
32860         Tests for module 'unistr/u8-next'.
32861         * modules/unistr/u8-next-tests: New file.
32862         * tests/unistr/test-u8-next.c: New file.
32863
32864         Tests for module 'unistr/u32-strmbtouc'.
32865         * modules/unistr/u32-strmbtouc-tests: New file.
32866         * tests/unistr/test-u32-strmbtouc.c: New file.
32867
32868         Tests for module 'unistr/u16-strmbtouc'.
32869         * modules/unistr/u16-strmbtouc-tests: New file.
32870         * tests/unistr/test-u16-strmbtouc.c: New file.
32871
32872         Tests for module 'unistr/u8-strmbtouc'.
32873         * modules/unistr/u8-strmbtouc-tests: New file.
32874         * tests/unistr/test-u8-strmbtouc.c: New file.
32875
32876         Tests for module 'unistr/u32-strmblen'.
32877         * modules/unistr/u32-strmblen-tests: New file.
32878         * tests/unistr/test-u32-strmblen.c: New file.
32879
32880         Tests for module 'unistr/u16-strmblen'.
32881         * modules/unistr/u16-strmblen-tests: New file.
32882         * tests/unistr/test-u16-strmblen.c: New file.
32883
32884         Tests for module 'unistr/u8-strmblen'.
32885         * modules/unistr/u8-strmblen-tests: New file.
32886         * tests/unistr/test-u8-strmblen.c: New file.
32887
32888         Tests for module 'unistr/u32-cpy-alloc'.
32889         * modules/unistr/u32-cpy-alloc-tests: New file.
32890         * tests/unistr/test-u32-cpy-alloc.c: New file.
32891
32892         Tests for module 'unistr/u16-cpy-alloc'.
32893         * modules/unistr/u16-cpy-alloc-tests: New file.
32894         * tests/unistr/test-u16-cpy-alloc.c: New file.
32895
32896         Tests for module 'unistr/u8-cpy-alloc'.
32897         * modules/unistr/u8-cpy-alloc-tests: New file.
32898         * tests/unistr/test-u8-cpy-alloc.c: New file.
32899         * tests/unistr/test-cpy-alloc.h: New file.
32900
32901         Tests for module 'unistr/u32-mbsnlen'.
32902         * modules/unistr/u32-mbsnlen-tests: New file.
32903         * tests/unistr/test-u32-mbsnlen.c: New file.
32904
32905         Tests for module 'unistr/u16-mbsnlen'.
32906         * modules/unistr/u16-mbsnlen-tests: New file.
32907         * tests/unistr/test-u16-mbsnlen.c: New file.
32908
32909         Tests for module 'unistr/u8-mbsnlen'.
32910         * modules/unistr/u8-mbsnlen-tests: New file.
32911         * tests/unistr/test-u8-mbsnlen.c: New file.
32912
32913         Tests for module 'unistr/u32-chr'.
32914         * modules/unistr/u32-chr-tests: New file.
32915         * tests/unistr/test-u32-chr.c: New file.
32916
32917         Tests for module 'unistr/u16-chr'.
32918         * modules/unistr/u16-chr-tests: New file.
32919         * tests/unistr/test-u16-chr.c: New file.
32920
32921         Tests for module 'unistr/u8-chr'.
32922         * modules/unistr/u8-chr-tests: New file.
32923         * tests/unistr/test-u8-chr.c: New file.
32924         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32925
32926         Tests for module 'unistr/u32-cmp2'.
32927         * modules/unistr/u32-cmp2-tests: New file.
32928         * tests/unistr/test-u32-cmp2.c: New file.
32929
32930         Tests for module 'unistr/u16-cmp2'.
32931         * modules/unistr/u16-cmp2-tests: New file.
32932         * tests/unistr/test-u16-cmp2.c: New file.
32933
32934         Tests for module 'unistr/u8-cmp2'.
32935         * modules/unistr/u8-cmp2-tests: New file.
32936         * tests/unistr/test-u8-cmp2.c: New file.
32937         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32938
32939         Tests for module 'unistr/u32-cmp'.
32940         * modules/unistr/u32-cmp-tests: New file.
32941         * tests/unistr/test-u32-cmp.c: New file.
32942
32943         Tests for module 'unistr/u16-cmp'.
32944         * modules/unistr/u16-cmp-tests: New file.
32945         * tests/unistr/test-u16-cmp.c: New file.
32946
32947         Tests for module 'unistr/u8-cmp'.
32948         * modules/unistr/u8-cmp-tests: New file.
32949         * tests/unistr/test-u8-cmp.c: New file.
32950         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32951
32952         Tests for module 'unistr/u32-set'.
32953         * modules/unistr/u32-set-tests: New file.
32954         * tests/unistr/test-u32-set.c: New file.
32955
32956         Tests for module 'unistr/u16-set'.
32957         * modules/unistr/u16-set-tests: New file.
32958         * tests/unistr/test-u16-set.c: New file.
32959
32960         Tests for module 'unistr/u8-set'.
32961         * modules/unistr/u8-set-tests: New file.
32962         * tests/unistr/test-u8-set.c: New file.
32963         * tests/unistr/test-set.h: New file.
32964
32965         Tests for module 'unistr/u32-move'.
32966         * modules/unistr/u32-move-tests: New file.
32967         * tests/unistr/test-u32-move.c: New file.
32968
32969         Tests for module 'unistr/u16-move'.
32970         * modules/unistr/u16-move-tests: New file.
32971         * tests/unistr/test-u16-move.c: New file.
32972
32973         Tests for module 'unistr/u8-move'.
32974         * modules/unistr/u8-move-tests: New file.
32975         * tests/unistr/test-u8-move.c: New file.
32976         * tests/unistr/test-move.h: New file.
32977
32978         Tests for module 'unistr/u32-cpy'.
32979         * modules/unistr/u32-cpy-tests: New file.
32980         * tests/unistr/test-u32-cpy.c: New file.
32981
32982         Tests for module 'unistr/u16-cpy'.
32983         * modules/unistr/u16-cpy-tests: New file.
32984         * tests/unistr/test-u16-cpy.c: New file.
32985
32986         Tests for module 'unistr/u8-cpy'.
32987         * modules/unistr/u8-cpy-tests: New file.
32988         * tests/unistr/test-u8-cpy.c: New file.
32989         * tests/unistr/test-cpy.h: New file.
32990
32991 2010-01-09  Bruno Haible  <bruno@clisp.org>
32992
32993         Tests for module 'unistr/u32-uctomb'.
32994         * modules/unistr/u32-uctomb-tests: New file.
32995         * tests/unistr/test-u32-uctomb.c: New file.
32996
32997         Tests for module 'unistr/u16-uctomb'.
32998         * modules/unistr/u16-uctomb-tests: New file.
32999         * tests/unistr/test-u16-uctomb.c: New file.
33000
33001         Tests for module 'unistr/u8-uctomb'.
33002         * modules/unistr/u8-uctomb-tests: New file.
33003         * tests/unistr/test-u8-uctomb.c: New file.
33004
33005         Tests for module 'unistr/u32-mbtoucr'.
33006         * modules/unistr/u32-mbtoucr-tests: New file.
33007         * tests/unistr/test-u32-mbtoucr.c: New file.
33008
33009         Tests for module 'unistr/u16-mbtoucr'.
33010         * modules/unistr/u16-mbtoucr-tests: New file.
33011         * tests/unistr/test-u16-mbtoucr.c: New file.
33012
33013         Tests for module 'unistr/u8-mbtoucr'.
33014         * modules/unistr/u8-mbtoucr-tests: New file.
33015         * tests/unistr/test-u8-mbtoucr.c: New file.
33016
33017         Tests for module 'unistr/u32-mbtouc'.
33018         * modules/unistr/u32-mbtouc-tests: New file.
33019         * tests/unistr/test-u32-mbtouc.c: New file.
33020
33021         Tests for module 'unistr/u16-mbtouc'.
33022         * modules/unistr/u16-mbtouc-tests: New file.
33023         * tests/unistr/test-u16-mbtouc.c: New file.
33024
33025         Tests for module 'unistr/u8-mbtouc'.
33026         * modules/unistr/u8-mbtouc-tests: New file.
33027         * tests/unistr/test-u8-mbtouc.c: New file.
33028
33029         Tests for module 'unistr/u32-mbtouc-unsafe'.
33030         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
33031         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
33032         * tests/unistr/test-u32-mbtouc.h: New file.
33033
33034         Tests for module 'unistr/u16-mbtouc-unsafe'.
33035         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
33036         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
33037         * tests/unistr/test-u16-mbtouc.h: New file.
33038
33039         Tests for module 'unistr/u8-mbtouc-unsafe'.
33040         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
33041         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
33042         * tests/unistr/test-u8-mbtouc.h: New file.
33043
33044         Tests for module 'unistr/u32-mblen'.
33045         * modules/unistr/u32-mblen-tests: New file.
33046         * tests/unistr/test-u32-mblen.c: New file.
33047
33048         Tests for module 'unistr/u16-mblen'.
33049         * modules/unistr/u16-mblen-tests: New file.
33050         * tests/unistr/test-u16-mblen.c: New file.
33051
33052         Tests for module 'unistr/u8-mblen'.
33053         * modules/unistr/u8-mblen-tests: New file.
33054         * tests/unistr/test-u8-mblen.c: New file.
33055
33056         Tests for module 'unistr/u32-to-u16'.
33057         * modules/unistr/u32-to-u16-tests: New file.
33058         * tests/unistr/test-u32-to-u16.c: New file.
33059
33060         Tests for module 'unistr/u32-to-u8'.
33061         * modules/unistr/u32-to-u8-tests: New file.
33062         * tests/unistr/test-u32-to-u8.c: New file.
33063
33064         Tests for module 'unistr/u16-to-u32'.
33065         * modules/unistr/u16-to-u32-tests: New file.
33066         * tests/unistr/test-u16-to-u32.c: New file.
33067
33068         Tests for module 'unistr/u16-to-u8'.
33069         * modules/unistr/u16-to-u8-tests: New file.
33070         * tests/unistr/test-u16-to-u8.c: New file.
33071
33072         Tests for module 'unistr/u8-to-u32'.
33073         * modules/unistr/u8-to-u32-tests: New file.
33074         * tests/unistr/test-u8-to-u32.c: New file.
33075
33076         Tests for module 'unistr/u8-to-u16'.
33077         * modules/unistr/u8-to-u16-tests: New file.
33078         * tests/unistr/test-u8-to-u16.c: New file.
33079
33080         Tests for module 'unistr/u32-check'.
33081         * modules/unistr/u32-check-tests: New file.
33082         * tests/unistr/test-u32-check.c: New file.
33083
33084         Tests for module 'unistr/u16-check'.
33085         * modules/unistr/u16-check-tests: New file.
33086         * tests/unistr/test-u16-check.c: New file.
33087
33088         Tests for module 'unistr/u8-check'.
33089         * modules/unistr/u8-check-tests: New file.
33090         * tests/unistr/test-u8-check.c: New file.
33091
33092         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
33093         (category_equals): New function.
33094         (main): Add more tests.
33095         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
33096
33097         * tests/unictype/test-bidi_byname.c (main): Add more tests.
33098
33099 2010-01-10  Bruno Haible  <bruno@clisp.org>
33100
33101         unistr/u*-strcoll: Try harder to distinguish different strings.
33102         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
33103         compare s1 and s2 to see if they are different.
33104
33105 2010-01-10  Bruno Haible  <bruno@clisp.org>
33106
33107         unistr/u*-stpncpy: Fix the return value.
33108         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
33109         description of the return value consistent with stpncpy in glibc.
33110         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
33111         written non-NUL unit.
33112
33113 2010-01-10  Bruno Haible  <bruno@clisp.org>
33114
33115         unistr/u*-next: Add missing dependencies.
33116         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
33117         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
33118         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
33119
33120 2010-01-10  Bruno Haible  <bruno@clisp.org>
33121
33122         unistr/u8-mbsnlen: Fix return value for incomplete character.
33123         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
33124         u8_mblen.
33125         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
33126         Remove unistr/u8-mblen.
33127         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
33128         u16_mblen.
33129         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
33130         Remove unistr/u16-mblen.
33131
33132 2010-01-10  Bruno Haible  <bruno@clisp.org>
33133
33134         wchar: Fix compilation error when <wchar.h> is used from coreutils.
33135         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
33136         Reported by Brian Gough <bjg@gnu.org> and
33137         Chris Clayton <chris2553@googlemail.com> via
33138         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
33139
33140 2010-01-09  Bruno Haible  <bruno@clisp.org>
33141
33142         unistr/u16-to-u32: Reject invalid input.
33143         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
33144         u16_mbtouc.
33145         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
33146         Remove unistr/u16-mbtouc.
33147
33148         unistr/u16-to-u8: Reject invalid input.
33149         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
33150         u16_mbtouc.
33151         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
33152         Remove unistr/u16-mbtouc.
33153
33154         unistr/u8-to-u32: Reject invalid input.
33155         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
33156         u8_mbtouc.
33157         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
33158         Remove unistr/u8-mbtouc.
33159
33160         unistr/u8-to-u16: Reject invalid input.
33161         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
33162         u8_mbtouc.
33163         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
33164         Remove unistr/u8-mbtouc.
33165
33166 2010-01-09  Bruno Haible  <bruno@clisp.org>
33167
33168         Tests for module 'getlogin'.
33169         * modules/getlogin-tests: New file.
33170         * tests/test-getlogin.c: New file.
33171
33172         New module 'getlogin'.
33173         * lib/unistd.in.h (getlogin): New declaration.
33174         * lib/getlogin.c: New file.
33175         * m4/getlogin.m4: New file.
33176         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
33177         HAVE_GETLOGIN.
33178         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
33179         HAVE_GETLOGIN.
33180         * modules/getlogin: New file.
33181         * doc/posix-functions/getlogin.texi: Mention the new module.
33182         Reported by John W. Eaton <jwe@gnu.org>.
33183
33184 2010-01-09  Bruno Haible  <bruno@clisp.org>
33185
33186         getlogin_r: Support for native Windows.
33187         * lib/getlogin_r.c: Include <windows.h>
33188         (getlogin_r): Implement for native Windows.
33189         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
33190         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
33191         via John W. Eaton <jwe@gnu.org>.
33192
33193 2010-01-09  Bruno Haible  <bruno@clisp.org>
33194
33195         getlogin_r: Small fixes.
33196         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
33197         succeeds.
33198         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
33199         before testing whether getlogin_r is declared. No need to set
33200         HAVE_DECL_GETLOGIN_R to 1.
33201         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
33202
33203 2010-01-09  Bruno Haible  <bruno@clisp.org>
33204
33205         * lib/unistd.in.h (getlogin_r): Add comment.
33206
33207 2010-01-09  Bruno Haible  <bruno@clisp.org>
33208
33209         Tests for module 'getlogin_r'.
33210         * modules/getlogin_r-tests: New file.
33211         * tests/test-getlogin_r.c: New file.
33212
33213 2010-01-09  Jim Meyering  <meyering@redhat.com>
33214
33215         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
33216         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
33217         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
33218
33219 2010-01-08  Simon Josefsson  <simon@josefsson.org>
33220
33221         * lib/dup2.c (rpl_dup2): Improve comment.
33222
33223 2010-01-08  Eric Blake  <ebb9@byu.net>
33224
33225         maint.mk: allow packages to add makefile @@ exceptions
33226         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
33227         (sc_makefile_check): Rename...
33228         (sc_makefile_at_at_check): ...to this, and use hook.
33229
33230         dup2: work around mingw bug
33231         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
33232         Reported by Simon Josefsson.
33233
33234 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
33235
33236         glob: Fix C++ compilation.
33237         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
33238         C++.
33239
33240 2010-01-07  Bruno Haible  <bruno@clisp.org>
33241
33242         Fix indentation of wctype.in.h, broken since 2007-01-06.
33243         * lib/wctype.in.h: Fix indentation of preprocessor directives.
33244
33245 2010-01-07  Bruno Haible  <bruno@clisp.org>
33246
33247         mbslen: Avoid collision with system function.
33248         * lib/string.in.h [MirBSD]: Include <wchar.h>.
33249         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
33250         * m4/mbslen.m4: New file.
33251         * modules/mbslen (Files): Add it.
33252         (configure.ac): Invoke gl_MBSLEN.
33253         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
33254         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
33255         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
33256         via Ian Beckwith <ianb@erislabs.net>.
33257
33258 2010-01-07  Bruno Haible  <bruno@clisp.org>
33259
33260         dirent: Document the last fix.
33261         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
33262
33263 2010-01-07  Bruno Haible  <bruno@clisp.org>
33264
33265         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
33266         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
33267         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
33268         va_list are defined.
33269         * doc/posix-headers/stdio.texi: Document the bug of missing types.
33270         Reported by Eric Blake.
33271
33272 2010-01-07  Bruno Haible  <bruno@clisp.org>
33273
33274         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
33275         * modules/xlist (Depends-on): Add 'list',
33276         * modules/xoset (Depends-on): Add 'oset'.
33277         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33278
33279 2010-01-07  Bruno Haible  <bruno@clisp.org>
33280
33281         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
33282         * doc/posix-functions/strncasecmp.texi: Likewise.
33283
33284 2010-01-07  Bruno Haible  <bruno@clisp.org>
33285
33286         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
33287
33288 2010-01-07  John W. Eaton  <jwe@octave.org>
33289
33290         wctype: allow C++ use
33291         * lib/wctype.in.h: Add extern "C" block for C++.
33292
33293 2010-01-06  Eric Blake  <ebb9@byu.net>
33294
33295         maint.mk: detect incorrect GFDL usage
33296         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
33297
33298 2010-01-06  Jim Meyering  <meyering@redhat.com>
33299         and Eric Blake  <ebb9@byu.net>
33300
33301         maint.mk: ignore multi-line copyright in NEWS
33302         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
33303
33304 2010-01-06  Eric Blake  <ebb9@byu.net>
33305
33306         select: add missing dependency
33307         * modules/select-tests (Depends-on): Move sockets dependency...
33308         * modules/select (Depends-on): ...here.
33309         Reported by Ian Beckwith.
33310
33311         doc: regenerate INSTALL
33312         * doc/INSTALL: Reflect recent autoconf update.
33313         * doc/INSTALL.ISO: Likewise.
33314         * doc/INSTALL.UTF-8: Likewise.
33315
33316         pread: fix compilation on glibc
33317         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
33318         Reported by Ralf Wildenhues.
33319
33320         dirent: fix test failure
33321         * lib/dirent.in.h (includes): Guarantee ino_t.
33322         Reported by Ralf Wildenhues.
33323
33324 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
33325
33326         linkat, renameat: avoid bad free
33327         * lib/at-func2.c (at_func2): Fix typo.
33328         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
33329
33330 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33331
33332         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
33333         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
33334         to avoid failure of symlink test later.
33335
33336 2010-01-06  Eric Blake  <ebb9@byu.net>
33337
33338         stdio, unistd: guarantee ssize_t
33339         * lib/unistd.in.h (includes): Ensure that types required by POSIX
33340         2008 are exposed when needed.
33341         * lib/stdio.in.h (includes): Likewise.
33342         Reported by Ralf Wildenhues.
33343
33344 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
33345
33346         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
33347         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
33348         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
33349
33350 2010-01-06  Jim Meyering  <meyering@redhat.com>
33351
33352         readtokens: this module *does* require xalloc.h
33353         It uses only functions that were omitted by the old syntax-check rule.
33354         * lib/readtokens.c: Include "xalloc.h" once again.
33355         * modules/readtokens (Depends-on): Add xalloc.
33356         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
33357
33358 2010-01-05  Eric Blake  <ebb9@byu.net>
33359
33360         maint: support 'make announcement' from a VPATH build
33361         * top/maint.mk (announcement): Look for correct NEWS file.
33362
33363 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
33364
33365         utimens (fdutimens): ignore a negative FD, per contract
33366         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
33367         when we have a valid file descriptor.  Otherwise, using a brand
33368         new glibc (with just-patched futimens that now fails with EBADF)
33369         would cause this function to fail with ENOSYS.
33370         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
33371         See also http://bugzilla.redhat.com/552320.
33372
33373 2010-01-05  Eric Blake  <ebb9@byu.net>
33374
33375         strcase: document what it provides
33376         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
33377         gnulib module.
33378         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
33379         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
33380
33381 2010-01-05  Jim Meyering  <meyering@redhat.com>
33382
33383         maint: remove useless inclusions of "xalloc.h"
33384         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
33385         * lib/readtokens.c: Likewise.
33386         * lib/same.c: Likewise.
33387         * modules/getloadavg (Depends-on): Remove xalloc.
33388         * modules/readtokens: Likewise.
33389         * modules/same: Likewise.
33390
33391         maint.mk: include 4 more function names in alloca.h-checking regexp
33392         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
33393         regexp.  Before, we would give a false-positive (saying alloca.h
33394         is included unnecessarily) when the only uses involved omitted symbols.
33395
33396         xalloc.h: use consistent formatting
33397         * lib/xalloc.h: Move declarations to start in the first column.
33398
33399 2010-01-05  Eric Blake  <ebb9@byu.net>
33400
33401         mkdir: avoid xalloc
33402         * lib/mkdir.c (includes): Drop unused header.
33403         Reported by John W. Eaton.
33404
33405 2010-01-04  Jim Meyering  <meyering@redhat.com>
33406
33407         nl_langinfo: avoid configure-time syntax error
33408         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
33409         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
33410         the empty string.  Don't let that provoke a shell syntax error.
33411
33412         regcomp, regexec, fnmatch: avoid array bounds read error
33413         * lib/regcomp.c (build_equiv_class): From glibc:
33414         Use only the low 24 bits of a findidx return value as an index
33415         into the weights array.  Patch by Ulrich Drepper:
33416         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
33417         * lib/regexec.c (check_node_accept_bytes): Likewise.
33418         * lib/fnmatch_loop.c (FCT): Likewise.
33419
33420         regcomp: skip collseq lookup when there are no rules
33421         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
33422         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
33423
33424         regcomp: recognize ill-formed { } expressions
33425         * lib/regcomp.c (parse_dup_op): From glibc:
33426         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
33427
33428         regcomp: fix typo in comment
33429         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
33430         s/satisfy/satisfies/.
33431
33432         regcomp: sync from glibc: remove dead store
33433         * lib/regcomp.c (duplicate_node_closure): Remove useless
33434         search_duplicated_node call and dead store.
33435
33436         regcomp: sync from glibc; always use nl_langinfo
33437         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
33438         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
33439         * modules/regex (Depends-on): Add nl_langinfo.
33440
33441 2010-01-04  Eric Blake  <ebb9@byu.net>
33442
33443         fdopendir: fix configure test
33444         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
33445
33446 2010-01-01  Bruno Haible  <bruno@clisp.org>
33447
33448         wchar: Remove unused configure check.
33449         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
33450
33451 2010-01-01  Eric Blake  <ebb9@byu.net>
33452
33453         headers: make check of system header explicit
33454         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
33455         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
33456         ourselves.
33457         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33458         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33459         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
33460         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
33461         internals.
33462         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
33463         missing.
33464         Suggested by Bruno Haible.
33465
33466 2010-01-01  Jim Meyering  <meyering@redhat.com>
33467
33468         ChangeLog: tweak to eliminate unnecessary copyright line
33469         * ChangeLog: Remove a copyright line that was mistakenly updated
33470         by today's update-copyright run.  Reported by Eric Blake.
33471
33472         test-update-copyright: don't let envvar setting cause test failure
33473         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33474
33475 2010-01-01  Bruno Haible  <bruno@clisp.org>
33476
33477         localename: Avoid gcc warning.
33478         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
33479         function if it is not used.
33480
33481 2010-01-01  Jim Meyering  <meyering@redhat.com>
33482
33483         update nearly all FSF copyright year lists to include 2010
33484         Use the same procedure as for 2009, outlined in
33485         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
33486
33487         version-etc: set COPYRIGHT_YEAR to 2010
33488         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
33489
33490 2009-12-31  Eric Blake  <ebb9@byu.net>
33491
33492         doc: correct availability of cygwin 1.5.x getopt
33493         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
33494         variables.
33495         * doc/posix-functions/opterr.texi (opterr): Likewise.
33496         * doc/posix-functions/optind.texi (optind): Likewise.
33497         * doc/posix-functions/optopt.texi (optopt): Likewise.
33498         * doc/posix-functions/tzname.texi (tzname): Likewise.
33499
33500         openat: update maintainer
33501         * modules/openat (Maintainer): Add myself.
33502
33503         utimens: avoid shadowing warning
33504         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
33505         buffers into one, to avoid shadowing, as well as avoiding a
33506         redundant stat.
33507         Reported by Jim Meyering.
33508
33509         test-dup2: avoid compiler warning
33510         * tests/test-dup2.c (is_inheritable): Only define if used.
33511
33512 2010-01-01  Bruno Haible  <bruno@clisp.org>
33513
33514         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
33515         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
33516         defined, use wctomb instead of wcrtomb.
33517
33518 2010-01-01  Bruno Haible  <bruno@clisp.org>
33519
33520         iconv: Reject native Solaris iconv.
33521         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
33522         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
33523
33524 2009-12-31  Bruno Haible  <bruno@clisp.org>
33525
33526         * tests/test-signal.c (main): Remove test of 'SIG'.
33527
33528 2009-12-31  Bruno Haible  <bruno@clisp.org>
33529
33530         spawn: Fix incomplete fix.
33531         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33532         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33533         warnings for GNULIB_POSIXCHECK again.
33534         Reported by Eric Blake.
33535
33536 2009-12-31  Bruno Haible  <bruno@clisp.org>
33537
33538         Avoid namespace pollution on glibc systems.
33539         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
33540         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
33541         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
33542         glibc systems.
33543
33544 2009-12-31  Bruno Haible  <bruno@clisp.org>
33545
33546         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
33547         (gl_REPLACE_WCHAR_H): Turn into a no-op.
33548         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
33549         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
33550         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
33551         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
33552         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
33553
33554 2009-12-31  Bruno Haible  <bruno@clisp.org>
33555
33556         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33557         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
33558         afterwards.
33559
33560 2009-12-31  Bruno Haible  <bruno@clisp.org>
33561
33562         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
33563         SYS_UTSNAME_H.
33564
33565 2009-12-31  Bruno Haible  <bruno@clisp.org>
33566
33567         spawn: Fix misapplied patch.
33568         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33569         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33570         warnings for GNULIB_POSIXCHECK.
33571
33572 2009-12-31  Bruno Haible  <bruno@clisp.org>
33573
33574         times: Update after sys_times changed.
33575         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
33576         * modules/times (Files): Add it.
33577         (configure.ac): Invoke gl_FUNC_TIMES.
33578
33579 2009-12-31  Bruno Haible  <bruno@clisp.org>
33580
33581         Use AC_C_INLINE where necessary.
33582         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
33583         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33584         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33585         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33586         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33587         * m4/mbiter.m4 (gl_MBITER): Likewise.
33588         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33589         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
33590         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
33591         * modules/u64 (configure.ac): Likewise.
33592
33593 2009-12-31  Bruno Haible  <bruno@clisp.org>
33594
33595         Use AC_C_INLINE instead of module 'inline' where possible.
33596         * modules/inline (Description): Clarify purpose.
33597         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
33598         * modules/count-one-bits (Depends-on): Remove inline.
33599         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
33600         * modules/openat (Depends-on): Remove inline.
33601         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
33602         instead of depending on module 'inline'.
33603         * modules/filevercmp (Depends-on, configure.ac): Likewise.
33604         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
33605         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
33606         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
33607         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
33608         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
33609         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
33610         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
33611         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
33612         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
33613         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
33614         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
33615         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
33616         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
33617         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
33618         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
33619         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
33620         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
33621         Likewise.
33622         * modules/unictype/property-ascii-hex-digit (Depends-on,
33623         configure.ac): Likewise.
33624         * modules/unictype/property-bidi-arabic-digit (Depends-on,
33625         configure.ac): Likewise.
33626         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
33627         configure.ac): Likewise.
33628         * modules/unictype/property-bidi-block-separator (Depends-on,
33629         configure.ac): Likewise.
33630         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
33631         configure.ac): Likewise.
33632         * modules/unictype/property-bidi-common-separator (Depends-on,
33633         configure.ac): Likewise.
33634         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
33635         Likewise.
33636         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
33637         configure.ac): Likewise.
33638         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
33639         configure.ac): Likewise.
33640         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
33641         configure.ac): Likewise.
33642         * modules/unictype/property-bidi-european-digit (Depends-on,
33643         configure.ac): Likewise.
33644         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
33645         configure.ac): Likewise.
33646         * modules/unictype/property-bidi-left-to-right (Depends-on,
33647         configure.ac): Likewise.
33648         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
33649         configure.ac): Likewise.
33650         * modules/unictype/property-bidi-other-neutral (Depends-on,
33651         configure.ac): Likewise.
33652         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
33653         Likewise.
33654         * modules/unictype/property-bidi-segment-separator (Depends-on,
33655         configure.ac): Likewise.
33656         * modules/unictype/property-bidi-whitespace (Depends-on,
33657         configure.ac): Likewise.
33658         * modules/unictype/property-combining (Depends-on, configure.ac):
33659         Likewise.
33660         * modules/unictype/property-composite (Depends-on, configure.ac):
33661         Likewise.
33662         * modules/unictype/property-currency-symbol (Depends-on,
33663         configure.ac): Likewise.
33664         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
33665         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
33666         Likewise.
33667         * modules/unictype/property-default-ignorable-code-point (Depends-on,
33668         configure.ac): Likewise.
33669         * modules/unictype/property-deprecated (Depends-on, configure.ac):
33670         Likewise.
33671         * modules/unictype/property-diacritic (Depends-on, configure.ac):
33672         Likewise.
33673         * modules/unictype/property-extender (Depends-on, configure.ac):
33674         Likewise.
33675         * modules/unictype/property-format-control (Depends-on, configure.ac):
33676         Likewise.
33677         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
33678         Likewise.
33679         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33680         Likewise.
33681         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33682         Likewise.
33683         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33684         Likewise.
33685         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33686         Likewise.
33687         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33688         Likewise.
33689         * modules/unictype/property-id-start (Depends-on, configure.ac):
33690         Likewise.
33691         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33692         Likewise.
33693         * modules/unictype/property-ids-binary-operator (Depends-on,
33694         configure.ac): Likewise.
33695         * modules/unictype/property-ids-trinary-operator (Depends-on,
33696         configure.ac): Likewise.
33697         * modules/unictype/property-ignorable-control (Depends-on,
33698         configure.ac): Likewise.
33699         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33700         Likewise.
33701         * modules/unictype/property-join-control (Depends-on, configure.ac):
33702         Likewise.
33703         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33704         Likewise.
33705         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33706         Likewise.
33707         * modules/unictype/property-logical-order-exception (Depends-on,
33708         configure.ac): Likewise.
33709         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33710         Likewise.
33711         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33712         * modules/unictype/property-non-break (Depends-on, configure.ac):
33713         Likewise.
33714         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33715         Likewise.
33716         * modules/unictype/property-numeric (Depends-on, configure.ac):
33717         Likewise.
33718         * modules/unictype/property-other-alphabetic (Depends-on,
33719         configure.ac): Likewise.
33720         * modules/unictype/property-other-default-ignorable-code-point
33721         (Depends-on, configure.ac): Likewise.
33722         * modules/unictype/property-other-grapheme-extend (Depends-on,
33723         configure.ac): Likewise.
33724         * modules/unictype/property-other-id-continue (Depends-on,
33725         configure.ac): Likewise.
33726         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33727         Likewise.
33728         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33729         Likewise.
33730         * modules/unictype/property-other-math (Depends-on, configure.ac):
33731         Likewise.
33732         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33733         Likewise.
33734         * modules/unictype/property-paired-punctuation (Depends-on,
33735         configure.ac): Likewise.
33736         * modules/unictype/property-paragraph-separator (Depends-on,
33737         configure.ac): Likewise.
33738         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33739         Likewise.
33740         * modules/unictype/property-pattern-white-space (Depends-on,
33741         configure.ac): Likewise.
33742         * modules/unictype/property-private-use (Depends-on, configure.ac):
33743         Likewise.
33744         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33745         Likewise.
33746         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33747         Likewise.
33748         * modules/unictype/property-radical (Depends-on, configure.ac):
33749         Likewise.
33750         * modules/unictype/property-sentence-terminal (Depends-on,
33751         configure.ac): Likewise.
33752         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33753         Likewise.
33754         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33755         * modules/unictype/property-terminal-punctuation (Depends-on,
33756         configure.ac): Likewise.
33757         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33758         Likewise.
33759         * modules/unictype/property-unassigned-code-value (Depends-on,
33760         configure.ac): Likewise.
33761         * modules/unictype/property-unified-ideograph (Depends-on,
33762         configure.ac): Likewise.
33763         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33764         Likewise.
33765         * modules/unictype/property-variation-selector (Depends-on,
33766         configure.ac): Likewise.
33767         * modules/unictype/property-white-space (Depends-on, configure.ac):
33768         Likewise.
33769         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33770         Likewise.
33771         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33772         Likewise.
33773         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33774         Likewise.
33775         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33776         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33777         Likewise.
33778
33779 2009-12-31  Bruno Haible  <bruno@clisp.org>
33780
33781         Remove unnecessary AC_C_INLINE invocation.
33782         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33783         since 2009-08-21.
33784
33785 2009-12-31  Jim Meyering  <meyering@redhat.com>
33786
33787         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33788         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33789         With this change, we can all remove the gpg_key_ID = ... definition
33790         from our respective cfg.mk files.
33791
33792         maint.mk: create announcement template in ~/, not in /tmp
33793         * top/maint.mk (emit_upload_commands): Adjust.
33794         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33795         Remove temporary file, .ci-msg.
33796
33797 2009-12-31  Eric Blake  <ebb9@byu.net>
33798
33799         link-warning: always build headers with link warnings
33800         * modules/arpa_inet (Makefile.am): Always build replacement
33801         header.
33802         * modules/ctype (Makefile.am): Likewise.
33803         * modules/dirent (Makefile.am): Likewise.
33804         * modules/inttypes (Makefile.am): Likewise.
33805         * modules/langinfo (Makefile.am): Likewise.
33806         * modules/locale (Makefile.am): Likewise.
33807         * modules/spawn (Makefile.am): Likewise.
33808         * modules/sys_file (Makefile.am): Likewise.
33809         * modules/sys_ioctl (Makefile.am): Likewise.
33810         * modules/sys_select (Makefile.am): Likewise.
33811         * modules/sys_socket (Makefile.am): Likewise.
33812         * modules/sys_times (Makefile.am): Likewise.
33813         * modules/sys_utsname (Makefile.am): Likewise.
33814         * modules/sys_wait (Makefile.am): Likewise.
33815         * modules/wchar (Makefile.am): Likewise.
33816         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33817         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33818         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33819         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
33820         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
33821         Likewise.
33822         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33823         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33824         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
33825         Likewise.
33826         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
33827         Likewise.
33828         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
33829         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
33830         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
33831         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33832         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33833         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33834         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33835         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
33836         (gl_WCHAR_H_DEFAULTS): Likewise.
33837
33838 2009-12-31  Eric Blake  <ebb9@byu.net>
33839
33840         signal, spawn: use link warnings
33841         * lib/signal.in.h (sigset_t): Make unconditional.
33842         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
33843         (sigpending, sigprocmask, sigaction): Add link warnings.
33844         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33845         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33846         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33847         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33848         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33849         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33850         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33851         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33852         (posix_spawn_file_actions_destroy)
33853         (posix_spawn_file_actions_addopen)
33854         (posix_spawn_file_actions_addclose)
33855         (posix_spawn_file_actions_adddup2): Likewise.
33856         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33857         * tests/test-signal.c (main): Enhance test.
33858
33859         spawn: improve wrapper support
33860         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33861         (gl_SPAWN_H_DEFAULTS): New defaults.
33862         * modules/spawn (Makefile.am): Substitute them.
33863         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33864         Only declare if missing or broken.
33865
33866         sys_times, sys_utsname: use include_next
33867         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33868         header.
33869         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33870         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33871         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33872         * modules/sys_times (Depends-on): Add include_next.
33873         (Makefile.am): Substitute additional values.
33874         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33875         * lib/sys_times.in.h (includes): Include native header, if
33876         available.
33877         * lib/sys_utsname.in.h (includes): Likewise.
33878         * tests/test-sys_times.c (main): Enhance test.
33879
33880         fdutimensat: revert prior patch
33881         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33882         utimens.h.
33883         Reported by Bruno Haible.
33884
33885 2009-12-30  Eric Blake  <ebb9@byu.net>
33886
33887         sys_wait: drop link-warning dependency
33888         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33889         link-warning efforts.
33890         * lib/sys_wait.in.h: Likewise.
33891
33892         fdutimensat: remove bogus dependency
33893         * modules/fdutimensat (Depends-on): Drop inline.
33894
33895         unistd: fix typo
33896         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33897
33898 2009-12-30  Bruno Haible  <bruno@clisp.org>
33899
33900         Fix compilation error with Solaris cc.
33901         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33902         * lib/unicase/u16-is-invariant.c: Likewise.
33903         * lib/unicase/u32-is-invariant.c: Likewise.
33904         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33905
33906 2009-12-30  Bruno Haible  <bruno@clisp.org>
33907
33908         Fix test crash.
33909         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33910         locales.
33911         Reported by Simon Josefsson <simon@josefsson.org>.
33912
33913 2009-12-30  Bruno Haible  <bruno@clisp.org>
33914
33915         Fix compilation error on most platforms.
33916         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33917         Reported by Simon Josefsson <simon@josefsson.org>
33918         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33919
33920 2009-12-30  Eric Blake  <ebb9@byu.net>
33921
33922         futimens, utimensat: work around ntfs-3g bug
33923         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33924         a ctime bug is present, and expand workaround to cover ntfs-3g.
33925         * lib/utimens.c (fdutimens, lutimens): Likewise.
33926         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33927         (validate_timespec): Adjust return value.
33928         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33929         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33930         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33931
33932 2009-12-29  Eric Blake  <ebb9@byu.net>
33933
33934         link-warning: make usage consistent
33935         * modules/ctype (Depends-on): Add link-warning.
33936         (Makefile.am): Update rules accordingly.
33937         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33938         * modules/locale (Depends-on, Makefile.am): Likewise.
33939         * modules/sys_file (Makefile.am): Likewise.
33940         * modules/getopt-posix (Makefile.am): Delete unused link warning
33941         efforts.
33942         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33943         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33944         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33945         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33946
33947         stdio: remove unused variables
33948         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33949         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33950         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33951
33952         tests: test more substitute headers
33953         * modules/ctype-tests: New file.
33954         * modules/dirent-tests: Likewise.
33955         * modules/spawn-tests: Likewise.
33956         * modules/sys_file-tests: Likewise.
33957         * modules/sys_ioctl-tests: Likewise.
33958         * modules/sys_wait-tests: Likewise.
33959         * tests/test-ctype.c: Likewise.
33960         * tests/test-dirent.c: Likewise.
33961         * tests/test-spawn.c: Likewise.
33962         * tests/test-sys_file.c: Likewise.
33963         * tests/test-sys_ioctl.c: Likewise.
33964         * tests/test-sys_wait.c: Likewise.
33965         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
33966         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
33967         whether or not flock is in use.
33968
33969         tests: remove License section from module
33970         * modules/arpa_inet-tests: Remove unneeded section.
33971         * modules/byteswap-tests: Likewise.
33972         * modules/ceilf-tests: Likewise.
33973         * modules/ceill-tests: Likewise.
33974         * modules/crypto/des-tests: Likewise.
33975         * modules/crypto/gc-arcfour-tests: Likewise.
33976         * modules/crypto/gc-arctwo-tests: Likewise.
33977         * modules/crypto/gc-des-tests: Likewise.
33978         * modules/crypto/gc-hmac-md5-tests: Likewise.
33979         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33980         * modules/crypto/gc-md2-tests: Likewise.
33981         * modules/crypto/gc-md4-tests: Likewise.
33982         * modules/crypto/gc-md5-tests: Likewise.
33983         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33984         * modules/crypto/gc-rijndael-tests: Likewise.
33985         * modules/crypto/gc-sha1-tests: Likewise.
33986         * modules/crypto/gc-tests: Likewise.
33987         * modules/crypto/md2-tests: Likewise.
33988         * modules/crypto/md4-tests: Likewise.
33989         * modules/fcntl-h-tests: Likewise.
33990         * modules/floorf-tests: Likewise.
33991         * modules/floorl-tests: Likewise.
33992         * modules/frexp-nolibm-tests: Likewise.
33993         * modules/frexp-tests: Likewise.
33994         * modules/frexpl-nolibm-tests: Likewise.
33995         * modules/frexpl-tests: Likewise.
33996         * modules/getaddrinfo-tests: Likewise.
33997         * modules/inttypes-tests: Likewise.
33998         * modules/isfinite-tests: Likewise.
33999         * modules/isinf-tests: Likewise.
34000         * modules/ldexpl-tests: Likewise.
34001         * modules/locale-tests: Likewise.
34002         * modules/math-tests: Likewise.
34003         * modules/netdb-tests: Likewise.
34004         * modules/netinet_in-tests: Likewise.
34005         * modules/printf-frexp-tests: Likewise.
34006         * modules/printf-frexpl-tests: Likewise.
34007         * modules/priv-set-tests: Likewise.
34008         * modules/random_r-tests: Likewise.
34009         * modules/round-tests: Likewise.
34010         * modules/roundf-tests: Likewise.
34011         * modules/roundl-tests: Likewise.
34012         * modules/search-tests: Likewise.
34013         * modules/select-tests: Likewise.
34014         * modules/signal-tests: Likewise.
34015         * modules/stdbool-tests: Likewise.
34016         * modules/stddef-tests: Likewise.
34017         * modules/stdint-tests: Likewise.
34018         * modules/stdio-tests: Likewise.
34019         * modules/stdlib-tests: Likewise.
34020         * modules/string-tests: Likewise.
34021         * modules/strings-tests: Likewise.
34022         * modules/sys_select-tests: Likewise.
34023         * modules/sys_socket-tests: Likewise.
34024         * modules/sys_stat-tests: Likewise.
34025         * modules/sys_time-tests: Likewise.
34026         * modules/sys_utsname-tests: Likewise.
34027         * modules/sysexits-tests: Likewise.
34028         * modules/time-tests: Likewise.
34029         * modules/trunc-tests: Likewise.
34030         * modules/truncf-tests: Likewise.
34031         * modules/truncl-tests: Likewise.
34032         * modules/tsearch-tests: Likewise.
34033         * modules/unistd-tests: Likewise.
34034         * modules/wchar-tests: Likewise.
34035         * modules/wctype-tests: Likewise.
34036
34037         tests: fix license on several tests
34038         * tests/test-des.c: Update to GPLv3+.
34039         * tests/test-flock.c: Likewise.
34040         * tests/test-fsync.c: Likewise.
34041         * tests/test-futimens.h: Likewise.
34042         * tests/test-gc-arcfour.c: Likewise.
34043         * tests/test-gc-arctwo.c: Likewise.
34044         * tests/test-gc-des.c: Likewise.
34045         * tests/test-gc-hmac-md5.c: Likewise.
34046         * tests/test-gc-hmac-sha1.c: Likewise.
34047         * tests/test-gc-md2.c: Likewise.
34048         * tests/test-gc-md4.c: Likewise.
34049         * tests/test-gc-md5.c: Likewise.
34050         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34051         * tests/test-gc-rijndael.c: Likewise.
34052         * tests/test-gc-sha1.c: Likewise.
34053         * tests/test-gc.c: Likewise.
34054         * tests/test-getcwd.c: Likewise.
34055         * tests/test-link.c: Likewise.
34056         * tests/test-link.h: Likewise.
34057         * tests/test-lutimens.h: Likewise.
34058         * tests/test-md2.c: Likewise.
34059         * tests/test-md4.c: Likewise.
34060         * tests/test-mkdir.h: Likewise.
34061         * tests/test-rename.c: Likewise.
34062         * tests/test-rename.h: Likewise.
34063         * tests/test-safe-alloc.c: Likewise.
34064         * tests/test-utimens-common.h: Likewise.
34065         * tests/test-utimens.h: Likewise.
34066
34067         maint: sync license texts
34068         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
34069         * doc/gpl-3.0.texi: Revert copyright year update.
34070         * doc/lgpl-3.0.texi: Likewise.
34071
34072 2009-12-29  Jim Meyering  <meyering@redhat.com>
34073
34074         update nearly all FSF copyright year lists to include 2009
34075         The files named by the following are exempted:
34076             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
34077               test -f "$dst" && { echo "$dst"; continue; }
34078               test -d "$dst" || continue
34079               echo "$dst"/$(basename "$src")
34080             done > exempt
34081             git ls-files tests/unictype >> exempt
34082         In the remaining files, convert to all-interval notation if
34083         - there is already at least one year interval like 2000-2003
34084         - the file is maintained by me
34085         - the file is in lib/uni*/, where that style already prevails
34086         Otherwise, use update-copyright's default.
34087
34088 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34089         and Eric Blake  <ebb9@byu.net>
34090
34091         tests: don't require debug system() to pass
34092         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
34093         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34094         * tests/test-unlink.h (test_unlink_func): Likewise.
34095         * tests/test-fstatat.c (main): ...into callers.
34096         * tests/test-lstat.c (main): Likewise.
34097         * tests/test-rmdir.c (main): Likewise.
34098         * tests/test-unlink.c (main): Likewise.
34099         * tests/test-unlinkat.c (main): Likewise.
34100         * tests/test-areadlink-with-size.c (main): Don't require a
34101         debug-only system call to pass, aiding cross-testing to mingw.
34102         * tests/test-areadlink.c (main): Likewise.
34103         * tests/test-areadlinkat-with-size.c (main): Likewise.
34104         * tests/test-areadlinkat.c (main): Likewise.
34105         * tests/test-canonicalize-lgpl.c (main): Likewise.
34106         * tests/test-canonicalize.c (main): Likewise.
34107         * tests/test-chown.c (main): Likewise.
34108         * tests/test-fchownat.c (main): Likewise.
34109         * tests/test-lchown.c (main): Likewise.
34110         * tests/test-fdutimensat.c (main): Likewise.
34111         * tests/test-futimens.c (main): Likewise.
34112         * tests/test-link.c (main): Likewise.
34113         * tests/test-linkat.c (main): Likewise.
34114         * tests/test-mkdir.c (main): Likewise.
34115         * tests/test-mkdirat.c (main): Likewise.
34116         * tests/test-mkfifo.c (main): Likewise.
34117         * tests/test-mkfifoat.c (main): Likewise.
34118         * tests/test-mknod.c (main): Likewise.
34119         * tests/test-readlink.c (main): Likewise.
34120         * tests/test-remove.c (main): Likewise.
34121         * tests/test-rename.c (main): Likewise.
34122         * tests/test-renameat.c (main): Likewise.
34123         * tests/test-symlink.c (main): Likewise.
34124         * tests/test-symlinkat.c (main): Likewise.
34125         * tests/test-utimens.c (main): Likewise.
34126         * tests/test-utimensat.c (main): Likewise.
34127
34128 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34129
34130         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
34131         on $(UNUSED_PARAMETER_H) to avoid build failure.
34132
34133 2009-12-28  Jim Meyering  <meyering@redhat.com>
34134
34135         update-copyright: you may specify a max. line length other than 72
34136         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34137
34138         maint: use consistent FSF copyright line syntax
34139         * lib/posixtm.c: Add missing comma in FSF copyright line.
34140         * lib/posixtm.h: Likewise.
34141         * lib/getugroups.c: Add missing ", Inc.".
34142
34143         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
34144         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
34145         FSF copyright line.  Remove trailing blanks.
34146
34147 2009-12-28  Eric Blake  <ebb9@byu.net>
34148
34149         test-dup2: reduce dependencies
34150         * modules/cloexec (Configure.ac): Set witness.
34151         * modules/dup2-tests (Depends-on): Drop cloexec.
34152         * tests/test-dup2.c (main): Skip portion of test if cloexec module
34153         not present.
34154         Suggested by Bruno Haible.
34155
34156 2009-12-26  Bruno Haible  <bruno@clisp.org>
34157
34158         Remove an unneeded dependency.
34159         * modules/fseterr (Depends-on): Remove dup2.
34160
34161 2009-12-26  Eric Blake  <ebb9@byu.net>
34162
34163         tests: use macros.h in more places
34164         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
34165         (ASSERT_STREAM): Provide default of stderr.
34166         * tests/test-dirent-safer.c: Include macros.h, using alternate
34167         stream for assertions.
34168         * tests/test-dup-safer.c: Likewise.
34169         * tests/test-freopen-safer.c: Likewise.
34170         * tests/test-getopt.c: Likewise.
34171         * tests/test-openat-safer.c: Likewise.
34172         * tests/test-pipe.c: Likewise.
34173         * tests/test-popen-safer.c: Likewise.
34174         * modules/dirent-safer-tests (Files): Include macros.h.
34175         * modules/unistd-safer-tests (Files): Likewise.
34176         * modules/freopen-safer-tests (Files): Likewise.
34177         * modules/getopt-posix-tests (Files): Likewise.
34178         * modules/openat-safer-tests (Files): Likewise.
34179         * modules/pipe-tests (Files): Likewise.
34180
34181 2009-12-26  Bruno Haible  <bruno@clisp.org>
34182
34183         javacomp: Portability fix.
34184         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
34185         that it also works on Solaris.
34186
34187 2009-12-26  Bruno Haible  <bruno@clisp.org>
34188
34189         localename: Fix storage allocation of gl_locale_name_thread's result.
34190         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
34191         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
34192         all platforms that have 'uselocale'.
34193         (gl_locale_name_thread_unsafe): New function, extracted from
34194         gl_locale_name_thread.
34195         (gl_locale_name_thread): Call struniq on all platforms that have
34196         'uselocale'.
34197         * tests/test-localename.c (test_locale_name_thread): Check that the
34198         resulting strings are permanently allocated.
34199         * modules/localename-tests (Depends-on): Add strdup.
34200
34201 2009-12-26  Bruno Haible  <bruno@clisp.org>
34202
34203         * tests/test-localename.c (categories): Fill in the strings.
34204
34205 2009-12-26  Jim Meyering  <meyering@redhat.com>
34206
34207         isdir: complete the removal of m4/isdir.m4
34208         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
34209
34210         isdir: clean up, since at least grep still uses it
34211         * lib/isdir.c: Include "isdir.h".
34212         (S_ISDIR): Remove now-unneeded definition.
34213         * modules/isdir (Files): Add lib/isdir.h.
34214         * lib/isdir.h: New file, with declaration.
34215         * m4/isdir.m4: Remove file -- unneeded.
34216
34217 2009-12-25  Bruno Haible  <bruno@clisp.org>
34218
34219         selinux-h: Make generated .h files standalone.
34220         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
34221         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
34222         * lib/se-selinux.in.h: Likewise.
34223         * modules/selinux-h (Depends-on): Add unused-parameter.
34224         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
34225         selinux/selinux.h and selinux/context.h.
34226         Suggested by Eric Blake.
34227
34228 2009-12-25  Bruno Haible  <bruno@clisp.org>
34229
34230         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
34231         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
34232         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
34233         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
34234         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
34235
34236 2009-12-24  Bruno Haible  <bruno@clisp.org>
34237
34238         openat: Fix warning.
34239         * lib/openat-proc.c: Include <unistd.h>.
34240
34241 2009-12-24  Bruno Haible  <bruno@clisp.org>
34242
34243         New module 'unused-parameter'.
34244         * build-aux/unused-parameter.h: New file, extracted from earlier
34245         gnulib-common.m4.
34246         * modules/unused-parameter: New file.
34247         * lib/unistr.h: Include unused-parameter.h.
34248         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
34249         _GL_UNUSED.
34250         * modules/unistr/base (Depends-on): Add unused-parameter.
34251
34252 2009-12-24  Bruno Haible  <bruno@clisp.org>
34253
34254         Add missing dependencies to 'extensions' module.
34255         * m4/extensions.m4: Add comment.
34256         * modules/accept4 (Depends-on): Add extensions.
34257         * modules/dup3 (Depends-on): Likewise.
34258         * modules/fcntl (Depends-on): Likewise.
34259         * modules/futimens (Depends-on): Likewise.
34260         * modules/mknod (Depends-on): Likewise.
34261         * modules/pipe2 (Depends-on): Likewise.
34262         * modules/stat-time (Depends-on): Likewise.
34263         * modules/strcasestr-simple (Depends-on): Likewise.
34264         * modules/strsignal (Depends-on): Likewise.
34265         * modules/utimensat (Depends-on): Likewise.
34266         * modules/localcharset (Depends-on): Likewise. Needed because of
34267         gl_FCNTL_O_FLAGS.
34268         * modules/wcrtomb (Depends-on): Likewise. Needed because of
34269         AC_TYPE_MBSTATE_T.
34270         * modules/wcsnrtombs (Depends-on): Likewise.
34271         * modules/wcsrtombs (Depends-on): Likewise.
34272
34273 2009-12-24  Bruno Haible  <bruno@clisp.org>
34274
34275         binary-io: Avoid gcc warning due to SET_BINARY.
34276         * lib/binary-io.h (SET_BINARY): Cast the result to void.
34277         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
34278
34279 2009-12-24  Bruno Haible  <bruno@clisp.org>
34280
34281         Avoid future namespace pollution on glibc systems.
34282         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
34283         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
34284         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
34285         glibc systems.
34286
34287 2009-12-24  Bruno Haible  <bruno@clisp.org>
34288
34289         Refactor common macros used in tests.
34290         * tests/macros.h: New file.
34291         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
34292         and/or <stdlib.h>, if appropriate.
34293         (ASSERT, SIZEOF): Remove macros.
34294         * tests/test-areadlink-with-size.c: Likewise.
34295         * tests/test-areadlinkat.c: Likewise.
34296         * tests/test-areadlinkat-with-size.c: Likewise.
34297         * tests/test-argmatch.c: Likewise.
34298         * tests/test-argv-iter.c: Likewise.
34299         * tests/test-array-mergesort.c: Likewise.
34300         * tests/test-array_list.c: Likewise.
34301         * tests/test-array_oset.c: Likewise.
34302         * tests/test-avltree_list.c: Likewise.
34303         * tests/test-avltree_oset.c: Likewise.
34304         * tests/test-avltreehash_list.c: Likewise.
34305         * tests/test-base64.c: Likewise.
34306         * tests/test-binary-io.c: Likewise.
34307         * tests/test-bitrotate.c: Likewise.
34308         * tests/test-btowc.c: Likewise.
34309         * tests/test-byteswap.c: Likewise.
34310         * tests/test-c-ctype.c: Likewise.
34311         * tests/test-c-stack.c: Likewise.
34312         * tests/test-c-strcasecmp.c: Likewise.
34313         * tests/test-c-strcasestr.c: Likewise.
34314         * tests/test-c-strncasecmp.c: Likewise.
34315         * tests/test-c-strstr.c: Likewise.
34316         * tests/test-canonicalize-lgpl.c: Likewise.
34317         * tests/test-canonicalize.c: Likewise.
34318         * tests/test-carray_list.c: Likewise.
34319         * tests/test-ceilf1.c: Likewise.
34320         * tests/test-ceilf2.c: Likewise.
34321         * tests/test-ceill.c: Likewise.
34322         * tests/test-chown.c: Likewise.
34323         * tests/test-cloexec.c: Likewise.
34324         * tests/test-copy-acl.c: Likewise.
34325         * tests/test-copy-file.c: Likewise.
34326         * tests/test-count-one-bits.c: Likewise.
34327         * tests/test-dprintf-posix.c: Likewise.
34328         * tests/test-dup2.c: Likewise.
34329         * tests/test-dup3.c: Likewise.
34330         * tests/test-duplocale.c: Likewise.
34331         * tests/test-fbufmode.c: Likewise.
34332         * tests/test-fchdir.c: Likewise.
34333         * tests/test-fchownat.c: Likewise.
34334         * tests/test-fcntl-safer.c: Likewise.
34335         * tests/test-fcntl.c: Likewise.
34336         * tests/test-fdopendir.c: Likewise.
34337         * tests/test-fdutimensat.c: Likewise.
34338         * tests/test-fflush2.c: Likewise.
34339         * tests/test-file-has-acl.c: Likewise.
34340         * tests/test-filevercmp.c: Likewise.
34341         * tests/test-flock.c: Likewise.
34342         * tests/test-floorf1.c: Likewise.
34343         * tests/test-floorf2.c: Likewise.
34344         * tests/test-floorl.c: Likewise.
34345         * tests/test-fnmatch.c: Likewise.
34346         * tests/test-fopen.h: Likewise.
34347         * tests/test-fpending.c: Likewise.
34348         * tests/test-fprintf-posix.c: Likewise.
34349         * tests/test-fpurge.c: Likewise.
34350         * tests/test-freadable.c: Likewise.
34351         * tests/test-freadahead.c: Likewise.
34352         * tests/test-freading.c: Likewise.
34353         * tests/test-freadptr.c: Likewise.
34354         * tests/test-freadptr2.c: Likewise.
34355         * tests/test-freadseek.c: Likewise.
34356         * tests/test-freopen.c: Likewise.
34357         * tests/test-frexp.c: Likewise.
34358         * tests/test-frexpl.c: Likewise.
34359         * tests/test-fseek.c: Likewise.
34360         * tests/test-fseeko.c: Likewise.
34361         * tests/test-fstatat.c: Likewise.
34362         * tests/test-fstrcmp.c: Likewise.
34363         * tests/test-fsync.c: Likewise.
34364         * tests/test-ftell.c: Likewise.
34365         * tests/test-ftello.c: Likewise.
34366         * tests/test-func.c: Likewise.
34367         * tests/test-futimens.c: Likewise.
34368         * tests/test-fwritable.c: Likewise.
34369         * tests/test-fwriting.c: Likewise.
34370         * tests/test-getcwd.c: Likewise.
34371         * tests/test-getdate.c: Likewise.
34372         * tests/test-getdelim.c: Likewise.
34373         * tests/test-getdtablesize.c: Likewise.
34374         * tests/test-getgroups.c: Likewise.
34375         * tests/test-getline.c: Likewise.
34376         * tests/test-getndelim2.c: Likewise.
34377         * tests/test-glob.c: Likewise.
34378         * tests/test-hash.c: Likewise.
34379         * tests/test-i-ring.c: Likewise.
34380         * tests/test-iconv-utf.c: Likewise.
34381         * tests/test-iconv.c: Likewise.
34382         * tests/test-idpriv-drop.c: Likewise.
34383         * tests/test-idpriv-droptemp.c: Likewise.
34384         * tests/test-inet_ntop.c: Likewise.
34385         * tests/test-inet_pton.c: Likewise.
34386         * tests/test-isblank.c: Likewise.
34387         * tests/test-isfinite.c: Likewise.
34388         * tests/test-isinf.c: Likewise.
34389         * tests/test-isnan.c: Likewise.
34390         * tests/test-isnand.h: Likewise.
34391         * tests/test-isnanf.h: Likewise.
34392         * tests/test-isnanl.h: Likewise.
34393         * tests/test-lchown.c: Likewise.
34394         * tests/test-ldexpl.c: Likewise.
34395         * tests/test-link.c: Likewise.
34396         * tests/test-linkat.c: Likewise.
34397         * tests/test-linked_list.c: Likewise.
34398         * tests/test-linkedhash_list.c: Likewise.
34399         * tests/test-localename.c: Likewise.
34400         * tests/test-lseek.c: Likewise.
34401         * tests/test-lstat.c: Likewise.
34402         * tests/test-mbmemcasecmp.c: Likewise.
34403         * tests/test-mbmemcasecoll.c: Likewise.
34404         * tests/test-mbrtowc.c: Likewise.
34405         * tests/test-mbscasecmp.c: Likewise.
34406         * tests/test-mbscasestr1.c: Likewise.
34407         * tests/test-mbscasestr2.c: Likewise.
34408         * tests/test-mbscasestr3.c: Likewise.
34409         * tests/test-mbscasestr4.c: Likewise.
34410         * tests/test-mbschr.c: Likewise.
34411         * tests/test-mbscspn.c: Likewise.
34412         * tests/test-mbsinit.c: Likewise.
34413         * tests/test-mbsncasecmp.c: Likewise.
34414         * tests/test-mbsnrtowcs.c: Likewise.
34415         * tests/test-mbspbrk.c: Likewise.
34416         * tests/test-mbspcasecmp.c: Likewise.
34417         * tests/test-mbsrchr.c: Likewise.
34418         * tests/test-mbsrtowcs.c: Likewise.
34419         * tests/test-mbsspn.c: Likewise.
34420         * tests/test-mbsstr1.c: Likewise.
34421         * tests/test-mbsstr2.c: Likewise.
34422         * tests/test-mbsstr3.c: Likewise.
34423         * tests/test-memchr.c: Likewise.
34424         * tests/test-memchr2.c: Likewise.
34425         * tests/test-memcmp.c: Likewise.
34426         * tests/test-memmem.c: Likewise.
34427         * tests/test-memrchr.c: Likewise.
34428         * tests/test-mkdir.c: Likewise.
34429         * tests/test-mkdirat.c: Likewise.
34430         * tests/test-mkfifo.c: Likewise.
34431         * tests/test-mkfifoat.c: Likewise.
34432         * tests/test-mknod.c: Likewise.
34433         * tests/test-nanosleep.c: Likewise.
34434         * tests/test-nl_langinfo.c: Likewise.
34435         * tests/test-obstack-printf.c: Likewise.
34436         * tests/test-open.c: Likewise.
34437         * tests/test-openat.c: Likewise.
34438         * tests/test-pipe-filter-gi1.c: Likewise.
34439         * tests/test-pipe-filter-gi2-main.c: Likewise.
34440         * tests/test-pipe-filter-ii1.c: Likewise.
34441         * tests/test-pipe-filter-ii2-main.c: Likewise.
34442         * tests/test-pipe2.c: Likewise.
34443         * tests/test-popen.h: Likewise.
34444         * tests/test-posixtm.c: Likewise.
34445         * tests/test-pread.c: Likewise.
34446         * tests/test-printf-frexp.c: Likewise.
34447         * tests/test-printf-frexpl.c: Likewise.
34448         * tests/test-printf-posix.c: Likewise.
34449         * tests/test-priv-set.c: Likewise.
34450         * tests/test-quotearg.c: Likewise.
34451         * tests/test-random_r.c: Likewise.
34452         * tests/test-rawmemchr.c: Likewise.
34453         * tests/test-rbtree_list.c: Likewise.
34454         * tests/test-rbtree_oset.c: Likewise.
34455         * tests/test-rbtreehash_list.c: Likewise.
34456         * tests/test-readlink.c: Likewise.
34457         * tests/test-remove.c: Likewise.
34458         * tests/test-rename.c: Likewise.
34459         * tests/test-renameat.c: Likewise.
34460         * tests/test-rmdir.c: Likewise.
34461         * tests/test-round1.c: Likewise.
34462         * tests/test-roundf1.c: Likewise.
34463         * tests/test-roundl.c: Likewise.
34464         * tests/test-safe-alloc.c: Likewise.
34465         * tests/test-sameacls.c: Likewise.
34466         * tests/test-set-mode-acl.c: Likewise.
34467         * tests/test-setenv.c: Likewise.
34468         * tests/test-sigaction.c: Likewise.
34469         * tests/test-signbit.c: Likewise.
34470         * tests/test-sleep.c: Likewise.
34471         * tests/test-snprintf-posix.c: Likewise.
34472         * tests/test-snprintf.c: Likewise.
34473         * tests/test-sprintf-posix.c: Likewise.
34474         * tests/test-stat-time.c: Likewise.
34475         * tests/test-stat.c: Likewise.
34476         * tests/test-strcasestr.c: Likewise.
34477         * tests/test-strchrnul.c: Likewise.
34478         * tests/test-strerror.c: Likewise.
34479         * tests/test-striconv.c: Likewise.
34480         * tests/test-striconveh.c: Likewise.
34481         * tests/test-striconveha.c: Likewise.
34482         * tests/test-strsignal.c: Likewise.
34483         * tests/test-strstr.c: Likewise.
34484         * tests/test-strtod.c: Likewise.
34485         * tests/test-strverscmp.c: Likewise.
34486         * tests/test-symlink.c: Likewise.
34487         * tests/test-symlinkat.c: Likewise.
34488         * tests/test-trunc1.c: Likewise.
34489         * tests/test-trunc2.c: Likewise.
34490         * tests/test-truncf1.c: Likewise.
34491         * tests/test-truncf2.c: Likewise.
34492         * tests/test-truncl.c: Likewise.
34493         * tests/test-uname.c: Likewise.
34494         * tests/test-unlink.c: Likewise.
34495         * tests/test-unlinkat.c: Likewise.
34496         * tests/test-unsetenv.c: Likewise.
34497         * tests/test-usleep.c: Likewise.
34498         * tests/test-utimens.c: Likewise.
34499         * tests/test-utimensat.c: Likewise.
34500         * tests/test-vasnprintf-posix.c: Likewise.
34501         * tests/test-vasnprintf-posix2.c: Likewise.
34502         * tests/test-vasnprintf.c: Likewise.
34503         * tests/test-vasprintf-posix.c: Likewise.
34504         * tests/test-vasprintf.c: Likewise.
34505         * tests/test-vdprintf-posix.c: Likewise.
34506         * tests/test-vfprintf-posix.c: Likewise.
34507         * tests/test-vprintf-posix.c: Likewise.
34508         * tests/test-vsnprintf-posix.c: Likewise.
34509         * tests/test-vsnprintf.c: Likewise.
34510         * tests/test-vsprintf-posix.c: Likewise.
34511         * tests/test-wcrtomb.c: Likewise.
34512         * tests/test-wcsnrtombs.c: Likewise.
34513         * tests/test-wcsrtombs.c: Likewise.
34514         * tests/test-wctype.c: Likewise.
34515         * tests/test-wcwidth.c: Likewise.
34516         * tests/test-xfprintf-posix.c: Likewise.
34517         * tests/test-xmemdup0.c: Likewise.
34518         * tests/test-xprintf-posix.c: Likewise.
34519         * tests/test-xvasprintf.c: Likewise.
34520         * tests/unicase/test-locale-language.c: Likewise.
34521         * tests/unicase/test-mapping-part1.h: Likewise.
34522         * tests/unicase/test-predicate-part1.h: Likewise.
34523         * tests/unicase/test-u8-casecmp.c: Likewise.
34524         * tests/unicase/test-u8-casecoll.c: Likewise.
34525         * tests/unicase/test-u8-casefold.c: Likewise.
34526         * tests/unicase/test-u8-is-cased.c: Likewise.
34527         * tests/unicase/test-u8-is-casefolded.c: Likewise.
34528         * tests/unicase/test-u8-is-lowercase.c: Likewise.
34529         * tests/unicase/test-u8-is-titlecase.c: Likewise.
34530         * tests/unicase/test-u8-is-uppercase.c: Likewise.
34531         * tests/unicase/test-u8-tolower.c: Likewise.
34532         * tests/unicase/test-u8-totitle.c: Likewise.
34533         * tests/unicase/test-u8-toupper.c: Likewise.
34534         * tests/unicase/test-u16-casecmp.c: Likewise.
34535         * tests/unicase/test-u16-casecoll.c: Likewise.
34536         * tests/unicase/test-u16-casefold.c: Likewise.
34537         * tests/unicase/test-u16-is-cased.c: Likewise.
34538         * tests/unicase/test-u16-is-casefolded.c: Likewise.
34539         * tests/unicase/test-u16-is-lowercase.c: Likewise.
34540         * tests/unicase/test-u16-is-titlecase.c: Likewise.
34541         * tests/unicase/test-u16-is-uppercase.c: Likewise.
34542         * tests/unicase/test-u16-tolower.c: Likewise.
34543         * tests/unicase/test-u16-totitle.c: Likewise.
34544         * tests/unicase/test-u16-toupper.c: Likewise.
34545         * tests/unicase/test-u32-casecmp.c: Likewise.
34546         * tests/unicase/test-u32-casecoll.c: Likewise.
34547         * tests/unicase/test-u32-casefold.c: Likewise.
34548         * tests/unicase/test-u32-is-cased.c: Likewise.
34549         * tests/unicase/test-u32-is-casefolded.c: Likewise.
34550         * tests/unicase/test-u32-is-lowercase.c: Likewise.
34551         * tests/unicase/test-u32-is-titlecase.c: Likewise.
34552         * tests/unicase/test-u32-is-uppercase.c: Likewise.
34553         * tests/unicase/test-u32-tolower.c: Likewise.
34554         * tests/unicase/test-u32-totitle.c: Likewise.
34555         * tests/unicase/test-u32-toupper.c: Likewise.
34556         * tests/unicase/test-ulc-casecmp.c: Likewise.
34557         * tests/unicase/test-ulc-casecoll.c: Likewise.
34558         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34559         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34560         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34561         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34562         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34563         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34564         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34565         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34566         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34567         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34568         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34569         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34570         * tests/unictype/test-bidi_byname.c: Likewise.
34571         * tests/unictype/test-bidi_name.c: Likewise.
34572         * tests/unictype/test-bidi_of.c: Likewise.
34573         * tests/unictype/test-bidi_test.c: Likewise.
34574         * tests/unictype/test-block_list.c: Likewise.
34575         * tests/unictype/test-block_of.c: Likewise.
34576         * tests/unictype/test-block_test.c: Likewise.
34577         * tests/unictype/test-categ_and.c: Likewise.
34578         * tests/unictype/test-categ_and_not.c: Likewise.
34579         * tests/unictype/test-categ_byname.c: Likewise.
34580         * tests/unictype/test-categ_name.c: Likewise.
34581         * tests/unictype/test-categ_none.c: Likewise.
34582         * tests/unictype/test-categ_of.c: Likewise.
34583         * tests/unictype/test-categ_or.c: Likewise.
34584         * tests/unictype/test-categ_test_withtable.c: Likewise.
34585         * tests/unictype/test-combining.c: Likewise.
34586         * tests/unictype/test-decdigit.c: Likewise.
34587         * tests/unictype/test-digit.c: Likewise.
34588         * tests/unictype/test-mirror.c: Likewise.
34589         * tests/unictype/test-numeric.c: Likewise.
34590         * tests/unictype/test-pr_byname.c: Likewise.
34591         * tests/unictype/test-pr_test.c: Likewise.
34592         * tests/unictype/test-predicate-part1.h: Likewise.
34593         * tests/unictype/test-scripts.c: Likewise.
34594         * tests/unictype/test-sy_c_ident.c: Likewise.
34595         * tests/unictype/test-sy_java_ident.c: Likewise.
34596         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
34597         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
34598         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
34599         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
34600         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
34601         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
34602         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
34603         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
34604         * tests/uninorm/test-canonical-decomposition.c: Likewise.
34605         * tests/uninorm/test-compat-decomposition.c: Likewise.
34606         * tests/uninorm/test-composition.c: Likewise.
34607         * tests/uninorm/test-decomposing-form.c: Likewise.
34608         * tests/uninorm/test-decomposition.c: Likewise.
34609         * tests/uninorm/test-u8-nfc.c: Likewise.
34610         * tests/uninorm/test-u8-nfd.c: Likewise.
34611         * tests/uninorm/test-u8-nfkc.c: Likewise.
34612         * tests/uninorm/test-u8-nfkd.c: Likewise.
34613         * tests/uninorm/test-u8-normcmp.c: Likewise.
34614         * tests/uninorm/test-u8-normcoll.c: Likewise.
34615         * tests/uninorm/test-u16-nfc.c: Likewise.
34616         * tests/uninorm/test-u16-nfd.c: Likewise.
34617         * tests/uninorm/test-u16-nfkc.c: Likewise.
34618         * tests/uninorm/test-u16-nfkd.c: Likewise.
34619         * tests/uninorm/test-u16-normcmp.c: Likewise.
34620         * tests/uninorm/test-u16-normcoll.c: Likewise.
34621         * tests/uninorm/test-u32-nfc.c: Likewise.
34622         * tests/uninorm/test-u32-nfd.c: Likewise.
34623         * tests/uninorm/test-u32-nfkc.c: Likewise.
34624         * tests/uninorm/test-u32-nfkd.c: Likewise.
34625         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34626         * tests/uninorm/test-u32-normcmp.c: Likewise.
34627         * tests/uninorm/test-u32-normcoll.c: Likewise.
34628         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
34629         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34630         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34631         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34632         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34633         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34634         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34635         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34636         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34637         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34638         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34639         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34640         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34641         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34642         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34643         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34644         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34645         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34646         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34647         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34648         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34649         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34650         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34651         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34652         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34653         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34654         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34655         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34656         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34657         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
34658         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
34659         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
34660         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
34661         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34662         * tests/uniwidth/test-u8-width.c: Likewise.
34663         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34664         * tests/uniwidth/test-u16-width.c: Likewise.
34665         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34666         * tests/uniwidth/test-u32-width.c: Likewise.
34667         * tests/uniwidth/test-uc_width.c: Likewise.
34668         * tests/uniwidth/test-uc_width2.c: Likewise.
34669         * modules/acl-tests (Files): Add tests/macros.h.
34670         * modules/areadlink-tests (Files): Likewise.
34671         * modules/areadlink-with-size-tests (Files): Likewise.
34672         * modules/areadlinkat-tests (Files): Likewise.
34673         * modules/areadlinkat-with-size-tests (Files): Likewise.
34674         * modules/argmatch-tests (Files): Likewise.
34675         * modules/argv-iter-tests (Files): Likewise.
34676         * modules/array-list-tests (Files): Likewise.
34677         * modules/array-mergesort-tests (Files): Likewise.
34678         * modules/array-oset-tests (Files): Likewise.
34679         * modules/avltree-list-tests (Files): Likewise.
34680         * modules/avltree-oset-tests (Files): Likewise.
34681         * modules/avltreehash-list-tests (Files): Likewise.
34682         * modules/base64-tests (Files): Likewise.
34683         * modules/binary-io-tests (Files): Likewise.
34684         * modules/bitrotate-tests (Files): Likewise.
34685         * modules/btowc-tests (Files): Likewise.
34686         * modules/byteswap-tests (Files): Likewise.
34687         * modules/c-ctype-tests (Files): Likewise.
34688         * modules/c-stack-tests (Files): Likewise.
34689         * modules/c-strcase-tests (Files): Likewise.
34690         * modules/c-strcasestr-tests (Files): Likewise.
34691         * modules/c-strstr-tests (Files): Likewise.
34692         * modules/canonicalize-lgpl-tests (Files): Likewise.
34693         * modules/canonicalize-tests (Files): Likewise.
34694         * modules/carray-list-tests (Files): Likewise.
34695         * modules/ceilf-tests (Files): Likewise.
34696         * modules/ceill-tests (Files): Likewise.
34697         * modules/chown-tests (Files): Likewise.
34698         * modules/cloexec-tests (Files): Likewise.
34699         * modules/copy-file-tests (Files): Likewise.
34700         * modules/count-one-bits-tests (Files): Likewise.
34701         * modules/dprintf-posix-tests (Files): Likewise.
34702         * modules/dup2-tests (Files): Likewise.
34703         * modules/dup3-tests (Files): Likewise.
34704         * modules/duplocale-tests (Files): Likewise.
34705         * modules/fbufmode-tests (Files): Likewise.
34706         * modules/fchdir-tests (Files): Likewise.
34707         * modules/fcntl-safer-tests (Files): Likewise.
34708         * modules/fcntl-tests (Files): Likewise.
34709         * modules/fdopendir-tests (Files): Likewise.
34710         * modules/fdutimensat-tests (Files): Likewise.
34711         * modules/fflush-tests (Files): Likewise.
34712         * modules/filevercmp-tests (Files): Likewise.
34713         * modules/flock-tests (Files): Likewise.
34714         * modules/floorf-tests (Files): Likewise.
34715         * modules/floorl-tests (Files): Likewise.
34716         * modules/fnmatch-tests (Files): Likewise.
34717         * modules/fopen-safer-tests (Files): Likewise.
34718         * modules/fopen-tests (Files): Likewise.
34719         * modules/fpending-tests (Files): Likewise.
34720         * modules/fprintf-posix-tests (Files): Likewise.
34721         * modules/fpurge-tests (Files): Likewise.
34722         * modules/freadable-tests (Files): Likewise.
34723         * modules/freadahead-tests (Files): Likewise.
34724         * modules/freading-tests (Files): Likewise.
34725         * modules/freadptr-tests (Files): Likewise.
34726         * modules/freadseek-tests (Files): Likewise.
34727         * modules/freopen-tests (Files): Likewise.
34728         * modules/frexp-nolibm-tests (Files): Likewise.
34729         * modules/frexp-tests (Files): Likewise.
34730         * modules/frexpl-nolibm-tests (Files): Likewise.
34731         * modules/frexpl-tests (Files): Likewise.
34732         * modules/fseek-tests (Files): Likewise.
34733         * modules/fseeko-tests (Files): Likewise.
34734         * modules/fstrcmp-tests (Files): Likewise.
34735         * modules/fsync-tests (Files): Likewise.
34736         * modules/ftell-tests (Files): Likewise.
34737         * modules/ftello-tests (Files): Likewise.
34738         * modules/func-tests (Files): Likewise.
34739         * modules/futimens-tests (Files): Likewise.
34740         * modules/fwritable-tests (Files): Likewise.
34741         * modules/fwriting-tests (Files): Likewise.
34742         * modules/getcwd-tests (Files): Likewise.
34743         * modules/getdate-tests (Files): Likewise.
34744         * modules/getdelim-tests (Files): Likewise.
34745         * modules/getdtablesize-tests (Files): Likewise.
34746         * modules/getgroups-tests (Files): Likewise.
34747         * modules/getline-tests (Files): Likewise.
34748         * modules/getndelim2-tests (Files): Likewise.
34749         * modules/glob-tests (Files): Likewise.
34750         * modules/hash-tests (Files): Likewise.
34751         * modules/i-ring-tests (Files): Likewise.
34752         * modules/iconv-tests (Files): Likewise.
34753         * modules/iconv_open-utf-tests (Files): Likewise.
34754         * modules/idpriv-drop-tests (Files): Likewise.
34755         * modules/idpriv-droptemp-tests (Files): Likewise.
34756         * modules/inet_ntop-tests (Files): Likewise.
34757         * modules/inet_pton-tests (Files): Likewise.
34758         * modules/isblank-tests (Files): Likewise.
34759         * modules/isfinite-tests (Files): Likewise.
34760         * modules/isinf-tests (Files): Likewise.
34761         * modules/isnan-tests (Files): Likewise.
34762         * modules/isnand-nolibm-tests (Files): Likewise.
34763         * modules/isnand-tests (Files): Likewise.
34764         * modules/isnanf-nolibm-tests (Files): Likewise.
34765         * modules/isnanf-tests (Files): Likewise.
34766         * modules/isnanl-nolibm-tests (Files): Likewise.
34767         * modules/isnanl-tests (Files): Likewise.
34768         * modules/lchown-tests (Files): Likewise.
34769         * modules/ldexpl-tests (Files): Likewise.
34770         * modules/link-tests (Files): Likewise.
34771         * modules/linkat-tests (Files): Likewise.
34772         * modules/linked-list-tests (Files): Likewise.
34773         * modules/linkedhash-list-tests (Files): Likewise.
34774         * modules/localename-tests (Files): Likewise.
34775         * modules/lseek-tests (Files): Likewise.
34776         * modules/lstat-tests (Files): Likewise.
34777         * modules/mbmemcasecmp-tests (Files): Likewise.
34778         * modules/mbmemcasecoll-tests (Files): Likewise.
34779         * modules/mbrtowc-tests (Files): Likewise.
34780         * modules/mbscasecmp-tests (Files): Likewise.
34781         * modules/mbscasestr-tests (Files): Likewise.
34782         * modules/mbschr-tests (Files): Likewise.
34783         * modules/mbscspn-tests (Files): Likewise.
34784         * modules/mbsinit-tests (Files): Likewise.
34785         * modules/mbsncasecmp-tests (Files): Likewise.
34786         * modules/mbsnrtowcs-tests (Files): Likewise.
34787         * modules/mbspbrk-tests (Files): Likewise.
34788         * modules/mbspcasecmp-tests (Files): Likewise.
34789         * modules/mbsrchr-tests (Files): Likewise.
34790         * modules/mbsrtowcs-tests (Files): Likewise.
34791         * modules/mbsspn-tests (Files): Likewise.
34792         * modules/mbsstr-tests (Files): Likewise.
34793         * modules/memchr-tests (Files): Likewise.
34794         * modules/memchr2-tests (Files): Likewise.
34795         * modules/memcmp-tests (Files): Likewise.
34796         * modules/memmem-tests (Files): Likewise.
34797         * modules/memrchr-tests (Files): Likewise.
34798         * modules/mkdir-tests (Files): Likewise.
34799         * modules/mkfifo-tests (Files): Likewise.
34800         * modules/mkfifoat-tests (Files): Likewise.
34801         * modules/mknod-tests (Files): Likewise.
34802         * modules/nanosleep-tests (Files): Likewise.
34803         * modules/nl_langinfo-tests (Files): Likewise.
34804         * modules/obstack-printf-tests (Files): Likewise.
34805         * modules/open-tests (Files): Likewise.
34806         * modules/openat-tests (Files): Likewise.
34807         * modules/pipe-filter-gi-tests (Files): Likewise.
34808         * modules/pipe-filter-ii-tests (Files): Likewise.
34809         * modules/pipe2-tests (Files): Likewise.
34810         * modules/popen-safer-tests (Files): Likewise.
34811         * modules/popen-tests (Files): Likewise.
34812         * modules/posixtm-tests (Files): Likewise.
34813         * modules/pread-tests (Files): Likewise.
34814         * modules/printf-frexp-tests (Files): Likewise.
34815         * modules/printf-frexpl-tests (Files): Likewise.
34816         * modules/printf-posix-tests (Files): Likewise.
34817         * modules/priv-set-tests (Files): Likewise.
34818         * modules/quotearg-tests (Files): Likewise.
34819         * modules/random_r-tests (Files): Likewise.
34820         * modules/rawmemchr-tests (Files): Likewise.
34821         * modules/rbtree-list-tests (Files): Likewise.
34822         * modules/rbtree-oset-tests (Files): Likewise.
34823         * modules/rbtreehash-list-tests (Files): Likewise.
34824         * modules/readlink-tests (Files): Likewise.
34825         * modules/remove-tests (Files): Likewise.
34826         * modules/rename-tests (Files): Likewise.
34827         * modules/renameat-tests (Files): Likewise.
34828         * modules/rmdir-tests (Files): Likewise.
34829         * modules/round-tests (Files): Likewise.
34830         * modules/roundf-tests (Files): Likewise.
34831         * modules/roundl-tests (Files): Likewise.
34832         * modules/safe-alloc-tests (Files): Likewise.
34833         * modules/setenv-tests (Files): Likewise.
34834         * modules/sigaction-tests (Files): Likewise.
34835         * modules/signbit-tests (Files): Likewise.
34836         * modules/sleep-tests (Files): Likewise.
34837         * modules/snprintf-posix-tests (Files): Likewise.
34838         * modules/snprintf-tests (Files): Likewise.
34839         * modules/sprintf-posix-tests (Files): Likewise.
34840         * modules/stat-tests (Files): Likewise.
34841         * modules/stat-time-tests (Files): Likewise.
34842         * modules/strcasestr-tests (Files): Likewise.
34843         * modules/strchrnul-tests (Files): Likewise.
34844         * modules/strerror-tests (Files): Likewise.
34845         * modules/striconv-tests (Files): Likewise.
34846         * modules/striconveh-tests (Files): Likewise.
34847         * modules/striconveha-tests (Files): Likewise.
34848         * modules/strsignal-tests (Files): Likewise.
34849         * modules/strstr-tests (Files): Likewise.
34850         * modules/strtod-tests (Files): Likewise.
34851         * modules/strverscmp-tests (Files): Likewise.
34852         * modules/symlink-tests (Files): Likewise.
34853         * modules/symlinkat-tests (Files): Likewise.
34854         * modules/trunc-tests (Files): Likewise.
34855         * modules/truncf-tests (Files): Likewise.
34856         * modules/truncl-tests (Files): Likewise.
34857         * modules/uname-tests (Files): Likewise.
34858         * modules/unicase/cased-tests (Files): Likewise.
34859         * modules/unicase/ignorable-tests (Files): Likewise.
34860         * modules/unicase/locale-language-tests (Files): Likewise.
34861         * modules/unicase/tolower-tests (Files): Likewise.
34862         * modules/unicase/totitle-tests (Files): Likewise.
34863         * modules/unicase/toupper-tests (Files): Likewise.
34864         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34865         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34866         * modules/unicase/u8-casefold-tests (Files): Likewise.
34867         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34868         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34869         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34870         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34871         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34872         * modules/unicase/u8-tolower-tests (Files): Likewise.
34873         * modules/unicase/u8-totitle-tests (Files): Likewise.
34874         * modules/unicase/u8-toupper-tests (Files): Likewise.
34875         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34876         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34877         * modules/unicase/u16-casefold-tests (Files): Likewise.
34878         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34879         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34880         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34881         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34882         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34883         * modules/unicase/u16-tolower-tests (Files): Likewise.
34884         * modules/unicase/u16-totitle-tests (Files): Likewise.
34885         * modules/unicase/u16-toupper-tests (Files): Likewise.
34886         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34887         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34888         * modules/unicase/u32-casefold-tests (Files): Likewise.
34889         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34890         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34891         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34892         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34893         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34894         * modules/unicase/u32-tolower-tests (Files): Likewise.
34895         * modules/unicase/u32-totitle-tests (Files): Likewise.
34896         * modules/unicase/u32-toupper-tests (Files): Likewise.
34897         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34898         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34899         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34900         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34901         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34902         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34903         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34904         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34905         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34906         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34907         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34908         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34909         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34910         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34911         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34912         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34913         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34914         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34915         * modules/unictype/block-list-tests (Files): Likewise.
34916         * modules/unictype/block-of-tests (Files): Likewise.
34917         * modules/unictype/block-test-tests (Files): Likewise.
34918         * modules/unictype/category-C-tests (Files): Likewise.
34919         * modules/unictype/category-Cc-tests (Files): Likewise.
34920         * modules/unictype/category-Cf-tests (Files): Likewise.
34921         * modules/unictype/category-Cn-tests (Files): Likewise.
34922         * modules/unictype/category-Co-tests (Files): Likewise.
34923         * modules/unictype/category-Cs-tests (Files): Likewise.
34924         * modules/unictype/category-L-tests (Files): Likewise.
34925         * modules/unictype/category-Ll-tests (Files): Likewise.
34926         * modules/unictype/category-Lm-tests (Files): Likewise.
34927         * modules/unictype/category-Lo-tests (Files): Likewise.
34928         * modules/unictype/category-Lt-tests (Files): Likewise.
34929         * modules/unictype/category-Lu-tests (Files): Likewise.
34930         * modules/unictype/category-M-tests (Files): Likewise.
34931         * modules/unictype/category-Mc-tests (Files): Likewise.
34932         * modules/unictype/category-Me-tests (Files): Likewise.
34933         * modules/unictype/category-Mn-tests (Files): Likewise.
34934         * modules/unictype/category-N-tests (Files): Likewise.
34935         * modules/unictype/category-Nd-tests (Files): Likewise.
34936         * modules/unictype/category-Nl-tests (Files): Likewise.
34937         * modules/unictype/category-No-tests (Files): Likewise.
34938         * modules/unictype/category-P-tests (Files): Likewise.
34939         * modules/unictype/category-Pc-tests (Files): Likewise.
34940         * modules/unictype/category-Pd-tests (Files): Likewise.
34941         * modules/unictype/category-Pe-tests (Files): Likewise.
34942         * modules/unictype/category-Pf-tests (Files): Likewise.
34943         * modules/unictype/category-Pi-tests (Files): Likewise.
34944         * modules/unictype/category-Po-tests (Files): Likewise.
34945         * modules/unictype/category-Ps-tests (Files): Likewise.
34946         * modules/unictype/category-S-tests (Files): Likewise.
34947         * modules/unictype/category-Sc-tests (Files): Likewise.
34948         * modules/unictype/category-Sk-tests (Files): Likewise.
34949         * modules/unictype/category-Sm-tests (Files): Likewise.
34950         * modules/unictype/category-So-tests (Files): Likewise.
34951         * modules/unictype/category-Z-tests (Files): Likewise.
34952         * modules/unictype/category-Zl-tests (Files): Likewise.
34953         * modules/unictype/category-Zp-tests (Files): Likewise.
34954         * modules/unictype/category-Zs-tests (Files): Likewise.
34955         * modules/unictype/category-and-not-tests (Files): Likewise.
34956         * modules/unictype/category-and-tests (Files): Likewise.
34957         * modules/unictype/category-byname-tests (Files): Likewise.
34958         * modules/unictype/category-name-tests (Files): Likewise.
34959         * modules/unictype/category-none-tests (Files): Likewise.
34960         * modules/unictype/category-of-tests (Files): Likewise.
34961         * modules/unictype/category-or-tests (Files): Likewise.
34962         * modules/unictype/category-test-withtable-tests (Files): Likewise.
34963         * modules/unictype/combining-class-tests (Files): Likewise.
34964         * modules/unictype/ctype-alnum-tests (Files): Likewise.
34965         * modules/unictype/ctype-alpha-tests (Files): Likewise.
34966         * modules/unictype/ctype-blank-tests (Files): Likewise.
34967         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
34968         * modules/unictype/ctype-digit-tests (Files): Likewise.
34969         * modules/unictype/ctype-graph-tests (Files): Likewise.
34970         * modules/unictype/ctype-lower-tests (Files): Likewise.
34971         * modules/unictype/ctype-print-tests (Files): Likewise.
34972         * modules/unictype/ctype-punct-tests (Files): Likewise.
34973         * modules/unictype/ctype-space-tests (Files): Likewise.
34974         * modules/unictype/ctype-upper-tests (Files): Likewise.
34975         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
34976         * modules/unictype/decimal-digit-tests (Files): Likewise.
34977         * modules/unictype/digit-tests (Files): Likewise.
34978         * modules/unictype/mirror-tests (Files): Likewise.
34979         * modules/unictype/numeric-tests (Files): Likewise.
34980         * modules/unictype/property-alphabetic-tests (Files): Likewise.
34981         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
34982         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
34983         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
34984         Likewise.
34985         * modules/unictype/property-bidi-block-separator-tests (Files):
34986         Likewise.
34987         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
34988         Likewise.
34989         * modules/unictype/property-bidi-common-separator-tests (Files):
34990         Likewise.
34991         * modules/unictype/property-bidi-control-tests (Files): Likewise.
34992         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
34993         Likewise.
34994         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
34995         Likewise.
34996         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
34997         Likewise.
34998         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
34999         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
35000         Likewise.
35001         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
35002         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
35003         Likewise.
35004         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
35005         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
35006         * modules/unictype/property-bidi-segment-separator-tests (Files):
35007         Likewise.
35008         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
35009         * modules/unictype/property-byname-tests (Files): Likewise.
35010         * modules/unictype/property-combining-tests (Files): Likewise.
35011         * modules/unictype/property-composite-tests (Files): Likewise.
35012         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
35013         * modules/unictype/property-dash-tests (Files): Likewise.
35014         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
35015         * modules/unictype/property-default-ignorable-code-point-tests (Files):
35016         Likewise.
35017         * modules/unictype/property-deprecated-tests (Files): Likewise.
35018         * modules/unictype/property-diacritic-tests (Files): Likewise.
35019         * modules/unictype/property-extender-tests (Files): Likewise.
35020         * modules/unictype/property-format-control-tests (Files): Likewise.
35021         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
35022         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
35023         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
35024         * modules/unictype/property-hex-digit-tests (Files): Likewise.
35025         * modules/unictype/property-hyphen-tests (Files): Likewise.
35026         * modules/unictype/property-id-continue-tests (Files): Likewise.
35027         * modules/unictype/property-id-start-tests (Files): Likewise.
35028         * modules/unictype/property-ideographic-tests (Files): Likewise.
35029         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
35030         * modules/unictype/property-ids-trinary-operator-tests (Files):
35031         Likewise.
35032         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
35033         * modules/unictype/property-iso-control-tests (Files): Likewise.
35034         * modules/unictype/property-join-control-tests (Files): Likewise.
35035         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
35036         * modules/unictype/property-line-separator-tests (Files): Likewise.
35037         * modules/unictype/property-logical-order-exception-tests (Files):
35038         Likewise.
35039         * modules/unictype/property-lowercase-tests (Files): Likewise.
35040         * modules/unictype/property-math-tests (Files): Likewise.
35041         * modules/unictype/property-non-break-tests (Files): Likewise.
35042         * modules/unictype/property-not-a-character-tests (Files): Likewise.
35043         * modules/unictype/property-numeric-tests (Files): Likewise.
35044         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
35045         * modules/unictype/property-other-default-ignorable-code-point-tests
35046         (Files): Likewise.
35047         * modules/unictype/property-other-grapheme-extend-tests (Files):
35048         Likewise.
35049         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
35050         * modules/unictype/property-other-id-start-tests (Files): Likewise.
35051         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
35052         * modules/unictype/property-other-math-tests (Files): Likewise.
35053         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
35054         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
35055         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
35056         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
35057         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
35058         * modules/unictype/property-private-use-tests (Files): Likewise.
35059         * modules/unictype/property-punctuation-tests (Files): Likewise.
35060         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
35061         * modules/unictype/property-radical-tests (Files): Likewise.
35062         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
35063         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
35064         * modules/unictype/property-space-tests (Files): Likewise.
35065         * modules/unictype/property-terminal-punctuation-tests (Files):
35066         Likewise.
35067         * modules/unictype/property-test-tests (Files): Likewise.
35068         * modules/unictype/property-titlecase-tests (Files): Likewise.
35069         * modules/unictype/property-unassigned-code-value-tests (Files):
35070         Likewise.
35071         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
35072         * modules/unictype/property-uppercase-tests (Files): Likewise.
35073         * modules/unictype/property-variation-selector-tests (Files): Likewise.
35074         * modules/unictype/property-white-space-tests (Files): Likewise.
35075         * modules/unictype/property-xid-continue-tests (Files): Likewise.
35076         * modules/unictype/property-xid-start-tests (Files): Likewise.
35077         * modules/unictype/property-zero-width-tests (Files): Likewise.
35078         * modules/unictype/scripts-tests (Files): Likewise.
35079         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
35080         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
35081         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
35082         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
35083         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
35084         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
35085         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
35086         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
35087         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
35088         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
35089         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
35090         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
35091         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
35092         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
35093         * modules/uninorm/composition-tests (Files): Likewise.
35094         * modules/uninorm/decomposing-form-tests (Files): Likewise.
35095         * modules/uninorm/decomposition-tests (Files): Likewise.
35096         * modules/uninorm/filter-tests (Files): Likewise.
35097         * modules/uninorm/nfc-tests (Files): Likewise.
35098         * modules/uninorm/nfd-tests (Files): Likewise.
35099         * modules/uninorm/nfkc-tests (Files): Likewise.
35100         * modules/uninorm/nfkd-tests (Files): Likewise.
35101         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
35102         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
35103         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
35104         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
35105         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
35106         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
35107         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
35108         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35109         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
35110         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
35111         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
35112         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
35113         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35114         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
35115         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
35116         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
35117         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
35118         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35119         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
35120         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
35121         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
35122         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
35123         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35124         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
35125         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
35126         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
35127         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
35128         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
35129         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
35130         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
35131         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
35132         * modules/uniwidth/u8-width-tests (Files): Likewise.
35133         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
35134         * modules/uniwidth/u16-width-tests (Files): Likewise.
35135         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
35136         * modules/uniwidth/u32-width-tests (Files): Likewise.
35137         * modules/uniwidth/width-tests (Files): Likewise.
35138         * modules/unlink-tests (Files): Likewise.
35139         * modules/unsetenv-tests (Files): Likewise.
35140         * modules/usleep-tests (Files): Likewise.
35141         * modules/utimens-tests (Files): Likewise.
35142         * modules/utimensat-tests (Files): Likewise.
35143         * modules/vasnprintf-posix-tests (Files): Likewise.
35144         * modules/vasnprintf-tests (Files): Likewise.
35145         * modules/vasprintf-posix-tests (Files): Likewise.
35146         * modules/vasprintf-tests (Files): Likewise.
35147         * modules/vdprintf-posix-tests (Files): Likewise.
35148         * modules/vfprintf-posix-tests (Files): Likewise.
35149         * modules/vprintf-posix-tests (Files): Likewise.
35150         * modules/vsnprintf-posix-tests (Files): Likewise.
35151         * modules/vsnprintf-tests (Files): Likewise.
35152         * modules/vsprintf-posix-tests (Files): Likewise.
35153         * modules/wcrtomb-tests (Files): Likewise.
35154         * modules/wcsnrtombs-tests (Files): Likewise.
35155         * modules/wcsrtombs-tests (Files): Likewise.
35156         * modules/wctype-tests (Files): Likewise.
35157         * modules/wcwidth-tests (Files): Likewise.
35158         * modules/xmemdup0-tests (Files): Likewise.
35159         * modules/xprintf-posix-tests (Files): Likewise.
35160         * modules/xvasprintf-tests (Files): Likewise.
35161
35162 2009-12-24  Eric Blake  <ebb9@byu.net>
35163
35164         test-nanosleep: fix typo
35165         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
35166         patch.
35167         Reported by Bruno Haible.
35168
35169 2009-12-24  Bruno Haible  <bruno@clisp.org>
35170
35171         Reduce namespace pollution on glibc systems.
35172         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
35173         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
35174         systems.
35175         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
35176         <getopt.h> on glibc systems.
35177         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
35178         systems.
35179         * lib/fcntl.c: Include <unistd.h> here instead.
35180
35181 2009-12-24  Bruno Haible  <bruno@clisp.org>
35182
35183         * lib/stdlib.in.h (includes): Fix typo in today's commit.
35184
35185 2009-12-24  Eric Blake  <ebb9@byu.net>
35186
35187         tests: add signature checks
35188         * tests/signature.h (SIGNATURE_CHECK): New file.
35189         * modules/atexit-tests (Files): Use it.
35190         * modules/btowc-tests (Files): Likewise.
35191         * modules/canonicalize-lgpl-tests (Files): Likewise.
35192         * modules/ceilf-tests (Files): Likewise.
35193         * modules/ceill-tests (Files): Likewise.
35194         * modules/chown-tests (Files): Likewise.
35195         * modules/dprintf-posix-tests (Files): Likewise.
35196         * modules/dup2-tests (Files): Likewise.
35197         * modules/dup3-tests (Files): Likewise.
35198         * modules/duplocale-tests (Files): Likewise.
35199         * modules/fchdir-tests (Files): Likewise.
35200         * modules/fcntl-tests (Files): Likewise.
35201         * modules/fdopendir-tests (Files): Likewise.
35202         * modules/fflush-tests (Files): Likewise.
35203         * modules/flock-tests (Files): Likewise.
35204         * modules/floorf-tests (Files): Likewise.
35205         * modules/floorl-tests (Files): Likewise.
35206         * modules/fnmatch-tests (Files): Likewise.
35207         * modules/fopen-tests (Files): Likewise.
35208         * modules/fprintf-posix-tests (Files): Likewise.
35209         * modules/freopen-tests (Files): Likewise.
35210         * modules/frexp-nolibm-tests (Files): Likewise.
35211         * modules/frexp-tests (Files): Likewise.
35212         * modules/frexpl-nolibm-tests (Files): Likewise.
35213         * modules/frexpl-tests (Files): Likewise.
35214         * modules/fseek-tests (Files): Likewise.
35215         * modules/fseeko-tests (Files): Likewise.
35216         * modules/fsync-tests (Files): Likewise.
35217         * modules/ftell-tests (Files): Likewise.
35218         * modules/ftello-tests (Files): Likewise.
35219         * modules/futimens-tests (Files): Likewise.
35220         * modules/getaddrinfo-tests (Files): Likewise.
35221         * modules/getcwd-tests (Files): Likewise.
35222         * modules/getdelim-tests (Files): Likewise.
35223         * modules/getdtablesize-tests (Files): Likewise.
35224         * modules/getgroups-tests (Files): Likewise.
35225         * modules/gethostname-tests (Files): Likewise.
35226         * modules/getline-tests (Files): Likewise.
35227         * modules/getopt-posix-tests (Files): Likewise.
35228         * modules/gettimeofday-tests (Files): Likewise.
35229         * modules/glob-tests (Files): Likewise.
35230         * modules/iconv-tests (Files): Likewise.
35231         * modules/inet_ntop-tests (Files): Likewise.
35232         * modules/inet_pton-tests (Files): Likewise.
35233         * modules/isblank-tests (Files): Likewise.
35234         * modules/lchown-tests (Files): Likewise.
35235         * modules/ldexpl-tests (Files): Likewise.
35236         * modules/link-tests (Files): Likewise.
35237         * modules/linkat-tests (Files): Likewise.
35238         * modules/lseek-tests (Files): Likewise.
35239         * modules/lstat-tests (Files): Likewise.
35240         * modules/mbrtowc-tests (Files): Likewise.
35241         * modules/mbsinit-tests (Files): Likewise.
35242         * modules/mbsnrtowcs-tests (Files): Likewise.
35243         * modules/mbsrtowcs-tests (Files): Likewise.
35244         * modules/memchr-tests (Files): Likewise.
35245         * modules/memcmp-tests (Files): Likewise.
35246         * modules/memmem-tests (Files): Likewise.
35247         * modules/memrchr-tests (Files): Likewise.
35248         * modules/mkdir-tests (Files): Likewise.
35249         * modules/mkfifo-tests (Files): Likewise.
35250         * modules/mkfifoat-tests (Files): Likewise.
35251         * modules/mknod-tests (Files): Likewise.
35252         * modules/nanosleep-tests (Files): Likewise.
35253         * modules/nl_langinfo-tests (Files): Likewise.
35254         * modules/obstack-printf-tests (Files): Likewise.
35255         * modules/open-tests (Files): Likewise.
35256         * modules/openat-tests (Files): Likewise.
35257         * modules/perror-tests (Files): Likewise.
35258         * modules/pipe2-tests (Files): Likewise.
35259         * modules/poll-tests (Files): Likewise.
35260         * modules/popen-tests (Files): Likewise.
35261         * modules/posix_spawn-tests (Files): Likewise.
35262         * modules/posix_spawnp-tests (Files): Likewise.
35263         * modules/pread-tests (Files): Likewise.
35264         * modules/printf-posix-tests (Files): Likewise.
35265         * modules/pty-tests (Files): Likewise.
35266         * modules/random_r-tests (Files): Likewise.
35267         * modules/rawmemchr-tests (Files): Likewise.
35268         * modules/readlink-tests (Files): Likewise.
35269         * modules/remove-tests (Files): Likewise.
35270         * modules/rename-tests (Files): Likewise.
35271         * modules/renameat-tests (Files): Likewise.
35272         * modules/rmdir-tests (Files): Likewise.
35273         * modules/round-tests (Files): Likewise.
35274         * modules/roundf-tests (Files): Likewise.
35275         * modules/roundl-tests (Files): Likewise.
35276         * modules/select-tests (Files): Likewise.
35277         * modules/setenv-tests (Files): Likewise.
35278         * modules/sigaction-tests (Files): Likewise.
35279         * modules/sleep-tests (Files): Likewise.
35280         * modules/snprintf-posix-tests (Files): Likewise.
35281         * modules/snprintf-tests (Files): Likewise.
35282         * modules/sprintf-posix-tests (Files): Likewise.
35283         * modules/stat-tests (Files): Likewise.
35284         * modules/strcasestr-tests (Files): Likewise.
35285         * modules/strchrnul-tests (Files): Likewise.
35286         * modules/strerror-tests (Files): Likewise.
35287         * modules/strsignal-tests (Files): Likewise.
35288         * modules/strstr-tests (Files): Likewise.
35289         * modules/strtod-tests (Files): Likewise.
35290         * modules/strverscmp-tests (Files): Likewise.
35291         * modules/symlink-tests (Files): Likewise.
35292         * modules/symlinkat-tests (Files): Likewise.
35293         * modules/times-tests (Files): Likewise.
35294         * modules/trunc-tests (Files): Likewise.
35295         * modules/truncf-tests (Files): Likewise.
35296         * modules/truncl-tests (Files): Likewise.
35297         * modules/tsearch-tests (Files): Likewise.
35298         * modules/uname-tests (Files): Likewise.
35299         * modules/unlink-tests (Files): Likewise.
35300         * modules/unsetenv-tests (Files): Likewise.
35301         * modules/usleep-tests (Files): Likewise.
35302         * modules/utimensat-tests (Files): Likewise.
35303         * modules/vasprintf-tests (Files): Likewise.
35304         * modules/vdprintf-posix-tests (Files): Likewise.
35305         * modules/vfprintf-posix-tests (Files): Likewise.
35306         * modules/vprintf-posix-tests (Files): Likewise.
35307         * modules/vsnprintf-posix-tests (Files): Likewise.
35308         * modules/vsnprintf-tests (Files): Likewise.
35309         * modules/vsprintf-posix-tests (Files): Likewise.
35310         * modules/wcrtomb-tests (Files): Likewise.
35311         * modules/wcsnrtombs-tests (Files): Likewise.
35312         * modules/wcsrtombs-tests (Files): Likewise.
35313         * modules/wcwidth-tests (Files): Likewise.
35314         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
35315         * tests/test-isinf.c (isinf): Likewise.
35316         * tests/test-isnan.c (isnan): Likewise.
35317         * tests/test-signbit.c (signbit): Likewise.
35318         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
35319         declaration, either as macro or with correct signature.
35320         (select): Ensure function under test is declared with correct
35321         signature in correct header.
35322         * tests/test-atexit.c (atexit): Likewise.
35323         * tests/test-btowc.c (btowc): Likewise.
35324         * tests/test-canonicalize-lgpl.c (realpath)
35325         (canonicalize_file_name): Likewise.
35326         * tests/test-ceilf1.c (ceilf): Likewise.
35327         * tests/test-ceill.c (ceill): Likewise.
35328         * tests/test-chown.c (chown): Likewise.
35329         * tests/test-dprintf-posix.c (dprintf): Likewise.
35330         * tests/test-dup2.c (dup2): Likewise.
35331         * tests/test-dup3.c (dup3): Likewise.
35332         * tests/test-duplocale.c (duplocale): Likewise.
35333         * tests/test-fchdir.c (fchdir): Likewise.
35334         * tests/test-fchownat.c (fchownat): Likewise.
35335         * tests/test-fcntl.c (fcntl): Likewise.
35336         * tests/test-fdopendir.c (fdopendir): Likewise.
35337         * tests/test-fflush.c (fflush): Likewise.
35338         * tests/test-flock.c (flock): Likewise.
35339         * tests/test-floorf1.c (floorf): Likewise.
35340         * tests/test-floorl.c (floorl): Likewise.
35341         * tests/test-fnmatch.c (fnmatch): Likewise.
35342         * tests/test-fopen.c (fopen): Likewise.
35343         * tests/test-fprintf-posix.c (fprintf): Likewise.
35344         * tests/test-freopen.c (freopen): Likewise.
35345         * tests/test-frexp.c (frexp): Likewise.
35346         * tests/test-frexpl.c (frexpl): Likewise.
35347         * tests/test-fseek.c (fseek): Likewise.
35348         * tests/test-fseeko.c (fseeko): Likewise.
35349         * tests/test-fstatat.c (fstatat): Likewise.
35350         * tests/test-fsync.c (fsync): Likewise.
35351         * tests/test-ftell.c (ftell): Likewise.
35352         * tests/test-ftello.c (ftello): Likewise.
35353         * tests/test-futimens.c (futimens): Likewise.
35354         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
35355         (gai_strerror): Likewise.
35356         * tests/test-getcwd.c (getcwd): Likewise.
35357         * tests/test-getdelim.c (getdelim): Likewise.
35358         * tests/test-getdtablesize.c (getdtablesize): Likewise.
35359         * tests/test-getgroups.c (getgroups): Likewise.
35360         * tests/test-gethostname.c (gethostname): Likewise.
35361         * tests/test-getline.c (getline): Likewise.
35362         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
35363         Likewise.
35364         * tests/test-gettimeofday.c (gettimeofday): Likewise.
35365         * tests/test-glob.c (glob, globfree): Likewise.
35366         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
35367         * tests/test-inet_ntop.c (inet_ntop): Likewise.
35368         * tests/test-inet_pton.c (inet_pton): Likewise.
35369         * tests/test-isblank.c (isblank): Likewise.
35370         * tests/test-lchown.c (lchown): Likewise.
35371         * tests/test-ldexpl.c (ldexpl): Likewise.
35372         * tests/test-link.c (link): Likewise.
35373         * tests/test-linkat.c (linkat): Likewise.
35374         * tests/test-lseek.c (lseek): Likewise.
35375         * tests/test-lstat.c (lstat): Likewise.
35376         * tests/test-mbrtowc.c (mbrtowc): Likewise.
35377         * tests/test-mbsinit.c (mbsinit): Likewise.
35378         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
35379         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
35380         * tests/test-memchr.c (memchr): Likewise.
35381         * tests/test-memcmp.c (memcmp): Likewise.
35382         * tests/test-memmem.c (memmem): Likewise.
35383         * tests/test-memrchr.c (memrchr): Likewise.
35384         * tests/test-mkdir.c (mkdir): Likewise.
35385         * tests/test-mkdirat.c (mkdirat): Likewise.
35386         * tests/test-mkfifo.c (mkfifo): Likewise.
35387         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
35388         * tests/test-mknod.c (mknod): Likewise.
35389         * tests/test-nanosleep.c (nanosleep): Likewise.
35390         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
35391         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
35392         Likewise.
35393         * tests/test-open.c (open): Likewise.
35394         * tests/test-openat.c (openat): Likewise.
35395         * tests/test-perror.c (perror): Likewise.
35396         * tests/test-pipe2.c (pipe2): Likewise.
35397         * tests/test-poll.c (poll): Likewise.
35398         * tests/test-popen.c (popen, pclose): Likewise.
35399         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
35400         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
35401         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
35402         (posix_spawn_file_actions_destroy)
35403         (posix_spawn_file_actions_addclose)
35404         (posix_spawn_file_actions_addopen)
35405         (posix_spawn_file_actions_adddup2): Likewise.
35406         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
35407         * tests/test-pread.c (pread): Likewise.
35408         * tests/test-printf-posix.c (printf): Likewise.
35409         * tests/test-pty.c (openpty, forkpty): Likewise.
35410         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
35411         (random_r): Likewise.
35412         * tests/test-rawmemchr.c (rawmemchr): Likewise.
35413         * tests/test-readlink.c (readlink): Likewise.
35414         * tests/test-remove.c (remove): Likewise.
35415         * tests/test-rename.c (rename): Likewise.
35416         * tests/test-renameat.c (renameat): Likewise.
35417         * tests/test-rmdir.c (rmdir): Likewise.
35418         * tests/test-round1.c (round): Likewise.
35419         * tests/test-roundf1.c (roundf): Likewise.
35420         * tests/test-roundl.c (roundl): Likewise.
35421         * tests/test-setenv.c (setenv): Likewise.
35422         * tests/test-sigaction.c (sigaction): Likewise.
35423         * tests/test-sleep.c (sleep): Likewise.
35424         * tests/test-snprintf.c (snprintf): Likewise.
35425         * tests/test-sprintf-posix.c (sprintf): Likewise.
35426         * tests/test-stat.c (stat): Likewise.
35427         * tests/test-stpncpy.c (stpncpy): Likewise.
35428         * tests/test-strcasestr.c (strcasestr): Likewise.
35429         * tests/test-strchrnul.c (strchrnul): Likewise.
35430         * tests/test-strerror.c (strerror): Likewise.
35431         * tests/test-strsignal.c (strsignal): Likewise.
35432         * tests/test-strstr.c (strstr): Likewise.
35433         * tests/test-strtod.c (strtod): Likewise.
35434         * tests/test-strverscmp.c (strverscmp): Likewise.
35435         * tests/test-symlink.c (symlink): Likewise.
35436         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
35437         * tests/test-times.c (times): Likewise.
35438         * tests/test-trunc1.c (trunc): Likewise.
35439         * tests/test-truncf1.c (truncf): Likewise.
35440         * tests/test-truncl.c (truncl): Likewise.
35441         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
35442         Likewise.
35443         * tests/test-uname.c (uname): Likewise.
35444         * tests/test-unlink.c (unlink): Likewise.
35445         * tests/test-unlinkat.c (unlinkat): Likewise.
35446         * tests/test-unsetenv.c (unsetenv): Likewise.
35447         * tests/test-usleep.c (usleep): Likewise.
35448         * tests/test-utimensat.c (utimensat): Likewise.
35449         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
35450         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
35451         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
35452         * tests/test-vprintf-posix.c (vprintf): Likewise.
35453         * tests/test-vsnprintf.c (vsnprintf): Likewise.
35454         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
35455         * tests/test-wcrtomb.c (wcrtomb): Likewise.
35456         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
35457         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
35458         * tests/test-wcwidth.c (wcwidth): Likewise.
35459
35460         build: pull in conditional headers during GNULIB_POSIXCHECK
35461         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
35462         definitions from any conditionally-included headers.
35463         * lib/stdlib.in.h (includes): Likewise.
35464         * lib/unistd.in.h (includes): Likewise.
35465
35466 2009-12-24  Bruno Haible  <bruno@clisp.org>
35467
35468         * tests/test-argv-iter.c: Include header file being tested immediately
35469         after config.h.
35470         * tests/test-base64.c: Likewise.
35471         * tests/test-flock.c: Likewise.
35472         * tests/test-fsync.c: Likewise.
35473         * tests/test-getdate.c: Likewise.
35474         * tests/test-getndelim2.c: Likewise.
35475         * tests/test-isfinite.c: Likewise.
35476         * tests/test-isinf.c: Likewise.
35477         * tests/test-strerror.c: Likewise.
35478         * tests/test-strsignal.c: Likewise.
35479
35480 2009-12-23  Eric Blake  <ebb9@byu.net>
35481
35482         unistd: work around cygwin bug
35483         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
35484         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
35485         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35486
35487 2009-12-23  Bruno Haible  <bruno@clisp.org>
35488
35489         localename: More tests.
35490         * tests/test-localename.c (SIZEOF): New macro.
35491         (categories): New variable.
35492         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
35493         test_locale_name_default): Add test w.r.t. thread locale.
35494         (test_locale_name_thread): New function.
35495         (main): Invoke it.
35496
35497         localename: Make aware of thread locale.
35498         * lib/localename.h (gl_locale_name_thread): New declaration.
35499         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
35500         behaviour with respect to thread locale.
35501         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
35502         <langinfo.h>, glthread/lock.h.
35503         (SIZE_BITS): New macro.
35504         (string_hash): New function.
35505         (struct hash_node): New type.
35506         (HASH_TABLE_SIZE): New macro.
35507         (struniq_hash_table, struniq_lock): New variables.
35508         (struniq): New function.
35509         (gl_locale_name_thread): New function.
35510         (gl_locale_name): Invoke it.
35511         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
35512         * modules/localename (Depends-on): Add lock.
35513         Reported by Mike Gran <spk121@yahoo.com>.
35514
35515 2009-12-23  Eric Blake  <ebb9@byu.net>
35516
35517         va-args: new module
35518         * modules/va-args: New file.
35519         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
35520         * MODULES.html.sh (Core language properties): Mention it.
35521
35522         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
35523         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
35524         named alias for __attribute__((__unused__)).
35525         * lib/chown.c: Update client.
35526         * lib/fchmodat.c: Likewise.
35527         * lib/fts.c: Likewise.
35528         * lib/getdate.y: Likewise.
35529         * lib/getgroups.c: Likewise.
35530         * lib/getopt.c: Likewise.
35531         * lib/getugroups.c: Likewise.
35532         * lib/mkdir.c: Likewise.
35533         * lib/mkfifo.c: Likewise.
35534         * lib/mkfifoat.c: Likewise.
35535         * lib/mknod.c: Likewise.
35536         * lib/mknodat.c: Likewise.
35537         * lib/readlink.c: Likewise.
35538         * lib/se-context.in.h: Likewise.
35539         * lib/se-selinux.in.h: Likewise.
35540         * lib/sockets.c: Likewise.
35541         * lib/symlink.c: Likewise.
35542         * lib/symlinkat.c: Likewise.
35543         * lib/unicodeio.c: Likewise.
35544         * lib/unistr.h: Likewise.
35545         * tests/test-areadlink.c: Likewise.
35546         * tests/test-areadlinkat.c: Likewise.
35547         * tests/test-filenamecat.c: Likewise.
35548         * tests/test-fseeko.c: Likewise.
35549         * tests/test-ftello.c: Likewise.
35550         * tests/test-getdate.c: Likewise.
35551         * tests/test-getgroups.c: Likewise.
35552         * tests/test-gethostname.c: Likewise.
35553         * tests/test-quotearg.c: Likewise.
35554         * tests/test-version-etc.c: Likewise.
35555         * tests/test-xalloc-die.c: Likewise.
35556         * tests/test-xfprintf-posix.c: Likewise.
35557         * tests/test-xprintf-posix.c: Likewise.
35558         * tests/test-xvasprintf.c: Likewise.
35559
35560         tests: avoid compiler warnings
35561         * tests/test-fcntl.c (main): Delete unused parameters.
35562         * tests/test-freopen-safer.c (main): Likewise.
35563         * tests/test-xalloc-die.c (main): Mark unused parameters.
35564         * tests/test-fseeko.c (main): Likewise.
35565         * tests/test-ftello.c (main): Likewise.
35566         * tests/test-nanosleep.c (main): Avoid declaration warning.
35567         * tests/test-sleep.c (main): Likewise.
35568         * tests/test-unsetenv.c (main): Silence warning about string
35569         literal.
35570         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
35571
35572 2009-12-23  Bruno Haible  <bruno@clisp.org>
35573
35574         * tests/test-localename.c (test_locale_name): New function, extracted
35575         from main. Also test mixed situations.
35576         (test_locale_name_posix, test_locale_name_environ,
35577         test_locale_name_default): New functions.
35578         (main): Invoke them all.
35579         * modules/localename-tests (configure.ac): Test for newlocale.
35580
35581 2009-12-23  Bruno Haible  <bruno@clisp.org>
35582
35583         unistd: Ensure getcwd gets declared before being overridden.
35584         * lib/unistd.in.h: Conditionally include <io.h>.
35585
35586 2009-12-22  Bruno Haible  <bruno@clisp.org>
35587
35588         wchar: Diagnose broken combination of glibc and gcc versions and flags.
35589         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
35590         (gl_WCHAR_H): Invoke it.
35591         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
35592         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
35593         Reported by Karl Berry <karl@freefriends.org>.
35594
35595 2009-12-22  Eric Blake  <ebb9@byu.net>
35596
35597         math, unistd: avoid redundant includes
35598         * lib/math.in.h (isnan): No need to re-include <math.h>.
35599         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
35600
35601         getsubopt: work around cygwin bug
35602         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
35603         avoid conflicting with system getsubopt.
35604         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
35605         bug.
35606
35607         getopt: synchronize from glibc
35608         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
35609         parameter order.  Adjust all callers.
35610         (_getopt_internal_r, main): Adjust quoting in error messages.
35611         Drop considerations for outdated POSIX 1003.2 error message.
35612         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
35613         callers.
35614         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
35615
35616         test-getopt: test stderr behavior
35617         * modules/getopt-posix-tests (Depends-on): Add dup2.
35618         * tests/test-getopt.c (ASSERT): Avoid stderr.
35619         (main): Move stderr to a temporary file.
35620         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
35621         Instead, add parameter to inform caller if output occurred.
35622         (test_getopt): Adjust all existing tests to expect silence, and
35623         add new tests of leading ":".
35624         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35625         glibc shortcomings with leading "-:" or "+:" in optstring.
35626         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35627         Likewise.
35628         * doc/posix-functions/getopt.texi (getopt): Likewise.
35629
35630         test-getopt: enhance test
35631         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
35632         supports optind=0.
35633         * tests/test-getopt.c (OPTIND_MIN): Move...
35634         * tests/test-getopt.h (OPTIND_MIN): ...here.
35635         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
35636         Require that optind=0 works, since modern BSD supports it in
35637         addition to optreset, and since coreutils expects it.
35638         (test_getopt_long_only): New test.
35639         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35640         glibc shortcomings with 'W;', and enforcement of optind=0.
35641         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35642         Likewise.
35643
35644 2009-12-21  Bruno Haible  <bruno@clisp.org>
35645
35646         localename: Improvements for MacOS X and Cygwin.
35647         * lib/localename.h (gl_locale_name_environ): New declaration.
35648         * lib/localename.c (gl_locale_name_environ): New function, extracted from
35649         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
35650         (gl_locale_name_posix): Invoke it.
35651         (gl_locale_name_default): Add comments. Use Windows native API also on
35652         Cygwin.
35653
35654 2009-12-21  Bruno Haible  <bruno@clisp.org>
35655
35656         Update list of Win32 locale ids.
35657         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
35658         (LANG_SAMI): Renamed from LANG_SAAMI.
35659         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
35660         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
35661         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
35662         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
35663         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
35664         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
35665         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
35666         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
35667         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
35668         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
35669         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
35670         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
35671         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
35672         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
35673         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
35674         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
35675         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
35676         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
35677         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
35678         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35679         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35680         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35681         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35682         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35683         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35684         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35685         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35686         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35687         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35688         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35689         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35690         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35691         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35692         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35693         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35694         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35695         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35696         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35697         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35698         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35699         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35700         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35701         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35702         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35703         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35704         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35705         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35706         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35707         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35708         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35709         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35710         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35711         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35712         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35713         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35714         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35715         Add more languages and countries for Sami, Sorbian. Add more countries
35716         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35717         for Pashto. Change country for Syriac, Tswana.
35718
35719 2009-12-21  Eric Blake  <ebb9@byu.net>
35720
35721         test-utimens: avoid spurious failure
35722         * tests/test-chown.h (nap): Factor...
35723         * tests/nap.h: ...into new file.
35724         * tests/test-lchown.h (nap): Avoid duplication.
35725         * tests/test-utimens-common.h (nap): Use shared implementation,
35726         necessary on file systems with 1-second resolution.
35727         * modules/chown-tests (Files): Include new file.
35728         * modules/fdutimensat-tests (Files): Likewise.
35729         * modules/futimens-tests (Files): Likewise.
35730         * modules/lchown-tests (Files): Likewise.
35731         * modules/openat-tests (Files): Likewise.
35732         * modules/utimens-tests (Files): Likewise.
35733         * modules/utimensat-tests (Files): Likewise.
35734
35735 2009-12-19  Eric Blake  <ebb9@byu.net>
35736
35737         futimens, utimensat: work around Linux bug
35738         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35739         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35740         * lib/utimensat.c (rpl_utimensat): Work around it.
35741         * lib/futimens.c (rpl_futimens): Adjust comment.
35742
35743         utimens: work around Linux ctime bug
35744         * lib/utimens.c (detect_ctime_bug): New helper function.
35745         (update_timespec): Differentiate between workaround needed for
35746         this bug vs. what is needed for systems that lack utimensat.
35747         (fdutimens, lutimens): Work around bug.
35748
35749         utimens: check for ctime update
35750         * tests/test-utimens-common.h (check_ctime): Define.
35751         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35752         * tests/test-futimens.h (test_futimens): Likewise.
35753         * tests/test-lutimens.h (test_lutimens): Likewise.
35754         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35755         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35756
35757 2009-12-19  Bruno Haible  <bruno@clisp.org>
35758
35759         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35760         * tests/test-dprintf-posix2.sh: New file.
35761         * tests/test-dprintf-posix2.c: New file.
35762         * modules/dprintf-posix-tests (Files): Add them.
35763         (configure.ac): Check for getrlimit and setrlimit.
35764         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35765
35766 2009-12-19  Bruno Haible  <bruno@clisp.org>
35767
35768         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35769         * tests/test-fprintf-posix3.sh: New file.
35770         * tests/test-fprintf-posix3.c: New file.
35771         * modules/fprintf-posix-tests (Files): Add them.
35772         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35773
35774 2009-12-19  Eric Blake  <ebb9@byu.net>
35775
35776         dirfd: fix prototype
35777         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35778         * lib/dirfd.c (dirfd): Likewise.
35779
35780         canonicalize: reduce memory usage
35781         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35782         allocation to size.
35783         Reported by Solar Designer <solar@openwall.com>.
35784
35785 2009-12-19  Bruno Haible  <bruno@clisp.org>
35786
35787         New module attribute 'Applicability'.
35788         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35789         * gnulib-tool: New option --extract-applicability.
35790         (func_usage): Document it.
35791         (sed_extract_prog): Recognize it.
35792         (func_get_applicability): New function.
35793         (func_import): Generalize handling of 'link-warning' module.
35794         * modules/link-warning (Applicability): New section.
35795         * modules/arg-nonnull (Applicability): New section.
35796         Repoted by Simon Josefsson <simon@josefsson.org>.
35797
35798 2009-12-19  Bruno Haible  <bruno@clisp.org>
35799
35800         fflush: tweak
35801         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35802         * lib/fseeko.c (rpl_fseeko): Likewise.
35803
35804 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35805
35806         * lib/gl_list.h: Fix typo in comment.
35807
35808 2009-12-16  Eric Blake  <ebb9@byu.net>
35809
35810         fcntl: use to simplify other modules
35811         * modules/cloexec (Depends-on): Add fcntl.
35812         * modules/fchdir (Depends-on): Likewise.
35813         * modules/fd-safer-flag (Depends-on): Likewise.
35814         * modules/unistd-safer (Depends-on): Likewise.
35815         * modules/dup3 (configure.ac): Set module indicator.
35816         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35817         missing.
35818         * lib/fchdir.c (_gl_register_dup): Fix comment.
35819         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
35820         * lib/dup-safer.c (dup_safer): Likewise.
35821         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
35822         * lib/dup3.c (dup3): Likewise.
35823         * tests/test-fchdir.c (main): Enhance test.
35824         Fixes a dup_cloexec bug reported by Ondřej Vašík.
35825
35826         fcntl: port portions of fcntl to mingw
35827         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
35828         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
35829         replacement for mingw.
35830         * modules/fcntl (Description): Update.
35831         (Depends-on): Add dup2.
35832         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
35833         * modules/fcntl-h (Makefile.am): Substitute it.
35834         * lib/fcntl.in.h (fcntl): Update declaration.
35835         (F_DUPFD, F_GETFD): New macros, when needed.
35836         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35837         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
35838         * tests/test-fcntl.c (check_flags, main): Enhance test for items
35839         we now guarantee.
35840
35841         fcntl: work around cygwin bug in F_DUPFD
35842         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
35843         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
35844         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35845         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35846         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35847
35848         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35849         * modules/fcntl (Files): List new files.
35850         (configure.ac): Run a test.
35851         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35852         * lib/fcntl.c (rpl_fcntl): Likewise.
35853         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35854         (gl_FCNTL_H): Always replace fcntl.h.
35855         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35856         * lib/fcntl.in.h (fcntl): Declare replacement.
35857         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35858         needed, plus a witness.
35859         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35860         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35861         * tests/test-fcntl.c: New file.
35862         * modules/fcntl-tests: Likewise.
35863
35864         binary-io: avoid potential compilation warning
35865         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35866         directives.
35867
35868         fflush: avoid compilation error on NetBSD
35869         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35870         between off_t and fpos_t, since the latter is sometimes a struct.
35871         * lib/fseeko.c (rpl_fseeko): Likewise.
35872         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35873
35874 2009-12-15  Eric Blake  <ebb9@byu.net>
35875
35876         fcntl-h, stdio, sys_ioctl: fix declarations
35877         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35878         function must not take arguments.
35879         * lib/sys_ioctl.in.h (ioctl): Likewise.
35880         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35881         (open): Add a link warning.
35882
35883 2009-12-15  Jim Meyering  <meyering@redhat.com>
35884
35885         areadlink, areadlink-with-size: relax license to LGPLv2+
35886         * modules/areadlink (License): Relax to LGPLv2+.
35887         * modules/areadlink-with-size (License): Likewise.
35888
35889 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35890             Bruno Haible  <bruno@clisp.org>
35891
35892         *printf: Fix memory leak.
35893         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35894         * lib/vfprintf.c (vfprintf): Likewise.
35895         * lib/dprintf.c (dprintf): Likewise.
35896         * lib/vdprintf.c (vdprintf): Likewise.
35897
35898 2009-12-14  Eric Blake  <ebb9@byu.net>
35899
35900         accept4: adjust module dependencies
35901         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35902
35903         utimens: one more try at avoiding compiler warning
35904         * lib/utimens.c (lutimens): Lower scope of result.
35905
35906 2009-12-13  Bruno Haible  <bruno@clisp.org>
35907
35908         Move the malloc checking from module 'list' to new module 'xlist'.
35909         * modules/xlist: New file.
35910         * lib/gl_xlist.h: New file.
35911         * lib/gl_xlist.c: New file.
35912         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35913         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35914         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35915         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35916         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35917         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35918         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35919         gl_sortedlist_nx_add): New declarations.
35920         (struct gl_list_implementation): Rename and change methods accordingly.
35921         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35922         (gl_list_nx_create): Renamed from gl_list_create.
35923         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35924         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35925         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35926         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35927         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35928         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35929         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35930         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35931         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35932         gl_list_create_empty.
35933         (gl_list_nx_create): Renamed from gl_list_create.
35934         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35935         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35936         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35937         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35938         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35939         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35940         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35941         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35942         * lib/gl_array_list.c: Don't include xalloc.h.
35943         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35944         NULL upon out-of-memory.
35945         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35946         out-of-memory.
35947         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35948         Change return type to 'int'.
35949         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35950         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35951         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35952         upon out-of-memory.
35953         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35954         upon out-of-memory.
35955         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35956         upon out-of-memory.
35957         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35958         upon out-of-memory.
35959         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
35960         out-of-memory.
35961         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
35962         Update.
35963         (gl_array_list_implementation): Update.
35964         * lib/gl_carray_list.c: Don't include xalloc.h.
35965         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
35966         Return NULL upon out-of-memory.
35967         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
35968         out-of-memory.
35969         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
35970         Change return type to 'int'.
35971         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
35972         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35973         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
35974         upon out-of-memory.
35975         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
35976         upon out-of-memory.
35977         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
35978         out-of-memory.
35979         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
35980         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
35981         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
35982         Update.
35983         (gl_carray_list_implementation): Update.
35984         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
35985         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
35986         gl_linked_create_empty. Return NULL upon out-of-memory.
35987         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
35988         out-of-memory.
35989         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
35990         Change return type to 'int'. Return -1 upon out-of-memory.
35991         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
35992         out-of-memory.
35993         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
35994         upon out-of-memory.
35995         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
35996         upon out-of-memory.
35997         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
35998         NULL upon out-of-memory.
35999         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
36000         upon out-of-memory.
36001         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
36002         out-of-memory.
36003         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
36004         Update.
36005         * lib/gl_linked_list.c: Don't include xalloc.h.
36006         (gl_linked_list_implementation): Update.
36007         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
36008         (add_to_bucket): Change return type to 'int'.
36009         (gl_linkedhash_list_implementation): Update.
36010         * lib/gl_anytree_list1.h (free_subtree): New function.
36011         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
36012         gl_tree_create_empty. Return NULL upon out-of-memory.
36013         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
36014         Change return type to 'int'. Return -1 upon out-of-memory.
36015         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
36016         out-of-memory.
36017         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
36018         (gl_tree_remove_node): New function, moved here from
36019         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
36020         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
36021         Update.
36022         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
36023         malloc, not xmalloc. Return NULL upon out-of-memory.
36024         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36025         out-of-memory.
36026         (gl_tree_remove_node_from_tree): New function, extracted from
36027         gl_tree_remove_node.
36028         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36029         upon out-of-memory.
36030         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36031         out-of-memory.
36032         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36033         upon out-of-memory.
36034         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36035         upon out-of-memory.
36036         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36037         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
36038         not xmalloc. Return NULL upon out-of-memory.
36039         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36040         out-of-memory.
36041         (gl_tree_remove_node_from_tree): New function, extracted from
36042         gl_tree_remove_node.
36043         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36044         upon out-of-memory.
36045         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36046         out-of-memory.
36047         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36048         upon out-of-memory.
36049         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36050         upon out-of-memory.
36051         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36052         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
36053         gl_anytree_list1.h before gl_anyavltree_list2.h.
36054         (gl_avltree_list_implementation): Update.
36055         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
36056         gl_anytree_list1.h before gl_anyavltree_list2.h.
36057         (gl_rbtree_list_implementation): Update.
36058         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
36059         Change return type to 'int'. Return -1 upon out-of-memory. Use
36060         __builtin_expect.
36061         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
36062         (gl_avltreehash_list_implementation): Update.
36063         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
36064         (gl_rbtreehash_list_implementation): Update.
36065         * modules/array-list (Depends-on): Remove xalloc.
36066         * modules/carray-list (Depends-on): Likewise.
36067         * modules/linked-list (Depends-on): Likewise.
36068         * modules/linkedhash-list (Depends-on): Likewise.
36069         * modules/avltree-list (Depends-on): Likewise.
36070         * modules/rbtree-list (Depends-on): Likewise.
36071         * modules/avltreehash-list (Depends-on): Likewise.
36072         * modules/rbtreehash-list (Depends-on): Likewise.
36073
36074         * modules/xsublist: New file.
36075         * lib/gl_xsublist.h: New file.
36076         * lib/gl_xsublist.c: New file.
36077         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
36078         (gl_sublist_nx_create): New declaration.
36079         * lib/gl_sublist.c: Don't include xalloc.h.
36080         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
36081         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
36082         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
36083         Change return type to 'int'. Return -1 upon out-of-memory.
36084         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
36085         upon out-of-memory.
36086         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
36087         NULL upon out-of-memory.
36088         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
36089         upon out-of-memory.
36090         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
36091         NULL upon out-of-memory.
36092         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
36093         NULL upon out-of-memory.
36094         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
36095         upon out-of-memory.
36096         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
36097         (gl_sublist_list_implementation): Update.
36098         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
36099         upon out-of-memory.
36100         * modules/sublist (Depends-on): Remove xalloc.
36101
36102         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
36103         * tests/test-carray_list.c: Likewise.
36104         * tests/test-linked_list.c: Likewise.
36105         * tests/test-linkedhash_list.c: Likewise.
36106         * tests/test-avltree_list.c: Likewise.
36107         * tests/test-rbtree_list.c: Likewise.
36108         * tests/test-avltreehash_list.c: Likewise.
36109         * tests/test-rbtreehash_list.c: Likewise.
36110         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
36111         * modules/carray-list-tests (Makefile.am): Likewise.
36112         * modules/linked-list-tests (Makefile.am): Likewise.
36113         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36114         * modules/avltree-list-tests (Makefile.am): Likewise.
36115         * modules/rbtree-list-tests (Makefile.am): Likewise.
36116         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36117         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36118
36119         * NEWS: Mention the changes.
36120
36121         * lib/clean-temp.c: Include gl_xlist.h.
36122         * modules/clean-temp (Depends-on): Add xlist.
36123
36124         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
36125         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
36126
36127         * tests/test-array_oset.c: Include gl_xlist.h.
36128         * modules/array-oset-tests (Depends-on): Add xlist.
36129
36130         Reported by José E. Marchesi <jemarch@gnu.org>.
36131
36132 2009-12-13  Bruno Haible  <bruno@clisp.org>
36133
36134         Move the malloc checking from module 'oset' to new module 'xoset'.
36135         * modules/xoset: New file.
36136         * lib/gl_xoset.h: New file.
36137         * lib/gl_xoset.c: New file.
36138         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
36139         declarations.
36140         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
36141         (struct gl_oset_implementation): Rename and change methods accordingly.
36142         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
36143         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36144         'int'. Mark as __warn_unused_result__.
36145         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
36146         gl_oset_create_empty.
36147         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36148         'int'.
36149         * lib/gl_array_oset.c: Don't include xalloc.h.
36150         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
36151         malloc, not xmalloc.
36152         (grow): Change return type to 'int'. Don't call xalloc_die.
36153         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
36154         to 'int'.
36155         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
36156         'int'.
36157         (gl_array_oset_implementation): Update.
36158         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
36159         gl_tree_create_empty.
36160         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
36161         'int'.
36162         * lib/gl_avltree_oset.c: Don't include xalloc.h.
36163         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36164         xmalloc.
36165         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36166         not xmalloc.
36167         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36168         xmalloc.
36169         (gl_avltree_oset_implementation): Update.
36170         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
36171         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36172         xmalloc.
36173         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36174         not xmalloc.
36175         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36176         xmalloc.
36177         (gl_rbtree_oset_implementation): Update.
36178         * modules/array-oset (Depends-on): Remove xalloc.
36179         * modules/avltree-oset (Depends-on): Likewise.
36180         * modules/rbtree-oset (Depends-on): Likewise.
36181         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
36182         * tests/test-avltree_oset.c: Likewise.
36183         * tests/test-rbtree_oset.c: Likewise.
36184         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
36185         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
36186         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36187         * NEWS: Mention the change.
36188
36189 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
36190
36191         maint.mk: allow a project to override release-prep commands
36192         * top/maint.mk (alpha, beta, stable): Move release-preparatory
36193         commands into a new rule.
36194         (release-prep): New rule.
36195         (release-prep-hook): New overridable variable.
36196
36197 2009-12-13  Bruno Haible  <bruno@clisp.org>
36198
36199         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
36200
36201 2009-12-13  Jim Meyering  <meyering@redhat.com>
36202
36203         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
36204         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
36205
36206 2009-12-12  Bruno Haible  <bruno@clisp.org>
36207
36208         duplocale: Tweak.
36209         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
36210
36211 2009-12-12  Karl Berry  <karl@gnu.org>
36212
36213         * config/srclist.txt (strtoll.c): tab changes, no more sync.
36214
36215 2009-12-12  Bruno Haible  <bruno@clisp.org>
36216
36217         * m4/po.m4: Undo incorrect untabification.
36218
36219 2009-12-12  Bruno Haible  <bruno@clisp.org>
36220
36221         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
36222         * modules/c-strtod (Depends-on): Add locale.
36223         * modules/c-strtold (Depends-on): Likewise.
36224
36225 2009-12-12  Bruno Haible  <bruno@clisp.org>
36226
36227         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
36228
36229 2009-12-11  Eric Blake  <ebb9@byu.net>
36230
36231         setenv: relax requirement in light of POSIX ruling
36232         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
36233         not NULL.
36234         * tests/test-setenv.c (main): Relax test.
36235         * tests/test-unsetenv.c (main): Likewise.
36236         * doc/posix-functions/setenv.texi (setenv): Document this.
36237         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36238
36239 2009-12-11  Bruno Haible  <bruno@clisp.org>
36240
36241         New module 'fd-safer-flag'.
36242         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
36243         * lib/dup-safer.c (dup_safer_flag): Remove function.
36244         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
36245         * lib/fd-safer.c (fd_safer_flag): Remove function.
36246         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
36247         * modules/cloexec (configure.ac): Drop indicator macro.
36248         * modules/fd-safer-flag: New file.
36249         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
36250         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
36251         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
36252
36253 2009-12-11  Bruno Haible  <bruno@clisp.org>
36254
36255         Tests for module 'nl_langinfo'.
36256         * modules/nl_langinfo-tests: New file.
36257         * tests/test-nl_langinfo.sh: New file.
36258         * tests/test-nl_langinfo.c: New file.
36259
36260         New module 'nl_langinfo'.
36261         * lib/nl_langinfo.c: New file.
36262         * m4/nl_langinfo.m4: New file.
36263         * modules/nl_langinfo: New file.
36264         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
36265
36266 2009-12-11  Bruno Haible  <bruno@clisp.org>
36267
36268         Tests for module 'langinfo'.
36269         * modules/langinfo-tests: New file.
36270         * tests/test-langinfo.c: New file.
36271
36272         New module 'langinfo'.
36273         * lib/langinfo.in.h: New file.
36274         * m4/langinfo_h.m4: New file.
36275         * modules/langinfo: New file.
36276         * doc/posix-headers/langinfo.texi: Mention the new module.
36277
36278 2009-12-11  Bruno Haible  <bruno@clisp.org>
36279
36280         * lib/config.charset: Untabify.
36281
36282 2009-12-11  Bruno Haible  <bruno@clisp.org>
36283
36284         * modules/unistd-safer (configure.ac): Drop indicator macro.
36285
36286 2009-12-11  Bruno Haible  <bruno@clisp.org>
36287
36288         Move pipe2-safer code to its own file.
36289         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
36290         * lib/pipe-safer.c (pipe2_safer): Remove function.
36291         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
36292         (Makefile.am): Add it to lib_SOURCES.
36293
36294 2009-12-10  Bruno Haible  <bruno@clisp.org>
36295
36296         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
36297
36298 2009-12-10  Bruno Haible  <bruno@clisp.org>
36299
36300         Declare which arguments expect non-NULL values, for GCC and clang.
36301         * build-aux/arg-nonnull.h: New file.
36302         * modules/arg-nonnull: New file.
36303         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
36304         (inet_ntop, inet_pton): Use it.
36305         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
36306         (closedir, dirfd, opendir, scandir, alphasort): Use it.
36307         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
36308         (open, openat): Use it.
36309         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
36310         (fnmatch): Use it.
36311         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
36312         (getopt, getopt_long, getopt_long_only): Use it.
36313         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
36314         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
36315         Use it.
36316         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
36317         (iconv_open): Use it.
36318         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
36319         (strtoimax, strtoumax): Use it.
36320         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
36321         (duplocale): Use it.
36322         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
36323         (frexp, frexpl): Use it.
36324         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
36325         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
36326         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
36327         (tsearch, tfind, tdelete, twalk): Use it.
36328         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
36329         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36330         sigpending): Use it.
36331         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
36332         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36333         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36334         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36335         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36336         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36337         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36338         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36339         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36340         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36341         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36342         Use it.
36343         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
36344         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
36345         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
36346         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
36347         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
36348         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
36349         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
36350         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
36351         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
36352         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
36353         strtoull, unsetenv): Use it.
36354         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
36355         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36356         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36357         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
36358         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
36359         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
36360         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
36361         (strcasecmp, strncasecmp): Use it.
36362         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
36363         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
36364         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
36365         rpl_setsockopt): Use it.
36366         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
36367         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
36368         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
36369         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
36370         (gettimeofday): Use it.
36371         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
36372         (times): Use it.
36373         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
36374         (uname): Use it.
36375         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
36376         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
36377         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
36378         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
36379         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
36380         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
36381         unlinkat, write): Use it.
36382         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
36383         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
36384         * lib/argv-iter.h: Include arg-nonnull.h.
36385         (_ATTRIBUTE_NONNULL_): Remove macro.
36386         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
36387         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
36388         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
36389         optimization.
36390         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
36391         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
36392         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
36393         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
36394         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
36395         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
36396         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
36397         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
36398         * modules/arpa_inet (Depends-on): Add arg-nonnull.
36399         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
36400         * modules/dirent (Depends-on): Add arg-nonnull.
36401         (Makefile.am): Insert arg-nonnull.h into dirent.h.
36402         * modules/fcntl-h (Depends-on): Add arg-nonnull.
36403         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
36404         * modules/fnmatch (Depends-on): Add arg-nonnull.
36405         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
36406         * modules/getopt-posix (Depends-on): Add arg-nonnull.
36407         (Makefile.am): Insert arg-nonnull.h into getopt.h.
36408         * modules/glob (Depends-on): Add arg-nonnull.
36409         (Makefile.am): Insert arg-nonnull.h into glob.h.
36410         * modules/iconv_open (Depends-on): Add arg-nonnull.
36411         (Makefile.am): Insert arg-nonnull.h into iconv.h.
36412         * modules/inttypes (Depends-on): Add arg-nonnull.
36413         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
36414         * modules/locale (Depends-on): Add arg-nonnull.
36415         (Makefile.am): Insert arg-nonnull.h into locale.h.
36416         * modules/math (Depends-on): Add arg-nonnull.
36417         (Makefile.am): Insert arg-nonnull.h into math.h.
36418         * modules/netdb (Depends-on): Add arg-nonnull.
36419         (Makefile.am): Insert arg-nonnull.h into netdb.h.
36420         * modules/search (Depends-on): Add arg-nonnull.
36421         (Makefile.am): Insert arg-nonnull.h into search.h.
36422         * modules/signal (Depends-on): Add arg-nonnull.
36423         (Makefile.am): Insert arg-nonnull.h into signal.h.
36424         * modules/spawn (Depends-on): Add arg-nonnull.
36425         (Makefile.am): Insert arg-nonnull.h into spawn.h.
36426         * modules/stdio (Depends-on): Add arg-nonnull.
36427         (Makefile.am): Insert arg-nonnull.h into stdio.h.
36428         * modules/stdlib (Depends-on): Add arg-nonnull.
36429         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
36430         * modules/string (Depends-on): Add arg-nonnull.
36431         (Makefile.am): Insert arg-nonnull.h into string.h.
36432         * modules/strings (Depends-on): Add arg-nonnull.
36433         (Makefile.am): Insert arg-nonnull.h into strings.h.
36434         * modules/sys_socket (Depends-on): Add arg-nonnull.
36435         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
36436         * modules/sys_stat (Depends-on): Add arg-nonnull.
36437         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
36438         * modules/sys_time (Depends-on): Add arg-nonnull.
36439         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
36440         * modules/sys_times (Depends-on): Add arg-nonnull.
36441         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
36442         * modules/sys_utsname (Depends-on): Add arg-nonnull.
36443         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
36444         * modules/time (Depends-on): Add arg-nonnull.
36445         (Makefile.am): Insert arg-nonnull.h into time.h.
36446         * modules/unistd (Depends-on): Add arg-nonnull.
36447         (Makefile.am): Insert arg-nonnull.h into unistd.h.
36448         * modules/wchar (Depends-on): Add arg-nonnull.
36449         (Makefile.am): Insert arg-nonnull.h into wchar.h.
36450         * modules/argv-iter (Depends-on): Add arg-nonnull.
36451         * tests/test-canonicalize.c (null_ptr): New function.
36452         (main): Use it.
36453         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
36454         (main): Use it.
36455         * tests/test-memmem.c (null_ptr): New function.
36456         (main): Use it.
36457         Reported by Jim Meyering.
36458
36459 2009-12-10  Bruno Haible  <bruno@clisp.org>
36460
36461         Use spaces for indentation, not tabs.
36462         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
36463         * m4/*.m4: Untabify.
36464         * build-aux/*.h: Untabify.
36465         * tests/**/*.[hc]: Untabify.
36466         * README: New section "Indent with spaces, not TABs", based on
36467         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
36468         * NEWS: Mention the change.
36469
36470 2009-12-10  Bruno Haible  <bruno@clisp.org>
36471
36472         pty test: Fix link error.
36473         * modules/pty-tests (Makefile.am): Add the default LDADD value to
36474         test_pty_LDADD.
36475
36476 2009-12-07  Simon Josefsson  <simon@josefsson.org>
36477
36478         * modules/pty: New file.
36479         * modules/pty-tests: New file.
36480         * m4/pty.m4: New file.
36481         * tests/test-pty.c: New file.
36482         * doc/glibc-headers/pty.texi: Modified.
36483         * doc/glibc-functions/forkpty.texi: Modified.
36484         * doc/glibc-functions/openpty.texi: Modified.
36485
36486 2009-12-10  Bruno Haible  <bruno@clisp.org>
36487
36488         Avoid syntax error in C++ mode.
36489         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
36490
36491 2009-12-10  Bruno Haible  <bruno@clisp.org>
36492
36493         Use sed with option -e.
36494         * gnulib-tool (func_version, func_emit_copyright_notice,
36495         func_emit_initmacro_end, func_import, func_create_testdir): Pass
36496         option -e to sed.
36497         * modules/link-warning (Makefile.am): Likewise.
36498
36499 2009-12-10  Jim Meyering  <meyering@redhat.com>
36500
36501         mgetgroups: do not write bytes beyond end of malloc'd buffer
36502         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
36503         username, we call getgroups with a one-element-shorter buffer,
36504         but still told it the length was original, max_n_groups.
36505
36506 2009-12-09  Eric Blake  <ebb9@byu.net>
36507
36508         cloexec: relax license
36509         * modules/cloexec (Maintainer): Add myself.
36510         (License): Use LGPL, not GPL.
36511
36512         link-warning: optimize generation
36513         * modules/link-warning (Makefile.am): Reduce process usage.
36514
36515 2009-12-09  Bruno Haible  <bruno@clisp.org>
36516
36517         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
36518         workaround was added on 2009-11-17.
36519
36520 2009-12-09  Jim Meyering  <meyering@redhat.com>
36521             Bruno Haible  <bruno@clisp.org>
36522
36523         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
36524         * modules/link-warning (Makefile.am): Make the comment-removing sed
36525         command more robust in the face of bootstrap-prepended comment lines.
36526
36527 2009-12-09  Bruno Haible  <bruno@clisp.org>
36528
36529         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
36530         most one group.
36531
36532 2009-12-09  Simon Josefsson <simon@josefsson.org>
36533             Bruno Haible  <bruno@clisp.org>
36534
36535         * build-aux/link-warning.h: Add copyright notice.
36536         * modules/link-warning (Makefile.am): Generate link-warning.h from
36537         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
36538         * NEWS: Mention change in link-warning module.
36539         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
36540         * modules/dirent (Makefile.am): Add dependency to dirent.h.
36541         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
36542         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
36543         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
36544         * modules/math (Makefile.am): Add dependency to math.h.
36545         * modules/search (Makefile.am): Add dependency to search.h.
36546         * modules/signal (Makefile.am): Add dependency to signal.h.
36547         * modules/spawn (Makefile.am): Add dependency to spawn.h.
36548         * modules/stdio (Makefile.am): Add dependency to stdio.h.
36549         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
36550         * modules/string (Makefile.am): Add dependency to string.h.
36551         * modules/strings (Makefile.am): Add dependency to strings.h.
36552         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
36553         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
36554         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
36555         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
36556         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
36557         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
36558         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
36559         * modules/unistd (Makefile.am): Add dependency to unistd.h.
36560         * modules/wchar (Makefile.am): Add dependency to wchar.h.
36561
36562 2009-12-09  Bruno Haible  <bruno@clisp.org>
36563
36564         fchdir: Optimize away rpl_fstat when possible.
36565         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
36566         REPLACE_OPEN_DIRECTORY.
36567         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
36568
36569 2009-12-09  Bruno Haible  <bruno@clisp.org>
36570
36571         * lib/fchdir.c: Update comment.
36572
36573 2009-12-09  Bruno Haible  <bruno@clisp.org>
36574
36575         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
36576
36577 2009-12-08  Eric Blake  <ebb9@byu.net>
36578
36579         fchdir: avoid memory leak on re-registration.
36580         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
36581
36582 2009-12-08  Jim Meyering  <meyering@redhat.com>
36583
36584         init.sh: avoid Solaris 10 /bin/sh portability problem
36585         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
36586         sourced script:
36587           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
36588           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
36589           bar
36590         tests/init.sh relied on that, accepting a --set-path=DIR argument,
36591         and two tests used that idiom.
36592         * tests/init.sh: Update suggested usage comments.
36593         (path_prepend_): New function, to be used in place
36594         of the --src-path=DIR option.
36595         (setup_): Move PATH-prepending code into path_prepend_.
36596         * tests/test-pread.sh: Adapt to new usage.
36597         * tests/test-xalloc-die.sh: Likewise.
36598
36599 2009-12-08  Simon Josefsson  <simon@josefsson.org>
36600
36601         * doc/gnulib.texi (Glibc pty.h): Add.
36602         * doc/glibc-functions/forkpty.texi: Add.
36603         * doc/glibc-functions/openpty.texi: Add.
36604         Suggested by Bruno Haible.
36605
36606 2009-12-08  Eric Blake  <ebb9@byu.net>
36607
36608         fchdir: fix logic bugs
36609         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
36610         * tests/test-fchdir.c (main): Enhance test.
36611         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
36612         is in use.
36613
36614         dup2: fix logic bugs
36615         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
36616         REPLACE_DUP2 to decide when rpl_dup2 is needed.
36617         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
36618         exists.
36619         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
36620
36621 2009-12-07  Eric Blake  <ebb9@byu.net>
36622
36623         unlink: fix m4 detection
36624         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
36625
36626         unistd-safer: add unit test
36627         * modules/unistd-safer-tests: New file.
36628         * tests/test-dup-safer.c: Likewise.
36629         * tests/test-cloexec.c (setmode): Avoid compiler warning.
36630         * tests/test-dup2.c (setmode): Likewise.
36631         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
36632
36633         cloexec: preserve text vs. binary across dup_cloexec
36634         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
36635         mode.
36636         * modules/dup2-tests (Depends-on): Add binary-io.
36637         * modules/cloexec-tests (Depends-on): Likewise.
36638         * tests/test-dup2.c (setmode, is_mode): New helpers.
36639         (main): Add tests that translation mode is preserved.
36640         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
36641         Reported by Bruno Haible.
36642
36643         mgetgroups: reduce duplicate listings
36644         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
36645         resulting array.
36646         * tests/test-chown.h (test_chown): Simplify client.
36647         * tests/test-lchown.h (test_lchown): Likewise.
36648
36649 2009-12-06  Bruno Haible  <bruno@clisp.org>
36650
36651         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
36652         value.
36653
36654 2009-12-06  Bruno Haible  <bruno@clisp.org>
36655
36656         * lib/progname.c: Include stdio.h, stdlib.h.
36657         (set_program_name): Reject a NULL argument.
36658
36659 2009-12-05  Eric Blake  <ebb9@byu.net>
36660
36661         pipe2-safer: new module
36662         * modules/pipe2-safer: New file.
36663         * lib/unistd-safer.h (pipe2_safer): New prototype.
36664         * lib/unistd--.h (pipe2): New wrapper.
36665         * lib/pipe-safer.c (pipe2_safer): New function.
36666         * modules/pipe (Depends-on): Add pipe2-safer.
36667         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
36668
36669         stdlib-safer: preserve cloexec flag for mkostemp[s]
36670         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
36671         fd_safer_flag.
36672
36673         unistd-safer: allow preservation of cloexec status via flag
36674         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
36675         prototypes.
36676         * lib/dup-safer.c (dup_safer_flag): New function.
36677         * lib/fd-safer.c (fd_safer_flag): Likewise.
36678         * modules/cloexec (configure.ac): Set witness.
36679
36680         test-dup2: enhance test
36681         * modules/dup2-tests (Depends-on): Add cloexec.
36682         * tests/test-dup2.c (main): Enhance test.
36683
36684         cloexec: add dup_cloexec
36685         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36686         header and comments.
36687         * lib/cloexec.c (set_cloexec_flag): Add comments.
36688         (dup_cloexec): New function, with mingw implementation borrowed
36689         from...
36690         * lib/w32spawn.h (dup_noinherit): ...here.
36691         * modules/execute (Depends-on): Add cloexec.
36692         * modules/pipe (Depends-on): Likewise.
36693         * modules/cloexec (Depends-on): Add dup2.
36694         * modules/cloexec-tests (Files): New file.
36695         * tests/test-cloexec.c: Likewise.
36696
36697         test-xalloc-die: fix test for mingw
36698         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36699         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36700         directory and .exe suffix off argv[0] output.
36701
36702         test-fseeko: fix test for mingw
36703         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36704         than undefining fseek, so test will pass on mingw.
36705
36706 2009-12-05  Bruno Haible  <bruno@clisp.org>
36707
36708         * lib/progname.h (set_program_name): Clarify specification.
36709         * lib/progname.c (set_program_name): Likewise.
36710         Reported by Jim Meyering.
36711
36712 2009-12-05  Jim Meyering  <meyering@redhat.com>
36713
36714         maint.mk: backslash-escape parens in default regexp
36715         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36716         backslash-escape the literal parentheses.
36717
36718         maint.mk: news-date-check: use grep -E
36719         * top/maint.mk (today): Define a Make variable, not a...
36720         (news-date-check): ...shell variable.
36721         (news-date-regexp): Use the Make variable.
36722         Use grep's -E option.  Change the failing diagnostic to mention
36723         the variable, $(news-date-regexp).
36724
36725 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36726
36727         maintainer-makefile: allow customization of NEWS entry format
36728         * top/maint.mk (news-date-regexp): New overridable variable.
36729         (news-date-check): Use it.
36730
36731 2009-12-04  Eric Blake  <ebb9@byu.net>
36732
36733         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36734         * lib/mgetgroups.h (xgetgroups): New prototype.
36735         * lib/mgetgroups.c (xgetgroups): New wrapper.
36736         (mgetgroups): Handle ENOSYS.
36737         * modules/mgetgroups (Depends-on): Add realloc.
36738         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36739
36740         mgetgroups: avoid argument promotion issues with -1
36741         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36742         for invalid gid_t.
36743         * tests/test-chown.h (getegid, test_chown): Likewise.
36744         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36745
36746 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36747
36748         exclude: Fix header file problems.
36749         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36750
36751 2009-12-01  Jim Meyering  <meyering@redhat.com>
36752
36753         fts: fts_open: do not let an empty string cause immediate failure
36754         This is required in support of GNU rm, for which the command
36755         "rm A '' B" must process and remove both A and B, in spite of
36756         the empty string argument.
36757         * lib/fts.c (fts_open): Do not let the presence of an empty string
36758         cause fts_open to fail immediately.  Most fts-using tools must be
36759         able to process all arguments, in order, and can be expected to
36760         diagnose such arguments themselves.
36761
36762 2009-11-30  Eric Blake  <ebb9@byu.net>
36763
36764         utimens: fix compilation error
36765         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36766         Declare variable at right scope.
36767
36768 2009-11-29  Jim Meyering  <meyering@redhat.com>
36769
36770         bootstrap: handle perl-5.11's changed --version output
36771         * build-aux/bootstrap (get_version): Handle perl separately,
36772         since perl-5.11's --version output is different.
36773
36774 2009-11-28  Jim Meyering  <meyering@redhat.com>
36775
36776         userspec: depend on the inttostr module, too
36777         * modules/userspec (Depends-on): Add inttostr.
36778
36779         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36780         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36781         number of MAXUID when it evaluates to (uid_t) -1.
36782         Likewise for group ID.  Reported by Matt McCutchen in
36783         <http://savannah.gnu.org/bugs/?28113>
36784
36785         userspec: reformat to use spaces, not TABs
36786         * lib/userspec.c: Expand TABs to spaces.
36787         Add Emacs' "indent-tabs-mode: nil" hint.
36788
36789 2009-11-27  Eric Blake  <ebb9@byu.net>
36790
36791         getopt-gnu: flush out another BSD bug
36792         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36793         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36794         flush out BSD bug.
36795         * tests/test-getopt.h (test_getopt): End lists with NULL.
36796         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36797         (test_getopt_long_posix): Enhance test.
36798         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36799         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36800         getopt-gnu.
36801         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36802         Likewise.
36803
36804 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36805
36806         * modules/idpriv-droptemp-tests (Notice): Fix text.
36807
36808 2009-11-27  Jim Meyering  <meyering@redhat.com>
36809
36810         test-xalloc-die: avoid spurious failure due to libtool argv difference
36811         In a libtool-enabled project, this test would fail due to a difference
36812         in the emitted program name, e.g.,
36813         -test-xalloc-die: memory exhausted
36814         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36815         Use program to avoid that.
36816         * modules/xalloc-die-tests (Depends-on): Add progname.
36817         * tests/test-xalloc-die.c: Include progname.h".
36818         (program_name): Remove decl.
36819         (main): Call set_program_name.
36820         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
36821
36822 2009-11-26  Richard Jones  <rjones@redhat.com>
36823
36824         w32sock: leave win32 error in place.
36825         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
36826
36827 2009-11-26  Eric Blake  <ebb9@byu.net>
36828
36829         init.sh: suggest to use skip_ and fail_ functions in comments
36830         * tests/init.sh: Add a sentence.
36831
36832 2009-11-25  Bruno Haible  <bruno@clisp.org>
36833
36834         init.sh: add documentation in comments
36835         * tests/init.sh: Add some developer and user documentation.
36836
36837 2009-11-26  Jim Meyering  <meyering@redhat.com>
36838
36839         init.sh: accommodate even those who specify bogus srcdir manually
36840         * tests/init.sh: Normally, srcdir is guaranteed by automake and
36841         configure-time tests to be sanitized, so that there is no need to
36842         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36843         (with no double quotes) suffices.  However, since tests may be
36844         invoked manually, and since you may explicitly set srcdir to the
36845         name of a directory containing spaces, do quote its uses here.
36846         * tests/test-pread.sh: Likewise.
36847         Suggested by Bruno Haible.
36848
36849         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36850         * tests/test-pread.sh: Write no data into the pipe, because
36851         test-pread actually reads none.  This avoids a diagnostic,
36852         "bash: echo: write error: Broken pipe", that arises in the unusual
36853         event something is ignoring SIGPIPE, and might be interpreted
36854         as some sort of failure.  Reported by Bruno Haible.
36855
36856 2009-11-25  Jim Meyering  <meyering@redhat.com>
36857
36858         test-pread: cover failure with ESPIPE and EINVAL
36859         * tests/test-pread.c (main): Test for failure, too.
36860         * tests/test-pread.sh: Invoke with stdin on a pipe.
36861         Suggested by Eric Blake.
36862
36863         pread: improvement and fix
36864         * modules/pread (Depends-on): Depend on lseek, for portability to
36865         e.g., mingw.  Suggested by Eric Blake.
36866         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36867
36868         unistd.in.h: correct declaration of pread
36869         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36870         Reported by Richard W.M. Jones.
36871
36872         test-pread.sh: distribute the test script
36873         * modules/pread-tests (Files): Include test-pread.sh.
36874
36875         test-pread.sh: clean up
36876         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36877         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36878         That is unnecessary, since it's always ".".
36879         Suggestion from Eric Blake.
36880
36881         test-pread.sh: make executable
36882         * tests/test-pread.sh: Set executable bit.
36883         Reported by Eric Blake.
36884
36885         correct typo in test-pread.sh
36886         * tests/test-pread.sh: Add #! line.
36887
36888         test pread
36889         * tests/test-pread.c: New file.
36890         * tests/test-pread.sh: Likewise.
36891         * modules/pread-tests: Likewise.
36892
36893         pread: new module
36894         * modules/pread: New file.
36895         * lib/unistd.in.h (pread): Define/declare.
36896         * lib/pread.c (pread): New file.
36897         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36898         * modules/unistd (Makefile.am): Substitute witnesses.
36899         * doc/posix-functions/pread.texi (pread): Update.
36900         * MODULES.html.sh: Add pread.
36901
36902 2009-11-25  Jim Meyering  <meyering@redhat.com>
36903
36904         tests/init.sh: new file to be used via most *.sh tests
36905         * tests/init.sh: New file.
36906
36907 2009-11-25  Eric Blake  <ebb9@byu.net>
36908
36909         utimens: work around older Linux failure with symlinks
36910         * lib/utimens.c (lutimensat_works_really): New variable.
36911         (fdutimens, lutimens): Use it to manage kernels that support
36912         nanosecond times on files, but not on symlinks.
36913         Reported by Ondřej Vašík.
36914
36915         utimes: fix configure grammar
36916         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36917
36918 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36919
36920         regex: Fix fastmap for multibyte character ranges.
36921         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36922         characters when a multibyte character range is included.
36923
36924 2009-11-22  Andy Wingo  <wingo@pobox.com>
36925
36926         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36927         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36928
36929 2009-11-24  Bruno Haible  <bruno@clisp.org>
36930
36931         doc: Most *_l functions exist in MacOS X 10.5.
36932         * doc/posix-functions/duplocale.texi: Update platforms list.
36933         * doc/posix-functions/freelocale.texi: Likewise.
36934         * doc/posix-functions/newlocale.texi: Likewise.
36935         * doc/posix-functions/uselocale.texi: Likewise.
36936         * doc/posix-functions/isalnum_l.texi: Likewise.
36937         * doc/posix-functions/isalpha_l.texi: Likewise.
36938         * doc/posix-functions/isblank_l.texi: Likewise.
36939         * doc/posix-functions/iscntrl_l.texi: Likewise.
36940         * doc/posix-functions/isdigit_l.texi: Likewise.
36941         * doc/posix-functions/isgraph_l.texi: Likewise.
36942         * doc/posix-functions/islower_l.texi: Likewise.
36943         * doc/posix-functions/isprint_l.texi: Likewise.
36944         * doc/posix-functions/ispunct_l.texi: Likewise.
36945         * doc/posix-functions/isspace_l.texi: Likewise.
36946         * doc/posix-functions/isupper_l.texi: Likewise.
36947         * doc/posix-functions/iswalnum_l.texi: Likewise.
36948         * doc/posix-functions/iswalpha_l.texi: Likewise.
36949         * doc/posix-functions/iswblank_l.texi: Likewise.
36950         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36951         * doc/posix-functions/iswctype_l.texi: Likewise.
36952         * doc/posix-functions/iswdigit_l.texi: Likewise.
36953         * doc/posix-functions/iswgraph_l.texi: Likewise.
36954         * doc/posix-functions/iswlower_l.texi: Likewise.
36955         * doc/posix-functions/iswprint_l.texi: Likewise.
36956         * doc/posix-functions/iswpunct_l.texi: Likewise.
36957         * doc/posix-functions/iswspace_l.texi: Likewise.
36958         * doc/posix-functions/iswupper_l.texi: Likewise.
36959         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36960         * doc/posix-functions/isxdigit_l.texi: Likewise.
36961         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
36962         * doc/posix-functions/strcasecmp_l.texi: Likewise.
36963         * doc/posix-functions/strcoll_l.texi: Likewise.
36964         * doc/posix-functions/strfmon_l.texi: Likewise.
36965         * doc/posix-functions/strftime_l.texi: Likewise.
36966         * doc/posix-functions/strncasecmp_l.texi: Likewise.
36967         * doc/posix-functions/strxfrm_l.texi: Likewise.
36968         * doc/posix-functions/tolower_l.texi: Likewise.
36969         * doc/posix-functions/toupper_l.texi: Likewise.
36970         * doc/posix-functions/towctrans_l.texi: Likewise.
36971         * doc/posix-functions/towlower_l.texi: Likewise.
36972         * doc/posix-functions/towupper_l.texi: Likewise.
36973         * doc/posix-functions/wcscoll_l.texi: Likewise.
36974         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36975         * doc/posix-functions/wctrans_l.texi: Likewise.
36976         * doc/posix-functions/wctype_l.texi: Likewise.
36977         * doc/glibc-functions/strptime_l.texi: Likewise.
36978         * doc/glibc-functions/strtod_l.texi: Likewise.
36979         * doc/glibc-functions/strtof_l.texi: Likewise.
36980         * doc/glibc-functions/strtol_l.texi: Likewise.
36981         * doc/glibc-functions/strtold_l.texi: Likewise.
36982         * doc/glibc-functions/strtoll_l.texi: Likewise.
36983         * doc/glibc-functions/strtoul_l.texi: Likewise.
36984         * doc/glibc-functions/strtoull_l.texi: Likewise.
36985         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36986         * doc/glibc-functions/wcstod_l.texi: Likewise.
36987         * doc/glibc-functions/wcstof_l.texi: Likewise.
36988         * doc/glibc-functions/wcstol_l.texi: Likewise.
36989         * doc/glibc-functions/wcstold_l.texi: Likewise.
36990         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36991         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36992         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36993
36994 2009-11-24  Bruno Haible  <bruno@clisp.org>
36995
36996         duplocale: Fix logic bug.
36997         * lib/duplocale.c: Don't include <langinfo.h>.
36998         (_NL_LOCALE_NAME): Remove macro.
36999         (rpl_duplocale): Use setlocale instead of nl_langinfo.
37000         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
37001
37002 2009-11-23  Jim Meyering  <meyering@redhat.com>
37003
37004         test-update-copyright: don't hard-code /usr/bin/perl
37005         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
37006         perl to print the current year.  Gilles Espinasse reported that
37007         the replaced use of perl was hard-coded as /usr/bin/perl.
37008
37009 2009-11-23  Bruno Haible  <bruno@clisp.org>
37010
37011         duplocale: Add support for glibc 2.3.x.
37012         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
37013
37014 2009-11-22  Bruno Haible  <bruno@clisp.org>
37015
37016         vasnprintf: Tiny optimization.
37017         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
37018         MacOS X.
37019
37020 2009-11-22  Bruno Haible  <bruno@clisp.org>
37021
37022         Tests for module 'duplocale'.
37023         * modules/duplocale-tests: New file.
37024         * tests/test-duplocale.c: New file.
37025
37026         New module 'duplocale'.
37027         * m4/duplocale.m4: New file.
37028         * lib/locale.in.h (duplocale): New declaration.
37029         * lib/duplocale.c: New file.
37030         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
37031         gl_LOCALE_H_DEFAULTS): New macros.
37032         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
37033         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
37034         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
37035         REPLACE_DUPLOCALE.
37036         * modules/duplocale: New file.
37037         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
37038
37039 2009-11-22  Bruno Haible  <bruno@clisp.org>
37040
37041         * modules/locale-tests (configure.ac): Test for newlocale function.
37042         * tests/test-locale.c: When the system has extended locale functions,
37043         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
37044
37045         locale: Make locale_t available when possible.
37046         * lib/locale.in.h: Include <xlocale.h> when it exists.
37047         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
37048         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
37049         * modules/locale (Depends-on): Add extensions.
37050         (Makefile.am): Also substitute HAVE_XLOCALE_H.
37051         * doc/posix-headers/locale.texi: Document the problem with locale_t.
37052
37053 2009-11-22  Bruno Haible  <bruno@clisp.org>
37054
37055         Add comments.
37056         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
37057         invocation.
37058         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37059         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37060         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37061
37062 2009-11-22  Bruno Haible  <bruno@clisp.org>
37063
37064         error: account for the possibility of freopen (stdout).
37065         * lib/error.c: Include <unistd.h>.
37066         (flush_stdout): New function, extracted from error and error_at_line.
37067         Determine stdout's fd dynamically.
37068         (error, error_at_line): Invoke flush_stdout.
37069         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
37070         * modules/error (Depends-on): Add unistd.
37071
37072 2009-11-22  Bruno Haible  <bruno@clisp.org>
37073
37074         diffseq: Add comment.
37075         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
37076
37077 2009-11-22  Jim Meyering  <meyering@redhat.com>
37078
37079         c-stack: avoid defining an unused static function
37080         * lib/c-stack.c (find_stack_direction): Do not define this function
37081         when it will not be used.
37082
37083         diffseq: avoid spurious gcc warnings
37084         * lib/diffseq.h (IF_LINT2): Define.
37085         (compareseq): Use it to initialize two members of "part".
37086         This avoids two used-uninitialized warnings.
37087
37088 2009-11-21  Jim Meyering  <meyering@redhat.com>
37089
37090         c-stack: avoid "ignoring return value of `write'" warning
37091         * lib/c-stack.c: Include "ignore-value.h".
37092         (die): Explicitly ignore each write return value.
37093         * modules/c-stack (Depends-on): Add ignore-value.
37094
37095 2009-11-21  Bruno Haible  <bruno@clisp.org>
37096
37097         diffseq: reduce scope of variable 'best'.
37098         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
37099         variable, earlier used for two different purposes.
37100
37101 2009-11-21  Jim Meyering  <meyering@redhat.com>
37102
37103         diffseq: remove useless assignment to "best"
37104         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
37105         assignment.  At that point "best" is already guaranteed to be zero.
37106
37107 2009-11-20  Eric Blake  <ebb9@byu.net>
37108
37109         build: mention ftp redirector in release announcements
37110         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
37111         values that used to come from cfg.mk; mention FTP redirect URL.
37112         * build-aux/announce-gen: Mention the mirror list.
37113         Suggested by Karl Berry.
37114
37115         nanosleep: improve port to mingw
37116         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
37117         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
37118         LIB_NANOSLEEP, but only when needed.
37119         * modules/select (Link): Document LIBSOCKET.
37120         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
37121         enough.
37122
37123         nanosleep: work around cygwin bug
37124         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
37125         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
37126         bug.
37127         (getnow): Delete, not needed.
37128         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
37129         LIB_CLOCK_GETTIME.
37130         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
37131         clock-time, gettime.
37132         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
37133         bug.
37134         * modules/nanosleep-tests: New test.
37135         * tests/test-nanosleep.c: New file.
37136
37137         sleep: work around cygwin bug
37138         * lib/sleep.c (rpl_sleep): Work around the bug.
37139         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
37140         (gl_PREREQ_SLEEP): Delete unused macro.
37141         * modules/sleep (Depends-on): Add verify.
37142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37143         * modules/unistd (Makefile.am): Substitute witness.
37144         * lib/unistd.in.h (sleep): Update prototype.
37145         * doc/posix-functions/sleep.texi (sleep): Document the bug.
37146         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
37147         * modules/sleep-tests (Depends-on): Check for alarm.
37148
37149 2009-11-20  Jim Meyering  <meyering@redhat.com>
37150
37151         maint.mk: improve sc_prohibit_magic_number_exit
37152         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
37153         so it does not match uses like System.exit(1).
37154         Add comments showing how to correct all offenders.
37155
37156 2009-11-19  Eric Blake  <ebb9@byu.net>
37157
37158         xalloc-die-tests: add missing library
37159         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
37160
37161         test-xvasprintf: silence compiler warnings
37162         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
37163         empty string from gcc.
37164
37165 2009-11-19  Jim Meyering  <meyering@redhat.com>
37166
37167         xfreopen: new module, from coreutils
37168         * modules/xfreopen: New module.
37169         * lib/xfreopen.c: New file.
37170         * lib/xfreopen.h: New file.
37171         * MODULES.html.sh (File stream based Input/Output"): Add it.
37172
37173 2009-11-19  Eric Blake  <ebb9@byu.net>
37174
37175         manywarnings: depend on warnings
37176         * modules/manywarnings (Depends-on): Add warnings.
37177
37178         build: avoid compiler warnings
37179         * lib/select.c (rpl_select): Delete unused variable.
37180         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
37181
37182 2009-11-18  Eric Blake  <ebb9@byu.net>
37183
37184         tests: avoid false negative with --with-packager
37185         * tests/test-version-etc.sh: Discard packager information.
37186         * tests/test-argp-version-etc-1.sh: Likewise.
37187         Reported by Mike Frysinger.
37188
37189         utimens: fix regression on Solaris
37190         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
37191         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
37192         can only change fd timestamps via futimesat.  Instead, use an
37193         additional witness macro to avoid BSD bug.
37194         Reported by Jim Meyering.
37195
37196 2009-11-17  Eric Blake  <ebb9@byu.net>
37197
37198         usleep: use it to simplify tests
37199         * modules/stat-time-tests (Depends-on): Add usleep.
37200         (configure.ac): Drop usleep check.
37201         * modules/chown-tests (Depends-on, configure.ac): Likewise.
37202         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
37203         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
37204         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
37205         * modules/openat-tests (Depends-on, configure.ac): Likewise.
37206         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
37207         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
37208         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
37209         Likewise.
37210         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
37211         * tests/test-lchown.h (nap): Likewise.
37212         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
37213         * tests/test-stat-time.c (nap): Likewise.
37214         * tests/test-utimens-common.h (nap): Update comments.
37215
37216         usleep: new module
37217         * modules/usleep: New file.
37218         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
37219         * lib/usleep.c (usleep): Likewise.
37220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37221         * modules/unistd (Makefile.am): Substitute witnesses.
37222         * lib/unistd.in.h (usleep): Add declaration.
37223         * doc/pastposix-functions/usleep.texi (usleep): Document this.
37224         * MODULES.html.sh (Date and time): Likewise.
37225         * modules/usleep-tests (Depends-on): New test.
37226         * tests/test-usleep.c: New file.
37227
37228         chown: work around OpenBSD bug
37229         * lib/chown.c (rpl_chown): Work around the bug.
37230         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
37231         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
37232         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
37233         * modules/chown (Depends-on): Add stdbool.
37234         * modules/lchown (Depends-on): Likewise.
37235         * doc/posix-functions/chown.texi (chown): Document the bug.
37236         * doc/posix-functions/lchown.texi (lchown): Likewise.
37237         * tests/test-lchown.h (test_chown): Relax test.
37238
37239         mkstemp: avoid conflict with C++ keyword template
37240         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
37241         * lib/mkostemp.c (mkostemp): Likewise.
37242         * lib/mkostemps.c (mkostemps): Likewise.
37243         * lib/mkstemp.c (mkstemp): Likewise.
37244         * lib/mkstemps.c (mkstemps): Likewise.
37245
37246         xalloc-die-tests: optimize
37247         * tests/test-xalloc-die.sh: Reduce number of processes.
37248
37249 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37250
37251         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
37252         patch from ludo@gnu.org (Ludovic Courtès).
37253
37254 2009-11-17  Jim Meyering  <meyering@redhat.com>
37255
37256         version-etc: use proper license string
37257         * modules/version-etc (License): Use LGPL, not LGPLv3+.
37258         * modules/version-etc-fsf: Likewise.
37259
37260 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37261
37262         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
37263         printed to stdout.  Deal with EOL differences.
37264
37265 2009-11-17  Eric Blake  <ebb9@byu.net>
37266
37267         unsetenv: work around Solaris bug
37268         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
37269         * lib/unsetenv.c (rpl_unsetenv): Work around it.
37270         Reported by Jim Meyering.
37271
37272         vasnprintf: avoid compiler warnings
37273         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
37274         variables.
37275         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
37276
37277 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37278
37279         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
37280         settings since xalloc-die is no longer the self test,
37281         xalloc-die.sh is.
37282
37283 2009-11-17  Jim Meyering  <meyering@redhat.com>
37284
37285         test-xalloc-die.sh: make the code agree with the commit log
37286         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
37287         at the end, just in case you happen to have a test-xalloc-die
37288         program in some other PATH directory.
37289
37290         test-xalloc-die.sh: fix a portability bug
37291         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
37292         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
37293         Otherwise, argv[0] (as often seen in diagnostics) would be too
37294         system-dependent, sometimes with, and sometimes without the leading "./".
37295
37296         version-etc-fsf: relax license to LGPLv3+
37297         * modules/version-etc-fsf (License): Relax license.
37298
37299 2009-11-16  Eric Blake  <ebb9@byu.net>
37300
37301         xalloc-die-tests: avoid printing null pointer
37302         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
37303         shell script.
37304         * tests/test-xalloc-die.c (program_name): Declare.
37305         * tests/test-xalloc-die.sh (tmpfiles): New file.
37306
37307         setenv, unsetenv: work around various bugs
37308         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
37309         (setenv) [HAVE_SETENV]: Work around bugs.
37310         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
37311         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
37312         for bugs.
37313         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
37314         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
37315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
37316         * modules/stdlib (Makefile.am): Update substitutions.
37317         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
37318         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
37319         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37320         * modules/setenv-tests: New test.
37321         * modules/unsetenv-tests: Likewise.
37322         * tests/test-setenv.c: New file.
37323         * tests/test-unsetenv.c: Likewise.
37324
37325 2009-11-16  Jim Meyering  <meyering@redhat.com>
37326
37327         version-etc: relax license to LGPLv3+
37328         * modules/version-etc (License): Relax license.
37329
37330         better AC_REQUIRE expanded-before-required-warning avoidance
37331         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
37332         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
37333         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
37334         which is no longer needed.
37335
37336 2009-11-16  Eric Blake  <ebb9@byu.net>
37337
37338         test-freading: clean up temporary file
37339         * tests/test-freading.c (main): Remove file on success, and use
37340         ASSERT more liberally.
37341         Reported by Jim Meyering.
37342
37343 2009-11-16  Jim Meyering  <meyering@redhat.com>
37344
37345         avoid new AC_REQUIRE expanded-before-required warnings
37346         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
37347         merely using it.
37348         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
37349         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
37350
37351 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37352
37353         * tests/test-xalloc-die.c: New file.
37354         * modules/xalloc-die-tests: New file.
37355         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
37356         XFAIL_TESTS so it can be appended by modules.
37357
37358 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37359
37360         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
37361         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
37362
37363 2009-11-14  Eric Blake  <ebb9@byu.net>
37364
37365         fnmatch: avoid compiler warning
37366         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
37367         to silence compiler warning about mismatch signedness in ?:.
37368         Reported by Robert Millan.
37369
37370         intprops: add double-inclusion guard
37371         * lib/intprops.h: Allow idempotent includes.
37372         Suggested by Bruce Korb.
37373
37374         openat: detect Solaris fchownat bug
37375         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
37376         penalizing glibc chownat when only lchownat is broken.
37377         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
37378         trailing slash bugs.
37379         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
37380         * modules/openat-tests (Files): Include more files.
37381         (Depends-on): Add mgetgroups, sleep, stat-time.
37382         (configure.ac): Add additional checks.
37383         (Makefile.am): Build new test.
37384         * tests/test-fchownat.c: New file.
37385
37386         lchown: detect Solaris and FreeBSD bug
37387         * lib/lchown.c (rpl_lchown): Work around bug.
37388         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
37389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37390         * modules/unistd (Makefile.am): Populate it.
37391         * lib/unistd.in.h (lchown): Update declaration.
37392         * doc/posix-functions/lchown.texi (lchown): Document the bug.
37393         * modules/lchown-tests: New file.
37394         * tests/test-lchown.h (test_lchown): Likewise.
37395         * tests/test-lchown.c (main): Likewise.
37396
37397         chown: detect Solaris and FreeBSD bug
37398         * lib/chown.c (rpl_chown): Work around bug.
37399         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
37400         (gl_PREREQ_CHOWN): Delete.
37401         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37402         * modules/unistd (Makefile.am): Populate it.
37403         * lib/unistd.in.h (chown): Update declaration.
37404         * lib/lchown.c (chown): Update client.
37405         * modules/lchown (Depends-on): Add lstat.
37406         * doc/posix-functions/chown.texi (chown): Document the bug.
37407         * doc/posix-functions/getgroups.texi (getgroups): Document
37408         getgroups pitfall.
37409         * modules/chown-tests: New file.
37410         * tests/test-chown.h (test_chown): Likewise.
37411         * tests/test-chown.c (main): Likewise.
37412
37413 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
37414
37415         gnulib-tool: correctly detect absence of m4 directories
37416         * gnulib-tool: Avoid extra newline on data passed to wc -l.
37417
37418 2009-11-14  Jim Meyering  <meyering@redhat.com>
37419
37420         maint.mk: Prohibit inclusion of "xalloc.h" without use.
37421         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37422
37423 2009-11-14  John W. Eaton  <jwe@gnu.org>
37424
37425         strftime.h: wrap funtion declaration in extern "C" block
37426         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
37427
37428 2009-11-13  Eric Blake  <ebb9@byu.net>
37429
37430         getgroups: avoid compiler warning
37431         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
37432
37433         getgroups: work around FreeBSD bug
37434         * lib/getgroups.c (rpl_getgroups): Work around the bug.
37435         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
37436         * doc/posix-functions/getgroups.texi (getgroups): Document it.
37437         * tests/test-getgroups.c (main): Fix buffer overrun.
37438
37439         getgroups: avoid compilation failure
37440         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
37441         * modules/getgroups (Depends-on): Add stdint.
37442
37443 2009-11-13  Jim Meyering  <meyering@redhat.com>
37444
37445         test-getgroups: avoid compilation failure
37446         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
37447
37448 2009-11-13  Eric Blake  <ebb9@byu.net>
37449
37450         mgetgroups: new module, taken from coreutils
37451         * modules/mgetgroups: New file.
37452         * lib/mgetgroups.h: Likewise.
37453         * lib/mgetgroups.c (mgetgroups): Likewise.
37454         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
37455         * MODULES.html.sh (Users and groups): Mention it.
37456
37457         getgroups: don't expose GETGROUPS_T to user
37458         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
37459         an element at a time if GETGROUPS_T is wrong size.
37460         * lib/getugroups.h (getugroups): Change signature.
37461         * lib/unistd.in.h (getgroups): Likewise.
37462         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
37463         signature needs fixing.
37464         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
37465         AC_TYPE_GETGROUPS.
37466         * modules/group-member (Depends-on): Add getgroups.
37467         * lib/group-member.c (group_info, get_group_info): Use gid_t.
37468         (group_member): Rely on getgroups replacement.
37469         * lib/getugroups.c (getugroups): Use gid_t.
37470         * tests/test-getgroups.c (main): Likewise.
37471         * NEWS: Mention the signature change.
37472         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37473         problem with signature.
37474         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
37475         GETGROUPS_T is still useful for setgroups.
37476
37477         getgroups, getugroups: provide stubs for mingw
37478         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
37479         * lib/getugroups.c (getugroups): Likewise.
37480         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
37481         function.  Modernize replacement scheme.
37482         (gl_PREREQ_GETGROUPS): Delete.
37483         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
37484         * modules/getgroups (configure.ac): Declare witness.
37485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37486         * modules/unistd (Depends-on): Substitute witness.
37487         * lib/unistd.in.h (getgroups): Declare replacement.
37488
37489         getgroups: avoid calling exit
37490         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
37491         drop xalloc.
37492         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
37493         dependencies.
37494         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
37495         exiting, in the rare case of malloc failure.
37496
37497         getgroups: fix logic error
37498         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
37499         has more than 20 groups.
37500         * modules/getgroups-tests: New test.
37501         * tests/test-getgroups.c: New file.
37502
37503 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37504
37505         * tests/test-base64.c: Improve.
37506
37507 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37508
37509         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
37510         Blake <ebb9@byu.net>.
37511
37512 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37513
37514         * tests/test-xvasprintf.c: Add %s%s related checks.
37515
37516 2009-11-12  Eric Blake  <ebb9@byu.net>
37517
37518         version-etc: match standards.texi style
37519         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
37520         and use <> only for URLs.
37521
37522 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
37523
37524         fts: do not fail on a submount during traversal
37525         * lib/fts.c (fts_build): Read the stat info again after opening
37526         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
37527         Original report at http://bugzilla.redhat.com/501848.
37528
37529 2009-11-12  Jim Meyering  <meyering@redhat.com>
37530
37531         bootstrap: sync from coreutils
37532         * build-aux/bootstrap (bootstrap_epilogue): New function.
37533         Use git_modules_config in one more place.  This make bootstrap's
37534         --gnulib-srcdir option more useful for testing.
37535
37536         bootstrap: generalize autoheader check
37537         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
37538         AC_CONFIG_HEADERS.
37539
37540 2009-11-11  Eric Blake  <ebb9@byu.net>
37541
37542         mkfifoat: use new modules for Solaris and BSD bugs
37543         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
37544         * lib/mkfifoat.c (mknodat): Split...
37545         * lib/mknodat.c (mknodat): ...into new file.
37546         * modules/mkfifoat (Files): Ship new file.
37547         (Depends-on): Add mkfifo, mknod.
37548         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
37549         (Depends-on): Add symlink.
37550         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
37551         redundant with test_mkfifo.h.
37552         (do_mkfifoat, do_mknodat): New helpers.
37553
37554         mknod: new module
37555         * modules/mknod: New file.
37556         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
37557         * lib/mknod.c (mknod): Likewise.
37558         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37559         defaults.
37560         * modules/sys_stat (Makefile.am): Substitute them.
37561         * lib/sys_stat.in.h (mknod): Declare replacement.
37562         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37563         Document it.
37564         * doc/posix-functions/mknod.texi (mknod): Likewise.
37565         * modules/mknod-tests: New test.
37566         * tests/test-mknod.c: Likewise.
37567
37568         mkfifo: new module
37569         * modules/mkfifo: New file.
37570         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
37571         * lib/mkfifo.c (mkfifo): Likewise.
37572         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37573         defaults.
37574         * modules/sys_stat (Makefile.am): Substitute them.
37575         * lib/sys_stat.in.h (mkfifo): Declare replacement.
37576         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37577         Document it.
37578         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
37579         * modules/mkfifo-tests: New test.
37580         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
37581         from test-mkfifoat.c.
37582         * tests/test-mkfifo.c: New file.
37583
37584         readlink: detect FreeBSD bug
37585         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
37586         slash on symlink.
37587         * doc/posix-functions/readlink.texi (readlink): Document the bug.
37588         * tests/test-readlink.h (test_readlink): Enhance test.
37589
37590         symlink: detect FreeBSD bug
37591         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
37592         slash on symlink.
37593         * doc/posix-functions/symlink.texi (symlink): Document the bug.
37594         * tests/test-symlink.h (test_symlink): Enhance test.
37595
37596 2009-11-10  Eric Blake  <ebb9@byu.net>
37597
37598         link: detect FreeBSD bug
37599         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
37600         symlink.
37601         * doc/posix-functions/link.texi (link): Document the bug.
37602         * tests/test-link.h (test_link): Enhance test.
37603         * tests/test-linkat.c (main): Update caller.
37604
37605         unlink, remove: detect FreeBSD bug
37606         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
37607         slash on symlink.
37608         * doc/posix-functions/unlink.texi (unlink): Document the bug.
37609         * doc/posix-functions/remove.texi (remove): Likewise.
37610         * tests/test-unlink.h (test_unlink): Enhance test.
37611         * tests/test-remove.c (main): Likewise.
37612
37613 2009-11-09  Eric Blake  <ebb9@byu.net>
37614
37615         rename: detect FreeBSD bug
37616         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
37617         slash on symlink.
37618         * modules/renameat-tests (Depends-on): Add filenamecat.
37619         * tests/test-rename.h (test_rename): Allow one more errno.
37620         * tests/test-renameat.c (main): Likewise.
37621         * doc/posix-functions/rename.texi (rename): Document the bug.
37622
37623         open: detect FreeBSD bug
37624         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
37625         symlink.
37626         * doc/posix-functions/open.texi (open): Document the bug.
37627         * doc/posix-functions/utimes.texi (utimes): Likewise.
37628         * tests/test-open.h (test_open): Add parameters, and test symlink
37629         handling.
37630         * tests/test-open.c (main): Adjust caller.
37631         * tests/test-fcntl-safer.c (main): Likewise.
37632         * modules/open-tests (Depends-on): Add stdbool, symlink.
37633         * modules/fcntl-safer-tests (Depends-on): Likewise.
37634         * tests/test-openat.c (main): Add test-open tests.
37635
37636         stat: detect FreeBSD bug
37637         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
37638         symlink.
37639         * doc/posix-functions/stat.texi (stat): Document the bug.
37640         * tests/test-stat.h (test_stat_func): Add argument.
37641         * tests/test-stat.c (main): Adjust caller.
37642         * tests/test-fstatat.c (main): Likewise.
37643         * modules/stat-tests (Depends-on): Add stdbool, symlink.
37644         Reported by Jim Meyering.
37645
37646 2009-11-09  James Youngman  <jay@gnu.org>
37647
37648         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
37649         * lib/strftime.c: Correct placement of #include "ignore-value.h".
37650
37651 2009-11-08  Jim Meyering  <meyering@redhat.com>
37652
37653         utimens: remove invalid futimesat call
37654         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
37655         It used the file descriptor of the target file as the DIR_FD
37656         parameter and NULL as the file name.  That caused failure with
37657         errno == EFAULT on FreeBSD-8.0-rc2
37658
37659 2009-11-07  Eric Blake  <ebb9@byu.net>
37660
37661         fflush, freadseek: use fseeko, not fseek
37662         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37663         (clear_ungetc_buffer): Avoid potential problems on large files.
37664         * lib/freadseek.c (freadseek): Likewise.
37665         * modules/freadseek (Depends-on): Add fseeko.
37666         * modules/fseek (configure.ac): Set a witness.
37667         * tests/test-fflush.c (main): Use fseeko.
37668         * tests/test-fpurge.c (fseek): Disable link warning.
37669         * tests/test-freadable.c (fseek): Likewise.
37670         * tests/test-freading.c (fseek): Likewise.
37671         * tests/test-fseeko.c (fseek): Likewise.
37672         * tests/test-ftell.c (fseek): Likewise.
37673         * tests/test-ftello.c (fseek): Likewise.
37674         * tests/test-fwritable.c (fseek): Likewise.
37675         * tests/test-fwriting.c (fseek): Likewise.
37676
37677 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37678
37679         * modules/memchr (Depends-on): Drop getpagesize dependency.
37680
37681 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37682
37683         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37684         Reported by Ludovic Courtès.
37685         * build-aux/pmccabe2html: Improve example usage.
37686         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37687
37688 2009-11-06  Jim Meyering  <meyering@redhat.com>
37689
37690         do-release-commit-and-tag: New module.
37691         Automate the release-commit and tag process.
37692         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37693         * modules/do-release-commit-and-tag: New file.
37694         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37695
37696 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37697
37698         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37699         because test-select.c uses inet_pton.
37700
37701 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37702
37703         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37704         GETADDRINFO_LIB.  Bump serial number.
37705         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37706         Suggested by Eric Blake <ebb9@byu.net>.
37707
37708 2009-11-05  Eric Blake  <ebb9@byu.net>
37709
37710         strtod: detect darwin bug
37711         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37712         Reported by Leo Davis.
37713
37714         freopen-safer: new module
37715         * modules/freopen-safer: New module.
37716         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37717         * lib/freopen-safer.c (freopen_safer): New file.
37718         * lib/stdio-safer.h (freopen_safer): New declaration.
37719         * lib/stdio--.h (freopen): New override.
37720         * MODULES.html.sh (File stream based Input/Output): Mention it.
37721         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37722         freopen-safer module.
37723         * doc/posix-functions/stderr.texi (stderr): Likewise.
37724         * doc/posix-functions/stdin.texi (stdin): Likewise.
37725         * doc/posix-functions/stdout.texi (stdout): Likewise.
37726         * modules/freopen-safer-tests: New test.
37727         * tests/test-reopen-safer.c: New file.
37728
37729 2009-11-05  Jim Meyering  <meyering@redhat.com>
37730
37731         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37732         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37733
37734 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37735
37736         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37737
37738 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37739
37740         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37741
37742 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37743
37744         Fix link error.
37745         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37746         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37747
37748 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37749
37750         * tests/test-func.c: Also test value of __func__.
37751
37752 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37753
37754         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37755         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37756
37757 2009-11-05  Bruno Haible  <bruno@clisp.org>
37758
37759         Fix link error.
37760         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37761         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37762         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37763
37764 2009-11-05  Bruno Haible  <bruno@clisp.org>
37765
37766         Tests for module 'inet_pton'.
37767         * modules/inet_pton-tests: New file.
37768         * tests/test-inet_pton.c: New file.
37769
37770 2009-11-05  Bruno Haible  <bruno@clisp.org>
37771
37772         Tests for module 'inet_ntop'.
37773         * modules/inet_ntop-tests: New file.
37774         * tests/test-inet_ntop.c: New file.
37775
37776 2009-11-04  Eric Blake  <ebb9@byu.net>
37777
37778         stdlib-safer: wrap all mkstemp variants
37779         * modules/mkostemp (configure.ac): Set witness.
37780         * modules/mkostemps (configure.ac): Likewise.
37781         * modules/mkstemps (configure.ac): Likewise.
37782         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37783         (mkstemps_safer): Wrap more functions.
37784         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37785         wrapping.
37786         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37787         (mkstemps_safer): Implement the wrappers.
37788
37789         mkstemps, mkostemps: new modules
37790         * modules/mkostemps: New module.
37791         * modules/mkstemps: Likewise.
37792         * lib/mkostemps.c (mkostemps): New file.
37793         * lib/mkstemps.c (mkstemps): Likewise.
37794         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37795         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37796         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37797         * modules/stdlib (Makefile.am): Substitute them.
37798         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37799         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37800         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37801         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37802         * MODULES.html.sh (File system functions): Mention them.
37803
37804         tempname: resync from glibc
37805         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37806         same values for __GT_FILE as glibc.  Abort even when assertions
37807         are disabled.
37808         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37809         match its value otherwise.  Allow idempotent inclusion.
37810         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37811         * lib/mkostemp.c (mkostemp): Likewise.
37812         * lib/mkstemp.c (mkstemp): Likewise.
37813         * lib/tmpfile.c (tmpfile): Likewise.
37814         * NEWS: Document this.
37815
37816         utimens: fix use of futimens on older Linux
37817         * lib/utimens.c (fdutimens): Use updated, rather than original,
37818         timespec to avoid bug in older Linux kernel.
37819         Reported by Simon Josefsson.
37820
37821 2009-11-04  Bruno Haible  <bruno@clisp.org>
37822
37823         Make num_processors more flexible and consistent.
37824         * lib/nproc.h (enum nproc_query): New type.
37825         (num_processors): Add a 'query' argument.
37826         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
37827         (num_processors): Add a 'query' argument. Test the value of the
37828         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
37829         mingw, count the number of CPUs available for the current process.
37830         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
37831         Check for sched_getaffinity and sched_getaffinity_np.
37832         * modules/nproc (Depends-on): Add c-ctype, extensions.
37833         * NEWS: Mention the change.
37834
37835 2009-11-03  Bruno Haible  <bruno@clisp.org>
37836
37837         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
37838
37839 2009-11-03  Jim Meyering  <meyering@redhat.com>
37840
37841         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
37842         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
37843         if it is defined.
37844
37845 2009-11-02  Eric Blake  <ebb9@byu.net>
37846
37847         mktime, timegm: share common declaration
37848         * lib/mktime-internal.h: New file.
37849         * lib/mktime.c: Use it rather than open-coding a declaration.
37850         * lib/timegm.c: Likewise.
37851         * modules/mktime (Files): Ship it.
37852         * modules/timegm (Files): Likewise.
37853         Suggested by Bruno Haible.
37854
37855         test-update-copyright: update test to match script changes
37856         * tests/test-update-copyright.sh: Avoid hard-coding perl
37857         location.  Don't update *.bak created by earlier runs.
37858
37859 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37860             Simon Josefsson  <simon@josefsson.org>
37861             Bruno Haible  <bruno@clisp.org>
37862
37863         Fix link error on Solaris 8.
37864         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37865         also in libnsl. Define also INET_PTON_LIB.
37866         * modules/inet_pton (Link): New section.
37867
37868 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37869             Bruno Haible  <bruno@clisp.org>
37870
37871         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37872         * modules/inet_ntop (Link): New section.
37873         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37874
37875 2009-11-02  Eric Blake  <ebb9@byu.net>
37876
37877         maint: avoid compiler warnings in m4 macros
37878         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37879         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37880
37881 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37882
37883         * m4/pmccabe2html.m4: Remove file.
37884         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37885         function.  Change maintainer.
37886         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37887         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37888         Courtès).
37889
37890 2009-10-31  Eric Blake  <ebb9@byu.net>
37891
37892         fseeko: fix m4 regression
37893         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37894         regression from 2009-10-27.
37895         Reported by Ralf Wildenhues.
37896
37897 2009-10-31  Jim Meyering  <meyering@redhat.com>
37898
37899         inttostr: aesthetics and improved (compile-time) safety
37900         Define inttype_is_signed rather than inttype_is_unsigned,
37901         since the sole use is via "#if inttype_is_signed".
37902         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37903         inttype_is_unsigned.
37904         * lib/offtostr.c (inttype_is_signed): Likewise.
37905         * lib/uinttostr.c (inttype_is_signed): Likewise.
37906         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37907         * lib/inttostr.c (inttostr): Use verify to cross-check the
37908         inttype_is_signed value and the signedness of the actual type.
37909         * modules/inttostr (Depends-on): Add verify.
37910
37911 2009-10-30  Eric Blake  <ebb9@byu.net>
37912
37913         build: avoid compiler warnings
37914         * lib/fchmodat.c (lchmod): Mark unused variables.
37915         * lib/getopt.c (_getopt_initialize): Likewise.
37916         * lib/mktime.c (__mktime_internal): Provide prototype.
37917         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37918         older gcc that do not understand #pragma GCC diagnostic.
37919         * lib/uinttostr.c (inttype_is_unsigned): Define.
37920         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37921
37922 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37923
37924         stat: fix compilation on AIX
37925         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37926         only see struct stat64.
37927
37928 2009-10-30  Eric Blake  <ebb9@byu.net>
37929
37930         exclude: make more robust
37931         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37932         rather than masking a coding bug.
37933         Suggested by Bruno Haible.
37934
37935 2009-10-30  Jim Meyering  <meyering@redhat.com>
37936
37937         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37938         Rather than putting #!/usr/bin/perl on the first line,
37939         start with a variant of what's recommended by "man perlrun" that
37940         invokes the first "perl" program from your shell's search path.
37941         * build-aux/gitlog-to-changelog: Replace #!... as above.
37942         Add a "Local Variables" perl mode setting.
37943         Prompted by a patch from Ludovic Courtès.
37944         Improved by Eric Blake.
37945         * build-aux/useless-if-before-free: Likewise.
37946         * build-aux/announce-gen: Likewise.
37947         * build-aux/update-copyright: Likewise.
37948
37949 2009-10-29  Eric Blake  <ebb9@byu.net>
37950
37951         filenamecat-lgpl: adjust clients
37952         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37953         filenamecat.
37954         * modules/renameat (Depends-on): Likewise.
37955
37956         filenamecat: split into filenamecat-lgpl
37957         * modules/filenamecat-lgpl: New module.
37958         * modules/filenamecat (Files): Move library-safe files into
37959         filenamecat-lgpl.
37960         (Depends-on): Add filenamecat-lgpl.
37961         (configure.ac): Declare witness.
37962         * lib/filenamecat.h (file_name_concat): Only declare when using
37963         GPL module.
37964         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
37965         Move...
37966         * lib/filenamecat-lgpl.c: ...into new file.
37967         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
37968         (gl_FILE_NAME_CONCAT): Use it.
37969         * MODULES.html.sh (File system functions): Mention new module.
37970
37971         argp: avoid memory leak
37972         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
37973         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
37974         base_name, since the latter malloc()s and can call exit().
37975         Leak introduced 2006-07-03.
37976
37977         dirname-lgpl: adjust clients that don't need full dirname
37978         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
37979         * modules/filenamecat (Depends-on): Likewise.
37980         * modules/linkat (Depends-on): Likewise.
37981         * modules/mkancesdirs (Depends-on): Likewise.
37982         * modules/mkdir (Depends-on): Likewise.
37983         * modules/openat (Depends-on): Likewise.
37984         * modules/savewd (Depends-on): Likewise.
37985         * modules/rename (Depends-on): Likewise.
37986         (License): Relax license.
37987         * modules/mkdir-tests (Depends-on): Drop progname.
37988         (Makefile.am): Delete unneeded LDADD.
37989         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
37990
37991         dirname: split into dirname-lgpl
37992         * modules/dirname-lgpl: New module.
37993         * modules/dirname (Files): Move library-safe files into
37994         dirname-lgpl.
37995         (Depends-on): Add dirname-lgpl.
37996         (configure.ac): Declare witness.
37997         * modules/double-slash-root (License): Relax license.
37998         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
37999         module.
38000         * lib/dirname.c (dir_len, mdir_name): Move...
38001         * lib/dirname-lgpl.c: ...into new file.
38002         * lib/basename.c (last_component, base_len): Move...
38003         * lib/basename-lgpl.c: ...into new file.
38004         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
38005         (gl_DIRNAME): Use it.
38006         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
38007         Mention new module.
38008         * modules/dirname-tests (Depends-on): Add progname.
38009         * tests/test-dirname.c (program_name): Delete.
38010
38011         mkdir: make safe for libraries
38012         * modules/mkdir (Depends-on): Drop xalloc.
38013         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
38014         exit.
38015
38016         tests: avoid some compiler warnings
38017         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
38018         literals.
38019         * tests/test-memchr.c (main): Avoid type mismatch.
38020         * tests/test-arpa_inet.c (main): Avoid unused parameters.
38021         * tests/test-base64.c (main): Likewise.
38022         * tests/test-getdelim.c (main): Likewise.
38023         * tests/test-gethostname.c (main): Likewise.
38024         * tests/test-getline.c (main): Likewise.
38025         * tests/test-netinet_in.c (main): Likewise.
38026         * tests/test-select.c (open_server_socket, main): Likewise.
38027         * tests/test-select-stdin.c (main): Likewise.
38028         * tests/test-sockets.c (main): Likewise.
38029         * tests/test-strsignal.c (main): Likewise.
38030         * tests/test-sys_select.c (main): Likewise.
38031         * tests/test-sys_socket.c (main): Likewise.
38032         * tests/test-u64.c (main): Likewise.
38033         * tests/test-xfprintf-posix.c (main): Likewise.
38034         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
38035
38036         sockets: avoid compiler warning
38037         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
38038
38039         maint: detect usage(1) and other suspicious exits
38040         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
38041
38042 2009-10-29  Jim Meyering  <meyering@redhat.com>
38043
38044         timespec: long-to-int truncation could make timespec_cmp malfunction
38045         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
38046         a multiple of 2^32 nanoseconds as no difference.
38047
38048 2009-10-28  Jim Meyering  <meyering@redhat.com>
38049
38050         fprintftime: wrap macro code argument in "do {...} while(0)"
38051         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
38052         cpy macro must be a statement that can be followed by a semicolon.
38053         Now that the else clause contains a comment and is hence longer
38054         than one line, I require curly braces.  That in turn requires
38055         that we wrap this code block in the standard do...while(0).
38056
38057         fprintftime: remove stray semicolon from previous change
38058         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
38059
38060         fprintftime: avoid a warning about ignored fwrite return value
38061         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
38062         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
38063         that is unsafe.
38064         * modules/fprintftime (Depends-on): Add ignore-value.
38065
38066         exclude: avoid an unwarranted warning
38067         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
38068
38069 2009-10-27  Eric Blake  <ebb9@byu.net>
38070
38071         fseek: avoid compilation failure when fflush is replaced
38072         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
38073         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
38074         module is in use.
38075         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
38076         module is not in use; since REPLACE_FSEEK worked otherwise.
38077         (GNULIB_FTELLO): Likewise for ftell.
38078         Reported by Ian Beckwith and others.
38079
38080 2009-10-27  Bruno Haible  <bruno@clisp.org>
38081
38082         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
38083         Reported by Jim Meyering.
38084
38085 2009-10-27  Jim Meyering  <jim@meyering.net>
38086             Bruno Haible  <bruno@clisp.org>
38087
38088         Avoid warning despite dropping the return value of fwrite.
38089         * lib/unicodeio.c: Include ignore-value.h.
38090         (fwrite_success_callback): Explicitly ignore fwrite's return value.
38091         * modules/unicodeio (Depends-on): Add ignore-value.
38092
38093 2009-10-26  Eric Blake  <ebb9@byu.net>
38094
38095         areadlinkat: fix fallback path
38096         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
38097         pointer and zero.
38098
38099 2009-10-22  Pádraig Brady  <P@draigBrady.com>
38100
38101         Use a better IO block size for modern systems
38102         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
38103         * lib/md2.c: Likewise.
38104         * lib/md4.c: Likewise.
38105         * lib/md5.c: Likewise.
38106         * lib/sha1.c: Likewise.
38107         * lib/sha256.c: Likewise.
38108         * lib/sha512.c: Likewise.
38109
38110 2009-10-22  Eric Blake  <ebb9@byu.net>
38111
38112         tests: avoid several compiler warnings
38113         * tests/test-getcwd.c (main): Avoid buffer underflow.
38114         * tests/test-getdate.c (main): String literals are not safe with
38115         putenv, so use setenv.  Declare unused argument.
38116         * modules/getdate-tests (Depends-on): Add setenv.
38117         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
38118         problems with string literals in char *.
38119         * tests/test-hash.c (main): Avoid shadowing declaration.
38120         (insert_new): Treat string literals as char const *.
38121         * tests/test-getopt.h (test_getopt): Likewise.
38122         (getopt_loop): Alter types to minimize casting elsewhere.
38123         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
38124         (test_getopt_long_posix): Likewise.
38125         (do_getopt_long): Add wrapper to minimize casting.
38126         * tests/test-atexit.c (clear_temp_file): Use void.
38127         * tests/test-areadlink-with-size.c (main): Declare unused
38128         arguments.
38129         * tests/test-areadlink.c (main): Likewise.
38130         * tests/test-areadlinkat-with-size.c (main): Likewise.
38131         * tests/test-areadlinkat.c (main): Likewise.
38132         * tests/test-canonicalize-lgpl.c (main): Likewise.
38133         * tests/test-canonicalize.c (main): Likewise.
38134         * tests/test-dirent-safer.c (main): Likewise.
38135         * tests/test-dirname.c (main): Likewise.
38136         * tests/test-dup2.c (main): Likewise.
38137         * tests/test-fchdir.c (main): Likewise.
38138         * tests/test-fcntl-h.c (main): Likewise.
38139         * tests/test-fcntl-safer.c (main): Likewise.
38140         * tests/test-fdopendir.c (main): Likewise.
38141         * tests/test-fdutimensat.c (main): Likewise.
38142         * tests/test-fflush.c (main): Likewise.
38143         * tests/test-filenamecat.c (main): Likewise.
38144         * tests/test-filevercmp.c (main): Likewise.
38145         * tests/test-fopen-safer.c (main): Likewise.
38146         * tests/test-fopen.c (main): Likewise.
38147         * tests/test-fpending.c (main): Likewise.
38148         * tests/test-fpurge.c (main): Likewise.
38149         * tests/test-freading.c (main): Likewise.
38150         * tests/test-fstatat.c (main): Likewise.
38151         * tests/test-fsync.c (main): Likewise.
38152         * tests/test-futimens.c (main): Likewise.
38153         * tests/test-getndelim2.c (main): Likewise.
38154         * tests/test-gettimeofday.c (main): Likewise.
38155         * tests/test-getopt.c (main): Likewise.
38156         * tests/test-i-ring.c (main): Likewise.
38157         * tests/test-inttypes.c (main): Likewise.
38158         * tests/test-link.c (main): Likewise.
38159         * tests/test-lstat.c (main): Likewise.
38160         * tests/test-math.c (main): Likewise.
38161         * tests/test-md5.c (main): Likewise.
38162         * tests/test-memchr2.c (main): Likewise.
38163         * tests/test-memrchr.c (main): Likewise.
38164         * tests/test-mkdir.c (main): Likewise.
38165         * tests/test-mkdirat.c (main): Likewise.
38166         * tests/test-mkfifoat.c (main): Likewise.
38167         * tests/test-open.c (main): Likewise.
38168         * tests/test-openat-safer.c (main): Likewise.
38169         * tests/test-openat.c (main): Likewise.
38170         * tests/test-quotearg.c (main): Likewise.
38171         * tests/test-rawmemchr.c (main): Likewise.
38172         * tests/test-readlink.c (main): Likewise.
38173         * tests/test-remove.c (main): Likewise.
38174         * tests/test-rename.c (main): Likewise.
38175         * tests/test-renameat.c (main): Likewise.
38176         * tests/test-rmdir.c (main): Likewise.
38177         * tests/test-sha1.c (main): Likewise.
38178         * tests/test-signal.c (main): Likewise.
38179         * tests/test-sigaction.c (main): Likewise.
38180         * tests/test-stat.c (main): Likewise.
38181         * tests/test-stat-time.c (main): Likewise.
38182         * tests/test-stddef.c (main): Likewise.
38183         * tests/test-stdint.c (main): Likewise.
38184         * tests/test-stdio.c (main): Likewise.
38185         * tests/test-stdlib.c (main): Likewise.
38186         * tests/test-strchrnul.c (main): Likewise.
38187         * tests/test-strerror.c (main): Likewise.
38188         * tests/test-string.c (main): Likewise.
38189         * tests/test-strtod.c (main): Likewise.
38190         * tests/test-strverscmp.c (main): Likewise.
38191         * tests/test-symlink.c (main): Likewise.
38192         * tests/test-symlinkat.c (main): Likewise.
38193         * tests/test-sys_stat.c (main): Likewise.
38194         * tests/test-sys_time.c (main): Likewise.
38195         * tests/test-time.c (main): Likewise.
38196         * tests/test-unistd.c (main): Likewise.
38197         * tests/test-unlink.c (main): Likewise.
38198         * tests/test-unlinkat.c (main): Likewise.
38199         * tests/test-utimens.c (main): Likewise.
38200         * tests/test-utimensat.c (main): Likewise.
38201         * tests/test-version-etc.c (main): Likewise.
38202         * tests/test-wchar.c (main): Likewise.
38203         * tests/test-wctype.c (main): Likewise.
38204         * tests/test-xprintf-posix.c (main): Likewise.
38205         * tests/test-posixtm.c (main): Likewise.
38206         (STREQ): Delete unused macro.
38207         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
38208         shadowed variables.
38209         * tests/test-memchr.c (main): Likewise.
38210
38211 2009-10-21  Eric Blake  <ebb9@byu.net>
38212
38213         areadlinkat: avoid failure on older glibc
38214         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
38215         rather than mis-comparing 0 against FUNC_RESULT of char*.
38216
38217 2009-10-21  Bruno Haible  <bruno@clisp.org>
38218
38219         * modules/stpncpy (License): Relicense under LGPLv2+.
38220         Reported by David Lutterkort <lutter@redhat.com>.
38221
38222 2009-10-20  Eric Blake  <ebb9@byu.net>
38223
38224         utimensat: work around Solaris 9 bug
38225         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
38226         has trailing slash bugs.
38227         * tests/test-lutimens.h (test_lutimens): Enhance test.
38228         * tests/test-utimens.h (test_utimens): Likewise.
38229         * doc/posix-functions/utime.texi (utime): Enhance documentation.
38230         * doc/posix-functions/utimes.texi (utimes): Likewise.
38231         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38232         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
38233         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
38234         * doc/posix-functions/futimens.texi (futimens): Likewise.
38235
38236         fdutimensat: new module
38237         * modules/fdutimensat: New file.
38238         * lib/fdutimensat.c (fdutimensat): Likewise.
38239         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
38240         * MODULES.html.sh (File system functions): Mention module.
38241         * modules/fdutimensat-tests: New test.
38242         * tests/test-fdutimensat.c: Likewise.
38243
38244         doc: regenerate INSTALL
38245         * doc/INSTALL: Reflect recent autoconf update.
38246         * doc/INSTALL.ISO: Likewise.
38247         * doc/INSTALL.UTF-8: Likewise.
38248
38249 2009-10-20  Pádraig Brady  <P@draigBrady.com>
38250
38251         acl: warn if ACL support is not detected
38252         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
38253
38254 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
38255
38256         * lib/nproc.h: Add extern "C" block for C++.
38257
38258 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
38259             Bruno Haible  <bruno@clisp.org>
38260
38261         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
38262         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
38263         * doc/posix-functions/isalpha.texi: Likewise.
38264         * doc/posix-functions/isblank.texi: Likewise.
38265         * doc/posix-functions/iscntrl.texi: Likewise.
38266         * doc/posix-functions/isdigit.texi: Likewise.
38267         * doc/posix-functions/isgraph.texi: Likewise.
38268         * doc/posix-functions/islower.texi: Likewise.
38269         * doc/posix-functions/isprint.texi: Likewise.
38270         * doc/posix-functions/ispunct.texi: Likewise.
38271         * doc/posix-functions/isspace.texi: Likewise.
38272         * doc/posix-functions/isupper.texi: Likewise.
38273         * doc/posix-functions/isxdigit.texi: Likewise.
38274
38275 2009-10-18  Bruno Haible  <bruno@clisp.org>
38276
38277         Tests for module 'isblank'.
38278         * modules/isblank-tests: New file.
38279         * tests/test-isblank.c: New file.
38280
38281         New module 'isblank'.
38282         * lib/isblank.c: New file.
38283         * m4/isblank.m4: New file.
38284         * modules/isblank: New file.
38285         * doc/posix-functions/isblank.texi: Mention the new module.
38286
38287 2009-10-18  Bruno Haible  <bruno@clisp.org>
38288
38289         New module 'ctype'.
38290         * lib/ctype.in.h: New file.
38291         * m4/ctype.m4: New file.
38292         * modules/ctype: New file.
38293         * doc/posix-headers/ctype.texi: Mention the new module.
38294
38295 2009-10-18  Jim Meyering  <meyering@redhat.com>
38296
38297         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
38298         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
38299         right after its initialization, rather than farther down.
38300         Keeping these in close proximity makes it easier to ensure
38301         that each such variable is initialized.  E.g.,
38302
38303             LIB_CLOCK_GETTIME=
38304             AC_SUBST([LIB_CLOCK_GETTIME])
38305
38306         This change also increments these serial numbers.
38307         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
38308         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38309         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38310
38311 2009-10-18  Bruno Haible  <bruno@clisp.org>
38312
38313         Don't let environment variables perturb build.
38314         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
38315         (gl_PREREQ_GETHRXTIME): ... not here.
38316
38317 2009-10-18  Bruno Haible  <bruno@clisp.org>
38318
38319         Avoid symlink attack in localcharset module.
38320         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
38321         (O_NOFOLLOW): Define fallback.
38322         (get_charset_aliases): Don't open the file if it is a symbolic link.
38323         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
38324         gl_FCNTL_H.
38325         (gl_FCNTL_H): Require it.
38326         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
38327         * modules/localcharset (Files): Add m4/fcntl_h.m4.
38328         Reported by Fergal Glynn <fglynn@veracode.com>.
38329
38330 2009-10-18  Bruno Haible  <bruno@clisp.org>
38331
38332         Implement nproc for mingw.
38333         * lib/nproc.c: Include <windows.h>
38334         (num_processors): On native Windows platforms, try GetSystemInfo.
38335
38336 2009-10-18  Bruno Haible  <bruno@clisp.org>
38337
38338         Implement nproc for IRIX.
38339         * lib/nproc.c: Include <sys/sysmp.h>.
38340         (num_processors): On IRIX systems, try sysmp.
38341         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
38342
38343 2009-10-18  Bruno Haible  <bruno@clisp.org>
38344
38345         Implement nproc for HP-UX.
38346         * lib/nproc.c: Include <sys/pstat.h>
38347         (num_processors): On HP-UX systems, try pstat_getdynamic.
38348         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
38349         pstat_getdynamic.
38350
38351 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
38352             Bruno Haible  <bruno@clisp.org>
38353
38354         Implement nproc for NetBSD, OpenBSD.
38355         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
38356         (ARRAY_SIZE): New macro.
38357         (num_processors): On BSD systems, try sysctl of HW_NCPU.
38358         * m4/nproc.m4: New file.
38359         * modules/nproc (Files): Add m4/nproc.m4.
38360         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
38361         (Makefile.am): Instead, augment lib_SOURCES.
38362
38363 2009-10-18  Bruno Haible  <bruno@clisp.org>
38364
38365         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
38366         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
38367         sys/param.h.
38368
38369 2009-10-16  Eric Blake  <ebb9@byu.net>
38370
38371         utimensat: new module
38372         * modules/utimensat: New file.
38373         * lib/utimensat.c (utimensat): Likewise.
38374         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38375         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
38376         so we can work around Linux bugs.
38377         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38378         * modules/sys_stat (Makefile.am): Substitute them.
38379         * lib/sys_stat.in.h (utimensat): Declare it.
38380         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38381         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38382         * modules/utimensat-tests: New test.
38383         * tests/test-utimensat.c: Likewise.
38384
38385         utimens: let lutimens work on non-symlinks
38386         * lib/utimens.c (lutimens): Fall back to utimens rather than
38387         failing with ENOSYS, when file is not a symlink.
38388         (utimens): Reduce redirection.
38389         * tests/test-lutimens.h (test_lutimens): Update test to cover
38390         non-symlinks.
38391         * tests/test-utimens.h (test_utimens): Update test to cover
38392         symlinks.
38393         * tests/test-utimens.c (main): Update caller.
38394
38395         utimens: cache whether utimensat syscall works
38396         * lib/utimens.c (utimensat_works_really): New cache variable.
38397         (fdutimens, lutimens): Use it to avoid failing syscall.
38398
38399         test-stat-time, test-utimens: improve portability
38400         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
38401         ext4 on alpha, and for cygwin.
38402         * tests/test-utimens-common.h: New file.
38403         (nap): Factor delays into single function.
38404         * tests/test-lutimens.h (test_lutimens): Use new header.
38405         * tests/test-futimens.h (test_futimens): Likewise.
38406         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
38407         timestamps to occur from same machine, as was done previously for
38408         test_utimens.
38409         * modules/utimens-tests (Files): Ship new file.
38410         * modules/futimens-tests (Files): Likewise.
38411         Reported in part by Jim Meyering.
38412
38413         sys_stat: sort replacement declarations
38414         * lib/sys_stat.in.h: Sort declarations.
38415         * lib/futimens.c (futimens): Fix typo.
38416
38417 2009-10-15  Jim Meyering  <meyering@redhat.com>
38418
38419         don't let environment settings perturb build
38420         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
38421         could cause a configure-time and/or build-time malfunction.
38422         Typically, a configure-time function-in-library test is performed
38423         via code like this:
38424
38425           LIB_VAR=
38426           AC_SUBST([LIB_VAR])
38427           prefix_saved_LIBS=$LIBS
38428             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
38429                        [test "$ac_cv_search_FUNC" = "none required" ||
38430                         LIB_VAR=$ac_cv_search_FUNC])
38431           LIBS=$prefix_saved_LIBS
38432
38433         However, in each of the files affected by this change, the LIB_VAR=
38434         initialization was omitted.  Thus, when set in the environment, its
38435         value would propagate into generated Makefiles when FUNC is not found
38436         in LIB_NAME.
38437         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
38438         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38439         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38440
38441 2009-10-14  Eric Blake  <ebb9@byu.net>
38442
38443         fchdir: avoid infinite recursion in mingw
38444         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
38445         recursing.
38446
38447         test-stat-time: port to mingw
38448         * tests/test-stat-time.c (force_unlink): Return a value.
38449         (test_ctime) [W32]: Fix compilation error.
38450         (nap): Don't call usleep with too large an argument.  Use
38451         force_unlink.
38452         * doc/pastposix-functions/usleep.texi (usleep): Document the
38453         portability issue.
38454
38455 2009-10-13  Jim Meyering  <meyering@redhat.com>
38456
38457         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
38458         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
38459         * modules/pipe-filter-ii: Likewise.
38460         * modules/sys_socket-tests: Likewise.
38461         * modules/tsearch-tests: Likewise.
38462         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
38463         (check): Depend on it.
38464
38465 2009-10-12  Eric Blake  <ebb9@byu.net>
38466
38467         utimens-tests: port to NFS file systems
38468         * tests/test-utimens.h (test_utimens): Refactor utimecmp
38469         comparisons to avoid spurious failures from timestamp drift
38470         between NFS machines.
38471
38472 2009-10-12  Eric Blake  <ebb9@byu.net>
38473
38474         stat-time-tests: minor cleanups
38475         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
38476         * tests/test-stat-time.c (nap): Separate assignment from call.
38477         Suggested by Paolo Bonzini and Bruno Haible.
38478
38479         sys_stat: guarantee struct timespec
38480         * lib/sys_stat.in.h (includes): Always include <time.h>
38481         * modules/sys_stat (Depends-on): Add time.
38482         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
38483         mode_t permission values.
38484         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
38485         get at subsecond timestamps.
38486
38487 2009-10-10  Eric Blake  <ebb9@byu.net>
38488
38489         futimens: new module
38490         * modules/futimens: New file.
38491         * lib/futimens.c (futimens): Likewise.
38492         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
38493         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
38494         we can work around Linux bugs.
38495         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38496         * modules/sys_stat (Makefile.am): Substitute them.
38497         * lib/sys_stat.in.h (futimens): Declare it.
38498         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38499         * doc/posix-functions/futimens.texi (futimens): Likewise.
38500         * modules/futimens-tests: New test.
38501         * tests/test-futimens.c: Likewise.
38502
38503         utimens: introduce fdutimens
38504         * lib/utimens.h (fdutimens): New prototype.
38505         * lib/utimens.c (gl_futimens): Move guts...
38506         (fdutimens): ...to new interface.
38507         * tests/test-utimens.c (do_fdutimens): Use it.
38508
38509         utimens: add UTIME_NOW and UTIME_OMIT support
38510         * lib/utimens.c (validate_timespec, update_timespec): New helper
38511         functions.
38512         (gl_futimens, lutimens): Use them.
38513         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
38514         stdbool, sys_stat.
38515         (Link): Mention resulting library dependency.
38516         * modules/utimecmp (Link): Likewise.
38517         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
38518         (Makefile.am): Pick up library dependency.
38519         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
38520         definition.
38521         * tests/test-sys_stat.c: Test the definitions.
38522         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
38523         * NEWS: Document library dependency.
38524
38525         utimecmp: support symlink timestamps
38526         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
38527         hashing when possible.  Use pathconf when available.
38528         (SYSCALL_RESOLUTION): Recognize tighter resolution.
38529         * modules/utimecmp (Depends-on): Add lstat.
38530
38531         utimens: add lutimens interface
38532         * lib/utimens.c (lutimens): New function.
38533         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
38534         * lib/utimens.h (lutimens): Declare new interface.
38535         * tests/test-utimens.c (main): Enhance test.
38536         * tests/test-lutimens.h (test_lutimens): New file.
38537         * modules/utimens-tests (Files): Distribute it.
38538         (Depends-on): Add symlink.
38539         (configure.ac): Check for usleep.
38540
38541         utimens: validate futimens usage
38542         * lib/utimens.c (gl_futimens): Require valid fd up front, using
38543         fewer syscalls on failure later on.  Avoid compiler warning on
38544         mingw.
38545         * modules/utimens (Depends-on): Add dup2.
38546
38547         utimens: add test
38548         * modules/utimens-tests: New test.
38549         * tests/test-utimens.h: New file.
38550         * tests/test-futimens.h: Likewise.
38551         * tests/test-utimens.c: Likewise.
38552
38553         doc: mention timestamp portability issues
38554         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
38555         instead.
38556         * doc/posix-functions/utime.texi (utime): Likewise.
38557         * doc/posix-functions/utimes.texi (utimes): Likewise.
38558         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
38559         instead.
38560         * doc/posix-functions/futimens.texi (futimens): Mention utimens
38561         module.
38562         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38563         Mention weakness with symlink timestamps.
38564         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
38565         to utimensat/futimens instead.
38566         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
38567
38568         test-dup2: enhance test
38569         * tests/test-dup2.c (main): Also check AT_FDCWD.
38570
38571         test-stat-time: avoid more spurious failures
38572         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
38573         xfs; and avoid race if the two timestamps cross quantization edge.
38574
38575         relocatable: prefer 'file system' over 'filesystem'
38576         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
38577         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
38578         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
38579         * doc/relocatable.texi (Enabling Relocatability): Likewise.
38580         * lib/relocatable.c (compute_curr_prefix): Likewise.
38581
38582 2009-10-10  Jim Meyering  <meyering@redhat.com>
38583
38584         stat-time-tests: check for the usleep function
38585         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
38586
38587 2009-10-10  Bruno Haible  <bruno@clisp.org>
38588
38589         * modules/xnanosleep: Put the Link section after the Include section.
38590
38591 2009-10-09  Eric Blake  <ebb9@byu.net>
38592
38593         dup2: work around FreeBSD 6.1 bug
38594         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
38595         * doc/posix-functions/dup2.texi (dup2): Document it.
38596         Reported by Nelson H. F. Beebe and Jim Meyering.
38597
38598         test-stat-time: port to buggy NFS clients
38599         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
38600         (test_ctime): Also skip test if mtime and ctime are skewed.
38601
38602         maint: prefer 'file system' over 'filesystem'
38603         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38604         * doc/posix-functions/lstat.texi (lstat): Likewise.
38605         * lib/file-has-acl.c (file_has_acl): Likewise.
38606         * lib/fwriteerror.c [TEST]: Likewise.
38607         * tests/test-areadlink.h (test_areadlink): Likewise.
38608         * tests/test-areadlinkat-with-size.c (main): Likewise.
38609         * tests/test-areadlinkat.c (main): Likewise.
38610         * tests/test-canonicalize-lgpl.c (main): Likewise.
38611         * tests/test-canonicalize.c (main): Likewise.
38612         * tests/test-fstatat.c (main): Likewise.
38613         * tests/test-linkat.c (main): Likewise.
38614         * tests/test-lstat.h (test_lstat_func): Likewise.
38615         * tests/test-mkdir.h (test_mkdir): Likewise.
38616         * tests/test-readlink.h (test_readlink): Likewise.
38617         * tests/test-remove.c (main): Likewise.
38618         * tests/test-rename.h (test_rename): Likewise.
38619         * tests/test-renameat.c (main): Likewise.
38620         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38621         * tests/test-symlink.h (test_symlink): Likewise.
38622         * tests/test-symlinkat.c (main): Likewise.
38623         * tests/test-unlink.h (test_unlink_func): Likewise.
38624         * tests/test-unlinkat.c (main): Likewise.
38625
38626         maint: make realtime library usage explicit
38627         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
38628         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
38629         * modules/settime (Link): Likewise.
38630         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
38631
38632         test-stat-time: speed up execution
38633         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
38634         warning on mingw.
38635         (nap): New helper function.
38636         (prepare_test): Use it to reduce sleep time.
38637         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
38638         execution.
38639         * modules/stat-time-tests (configure.ac): Check for usleep.
38640
38641 2009-10-09  Jim Meyering  <meyering@redhat.com>
38642
38643         selinux-h: always use getfilecon wrappers
38644         * lib/getfilecon.c: New file.
38645         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
38646         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
38647         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
38648         (fgetfilecon): Provide a stub.
38649         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
38650         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
38651         file unconditionally.
38652         When <selinux/selinux.h> is found, arrange to use wrappers.
38653         * modules/selinux-h (Files): Add getfilecon.c.
38654         (Makefile.am): Substitute include-next-related bits
38655         into the now-always-generated selinux/selinux.h file.
38656         * doc/glibc-functions/lgetfilecon.texi: New file.
38657         * doc/glibc-functions/fgetfilecon.texi: New file.
38658         * doc/glibc-functions/getfilecon.texi: New file.
38659         * doc/glibc-functions/getfilecon-desc.texi: New file.
38660         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
38661         which to pull in the new files.
38662         * MODULES.html.sh (Misc): Add selinux-h.
38663
38664 2009-10-08  Jim Meyering  <meyering@redhat.com>
38665
38666         unistd: fix comment typo
38667         * lib/unistd.in.h (euidaccess): Fix a comment typo.
38668
38669 2009-10-08  Eric Blake  <ebb9@byu.net>
38670
38671         areadlink: use SIZE_MAX consistently
38672         * modules/areadlink (Depends-on): Add stdint.
38673         * modules/areadlink-with-size (Depends-on): Likewise.
38674         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
38675         gives NULL; drop sys/types, since unistd gives size_t; and add
38676         stdint for SIZE_MAX.
38677         (SIZE_MAX): Rely on headers.
38678         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38679         and add stdint.
38680         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38681         (SIZE_MAX): Likewise.
38682         (INITIAL_BUF_SIZE): Turn into enum.
38683         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38684
38685 2009-10-08  Jim Meyering  <meyering@redhat.com>
38686
38687         areadlinkat: avoid compilation failure
38688         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38689         Fix typo in comment.
38690
38691 2009-10-07  Eric Blake  <ebb9@byu.net>
38692
38693         areadlinkat-with-size: new module
38694         * modules/areadlinkat-with-size: New module.
38695         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38696         * lib/areadlink.h (areadlinkat): Declare it.
38697         * MODULES.html.sh (File system functions): Mention it.
38698         * modules/areadlinkat-with-size-tests: New test.
38699         * tests/test-areadlinkat-with-size.c: New file.
38700
38701         xreadlinkat: new module
38702         * modules/xreadlinkat: New module.
38703         * lib/xreadlinkat.c (xreadlinkat): New file.
38704         * lib/xreadlink.h (xreadlinkat): Declare it.
38705         * MODULES.html.sh (File system functions): Mention it.
38706
38707         areadlinkat: new module
38708         * lib/at-func.c (FUNC_FAIL): New define.
38709         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38710         * modules/areadlinkat: New module.
38711         * lib/linkat.c (areadlinkat): Move...
38712         * lib/areadlinkat.c (areadlinkat): ...to new file.
38713         * lib/areadlink.h (areadlinkat): Declare it.
38714         * modules/linkat (Depends-on): Add areadlinkat.
38715         * MODULES.html.sh (File system functions): Mention it.
38716         * modules/areadlinkat-tests: New test.
38717         * tests/test-areadlinkat.c: New file.
38718
38719         areadlink, areadlink-with-size: add tests
38720         * modules/areadlink-tests: New test.
38721         * modules/areadlink-with-size-tests: Likewise.
38722         * tests/test-areadlink.h: New file.
38723         * tests/test-areadlink.c: Likewise.
38724         * tests/test-areadlink-with-size.c: Likewise.
38725
38726         maint: minor cleanups
38727         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38728         _UNUSED_PARAMETER_ instead.
38729         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38730         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38731         * modules/linkat-tests (Files): Distribute test-link.h.
38732
38733         openat, utimens: whitespace cleanup
38734         * lib/openat.c: Prefer space throughout, rather than mix of 8
38735         spaces vs. tabs.
38736         * lib/at-func.c: Likewise.
38737         * lib/utimens.c: Likewise.
38738
38739         openat: avoid using wrong fd
38740         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38741         working directory chooses same fd.
38742         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38743
38744         mkdir, mkdirat: fix cygwin 1.5.x bug
38745         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38746         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38747         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38748         bug.
38749         (gl_PREREQ_MKDIR): Delete unused macro.
38750         * modules/mkdir (Files): Track file rename.
38751         (configure.ac): Update macro name.
38752         * modules/openat (Depends-on): Add mkdir.
38753         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38754
38755         mkdir, mkdirat: add tests
38756         * modules/mkdir-tests: New test.
38757         * tests/test-mkdir.h: New file.
38758         * tests/test-mkdir.c: Likewise.
38759         * tests/test-mkdirat.c: Likewise.
38760         * modules/openat-tests (Files): Add new files.
38761         (Makefile.am): Run new test.
38762
38763 2009-10-06  Eric Blake  <ebb9@byu.net>
38764
38765         doc: tweak *at function documentation
38766         * doc/posix-functions/faccessat.texi (faccessat): Mention
38767         known issue with replacement.
38768         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38769         * doc/posix-functions/linkat.texi (linkat): Likewise.
38770         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38771         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38772         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38773         * doc/posix-functions/renameat.texi (renameat): Likewise.
38774         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38775
38776         openat: fix GNU/Hurd bug in unlinkat
38777         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38778         broken.
38779         * doc/posix-functions/unlink.texi (unlink): Document this.
38780         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38781
38782         fdopendir: fix GNU/Hurd bug
38783         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38784         allowing non-directory fds.
38785         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38786         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38787         * modules/dirent (Makefile.am): Substitute it.
38788         * lib/dirent.in.h (fdopendir): Declare replacement.
38789         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38790         * tests/test-fdopendir.c (main): Test something other than
38791         /dev/null, since on Hurd that behaves like a directory.
38792
38793         test-symlink: port to GNU/Hurd
38794         * tests/test-symlink.h (test_symlink): Relax expected errno.
38795
38796         doc: tweak more cygwin information
38797         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38798         now compatible with glibc.
38799         * doc/posix-functions/getopt.texi (getopt): Likewise.
38800
38801         getopt-gnu: add another test
38802         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38803         guarantee behavior relied on by m4.
38804         * tests/test-getopt.c (main): Use it.
38805         * modules/getopt-posix-tests (Depends-on): Add setenv.
38806         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38807
38808         getopt: fix compilation on darwin
38809         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38810         include.
38811         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38812         Reported by Ludovic Courtès.
38813
38814 2009-10-06  Bruno Haible  <bruno@clisp.org>
38815
38816         * modules/size_max (Description): Discourage its use.
38817         Reported by Simon Josefsson.
38818
38819 2009-10-06  Jim Meyering  <meyering@redhat.com>
38820
38821         linkat: avoid compilation failure
38822         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
38823
38824 2009-10-05  Eric Blake  <ebb9@byu.net>
38825
38826         linkat: support Linux 2.6.17
38827         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
38828         linkat on Linux, but allow cache variable override.
38829         * lib/linkat.c (rpl_linkat): Define override.
38830         * modules/linkat (Depends-on): Add symlinkat.
38831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
38832         * modules/unistd (Makefile.am): Substitute it.
38833         * lib/unistd.in.h (linkat): Declare replacement.
38834         Reported by Pádraig Brady.
38835
38836         quotearg: port test to systems with C.UTF-8 locale
38837         * tests/test-quotearg.c (struct result_strings): Add another
38838         member, differentiating between C.ASCII and C.UTF-8 handling.
38839         (compare_strings): Add parameter.
38840         (main): Adjust all callers.
38841
38842         getopt: avoid clash with FreeBSD _getopt_internal
38843         * lib/getopt.in.h (_getopt_internal): Override the name.
38844         * lib/getopt_int.h (includes): Pick up any overrides.
38845         Reported by Reuben Thomas.
38846
38847         hash: allow C89 compilation
38848         * lib/hash.c (check_tuning): Move declaration before statement.
38849         Reported by Reuben Thomas.
38850
38851 2009-10-05  Karl Berry  <karl@gnu.org>
38852
38853         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38854
38855 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38856             Bruno Haible  <bruno@clisp.org>
38857
38858         * lib/uname.c (uname): Use a table-driven algorithm to compute
38859         Windows NT versions.
38860
38861 2009-10-04  Bruno Haible  <bruno@clisp.org>
38862
38863         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38864         program_invocation_short_name.
38865         * modules/progname (configure.ac): Test for presence of
38866         program_invocation_short_name.
38867         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38868
38869 2009-10-04  Bruno Haible  <bruno@clisp.org>
38870
38871         * lib/progname.c (set_program_name): Fix comment.
38872         Reported by Jim Meyering.
38873
38874 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38875             Bruno Haible  <bruno@clisp.org>
38876
38877         * lib/uname.c: Include <string.h>.
38878         (uname): Do only one call to GetVersionEx in the common case.
38879
38880 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38881             Bruno Haible  <bruno@clisp.org>
38882
38883         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38884         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38885         (uname): Add support for Windows CE and various non-x86 CPU types.
38886
38887 2009-10-03  Bruno Haible  <bruno@clisp.org>
38888
38889         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38890         invocation to tests/configure.ac.
38891         Reported by Ian Beckwith <ianb@erislabs.net>.
38892
38893 2009-10-02  Eric Blake  <ebb9@byu.net>
38894
38895         fchdir: avoid compiler warning
38896         * lib/fchdir.c (canonicalize_file_name)
38897         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38898
38899         test-open: support mingw errno values
38900         * tests/test-open.h (test_open): Relax test.
38901         * tests/test-fopen.h (test_fopen): Likewise.
38902         * tests/test-openat-safer.c (main): Likewise.
38903
38904         open: fix opening directory on mingw
38905         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38906
38907         test-open: on GNU/Hurd, /dev/null is a directory
38908         * tests/test-fopen.h (main): Rename...
38909         (test_fopen): ...to this.  Use a guaranteed non-directory when
38910         confirming open behavior on trailing slash.
38911         * tests/test-openat-safer.c (main): Likewise.
38912         * tests/test-open.h (main): Likewise....
38913         (test_open): ...to this.
38914         * tests/test-fopen.c (main): Adjust caller.
38915         * tests/test-fopen-safer.c (main): Likewise.
38916         * tests/test-open.c (main): Likewise.
38917         * tests/test-fcntl-safer.c (main): Likewise.
38918         Reported by Samuel Thibault.
38919
38920         rename, fchdir: don't ignore chdir failure
38921         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38922         * lib/rename.c (rpl_rename) [W32]: Likewise.
38923         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38924         an empty destination directory if source cannot be renamed,
38925         although there is still possibility for failure.
38926         * doc/posix-functions/rename.texi (rename): Document the race.
38927         Reported by Jim Meyering.
38928
38929         maint: cleanup whitespace in recent commits
38930         * lib/rename.c (rpl_rename): Remove tabs.
38931         * tests/test-link.h (test_link): Likewise.
38932         * lib/fchdir.c (get_name): Likewise.
38933         Reported by Jim Meyering.
38934
38935 2009-10-02  Ben Pfaff  <blp@gnu.org>
38936
38937         relocatable-prog-wrapper: Add missing dependency on
38938         double-slash-root.
38939         * modules/relocatable-prog-wrapper: Add dependency.
38940         Reported by Ian Beckwith <ianb@erislabs.net>.
38941
38942 2009-10-02  Eric Blake  <ebb9@byu.net>
38943
38944         renameat: fix Solaris bugs
38945         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38946         needed fixing.
38947         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38948         * modules/stdio (Makefile.am): Substitute it.
38949         * lib/stdio.in.h (renameat): Declare replacement.
38950         * lib/renameat.c (rpl_renameat): Implement fix.
38951
38952         renameat: new module
38953         * modules/renameat: New file.
38954         * lib/renameat.c (renameat): Likewise.
38955         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38956         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38957         * modules/stdio (Makefile.am): Substitute them.
38958         * lib/stdio.in.h (renameat): Declare it.
38959         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38960         * doc/posix-functions/renameat.texi (renameat): Likewise.
38961         * modules/renameat-tests: New test.
38962         * tests/test-renameat.c: Likewise.
38963
38964         rename: fix mingw bugs
38965         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
38966         directory overwrite bugs.
38967
38968         rename: fix another cygwin 1.5 bug
38969         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
38970         checks.
38971         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
38972         unnecessary cygwin workarounds.  Also work around bug with moving
38973         full directory onto an empty one.
38974         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
38975
38976         rename-dest-slash: merge into rename module
38977         * modules/rename-dest-slash (Status): Mark obsolete.
38978         (Depends-on): Add rename.
38979         (Files): Let rename do it all.
38980         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
38981         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
38982         * m4/rename-dest-slash.m4: ...so this file can be deleted.
38983         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
38984         * lib/rename.c (rpl_rename): Update comments.
38985
38986         rename: fix cygwin 1.5.x bugs
38987         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
38988         * lib/rename.c (rpl_rename): Work around them.
38989         * modules/rename (Depends-on): Add same-inode.
38990
38991         rename: fix Solaris 10 bug
38992         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38993         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
38994         was the only bug.
38995
38996         rename: fix Solaris 9 bug
38997         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
38998         on non-directory.  Avoid calling exit.
38999         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
39000         strdup.
39001         * modules/rename-tests (Depends-on): Drop lstat.
39002         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
39003         (gl_PREREQ_RENAME): Delete unused macro.
39004
39005         rename-dest-slash: fix NetBSD bug
39006         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
39007         links.
39008         * modules/rename-dest-slash (Depends-on): Add same-inode.
39009
39010         rename-tests: new test, exposes several platform bugs
39011         * modules/rename-tests: New file.
39012         * tests/test-rename.h: Likewise.
39013         * tests/test-rename.c: Likewise.
39014         * doc/posix-functions/rename.texi (rename): Improve documentation,
39015         including bugs that will eventually be fixed in gnulib.
39016
39017 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
39018
39019         * lib/uname.c: Include <stdlib.h>
39020         (uname): Assume version info is available.
39021
39022 2009-10-02  Jim Meyering  <meyering@redhat.com>
39023
39024         gnu-web-doc-update: correct --help output
39025         * build-aux/gnu-web-doc-update: Make --help output relevant.
39026
39027         gnu-web-doc-update: add standard options
39028         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
39029
39030         gnu-web-doc-update: New module.
39031         Use this script to automatically update the on-line web documentation
39032         for your GNU project at http://www.gnu.org/software/$pkg/manual/
39033         * modules/gnu-web-doc-update: New file, from coreutils.
39034         * build-aux/gnu-web-doc-update: New script.
39035
39036 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
39037
39038         link: LoadLibrary is not needed.
39039         * lib/link.c: Use GetModuleHandle.
39040
39041 2009-10-01  Eric Blake  <ebb9@byu.net>
39042
39043         getopt: bump serial number
39044         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
39045         change.
39046
39047         tests: tighten link, rmdir, and remove tests
39048         * tests/test-link.h (includes): No need to use <config.h> here.
39049         Clean up if directory hard link was created, otherwise test for
39050         trailing '.'.
39051         * tests/test-linkat.c (main): Simplify.
39052         * tests/test-remove.c (main): Enhance test for trailing '.'.
39053         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39054
39055 2009-10-01  Jim Meyering  <meyering@redhat.com>
39056
39057         maint.mk: requiring "make major" was annoying, for a "minor" release.
39058         What is intended is "stable", to contrast with alpha and beta,
39059         so require "make stable", not "make major".
39060         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
39061         (get_tool_versions): Likewise.
39062         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
39063
39064 2009-09-30  Ben Pfaff  <blp@gnu.org>
39065
39066         Fix broken build of replacement for Windows tmpfile().
39067         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
39068         flags argument added along with the 'mkostemp' module.
39069
39070 2009-09-28  Bruno Haible  <bruno@clisp.org>
39071
39072         Avoid identifier clash with POSIX function 'remove' defined as a macro.
39073         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
39074         to 'remove_elt'.
39075         (gl_list_remove): Update.
39076         * lib/gl_list.c (gl_list_remove): Update.
39077         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
39078         to 'remove_elt'.
39079         (gl_oset_remove): Update.
39080         * lib/gl_list.c (gl_oset_remove): Update.
39081         Reported by Eric Blake.
39082
39083 2009-09-28  Eric Blake  <ebb9@byu.net>
39084
39085         doc: mention yet more cygwin 1.7 status
39086         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
39087         cygwin.
39088         * doc/glibc-functions/execvpe.texi (execvpe): New file.
39089         * doc/gnulib.texi (Glibc unistd.h): Mention it.
39090
39091         argp: fix test failure
39092         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
39093         that are not upper-case.  Pass correct range to tolower.
39094
39095 2009-09-27  Jim Meyering  <meyering@redhat.com>
39096
39097         test-yesno: work around sparc-dash here-document infelicity
39098         Without this change, the literal \177 byte in a here document
39099         would make dash 0.5.5.1-3 access uninitialized memory.
39100         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
39101         Instead, use a marker, "@", and filter through tr to create the desired
39102         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
39103
39104 2009-09-27  Bruno Haible  <bruno@clisp.org>
39105
39106         Disable untested support for new flavours of ACLs on AIX.
39107         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
39108         progress.
39109         * lib/set-mode-acl.c (qset_acl): Likewise.
39110
39111 2008-12-07  Bruno Haible  <bruno@clisp.org>
39112
39113         Add support for new flavours of ACLs on AIX. (Untested.)
39114         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
39115         (file_has_acl): Add support for newer AIX.
39116         * lib/set-mode-acl.c (qset_acl): Likewise.
39117         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
39118         Rainer Tammer <tammer@tammer.net>.
39119
39120 2009-09-26  Eric Blake  <ebb9@byu.net>
39121
39122         argp: fix compilation of getopt
39123         * lib/getopt.in.h (includes): Use different guard than glibc.
39124         Reported by Sergey Poznyakoff.
39125
39126         doc: mention more cygwin 1.7 status
39127         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
39128         bug.
39129         * doc/posix-functions/execl.texi (execl): Likewise.
39130         * doc/posix-functions/execle.texi (execle): Likewise.
39131         * doc/posix-functions/execlp.texi (execlp): Likewise.
39132         * doc/posix-functions/execv.texi (execv): Likewise.
39133         * doc/posix-functions/execve.texi (execve): Likewise.
39134         * doc/posix-functions/execvp.texi (execvp): Likewise.
39135         * doc/glibc-functions/canonicalize_file_name.texi
39136         (canonicalize_file_name): Cygwin 1.7 now provides this.
39137         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
39138         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
39139         on AT_SYMLINK_NOFOLLOW.
39140
39141 2009-09-24  Eric Blake  <ebb9@byu.net>
39142
39143         test-linkat: make test more robust
39144         * tests/test-linkat.c (main): Avoid collision with EEXIST.
39145
39146         getopt: fix inclusion guards for cygwin
39147         * modules/getopt-posix (Depends-on): Add include-next.
39148         (Makefile.am): Substitute more items in replacement header.
39149         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
39150         <getopt.h>.
39151         * lib/getopt.in.h (includes): Use split inclusion guard, and
39152         prefer <getopt.h> over include <unistd.h> when one is present.
39153         (option): Also override name of 'struct option'.
39154
39155         same-inode: revert prior change; it is not yet ready
39156         * NEWS: Undo mention of this change.
39157         * lib/same-inode.h (same-inode.h): Undo tri-state change.
39158         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39159         * lib/cycle-check.c (cycle_check): Likewise.
39160         * lib/same.c (same_name): Likewise.
39161         * lib/at-func2.c (at_func2): Likewise.
39162
39163 2009-09-23  Eric Blake  <ebb9@byu.net>
39164
39165         linkat: new module
39166         * modules/linkat: New file.
39167         * lib/at-func2.c (at_func2): Likewise.
39168         * lib/linkat.c (linkat): Likewise.
39169         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
39170         * lib/openat-priv.h (at_func2): Add declaration.
39171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39172         * modules/unistd (Makefile.am): Substitute them.
39173         * lib/unistd.in.h (linkat): Declare it.
39174         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39175         * doc/posix-functions/linkat.texi (linkat): Likewise.
39176         * doc/posix-functions/link.texi (link): Tweak wording.
39177         * tests/test-link.c (main): Move guts...
39178         * tests/test-link.h (test_link): ...into new file.
39179         * modules/linkat-tests: New test.
39180         * tests/test-linkat.c: Likewise.
39181         * modules/link-tests (Files): Ship new file.
39182         (Depends-on): Add stdbool.
39183
39184         dirname: add library-safe mdir_name
39185         * lib/dirname.h (mdir_name): New prototype.
39186         * lib/dirname.c (dir_name): Move guts...
39187         (mdir_name): ...to new function that avoids xalloc_die.
39188
39189         fchdir: another mingw fix
39190         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
39191         * lib/fchdir.c (get_name): New helper method; skips canonicalize
39192         on mingw (where it has not yet been ported), and make it optional
39193         elsewhere.
39194         (_gl_register_fd): Use it.
39195
39196         same-inode: make SAME_INODE tri-state, to port to mingw
39197         * NEWS: Mention this change.
39198         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
39199         st_ino always being 0.
39200         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39201         * lib/cycle-check.c (cycle_check): Likewise.
39202         * lib/same.c (same_name): Likewise.
39203
39204         lstat: avoid mingw compilation error
39205         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
39206         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
39207         lstat ourselves.
39208         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
39209         was adequate.
39210         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
39211         the checks for lstat.
39212         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
39213
39214         link: fix test failure on Solaris 9
39215         * lib/link.c (rpl_link): Don't assume link will catch bogus
39216         trailing slash on source.
39217
39218         test-symlinkat: enhance test
39219         * tests/test-readlink.c (main): Move guts...
39220         * tests/test-readlink.h (test_readlink): ...into new file.
39221         * tests/test-symlink.c (main): Move guts...
39222         * tests/test-symlink.h (test_symlink): ...into new file.
39223         * tests/test-symlinkat.c (main): Use new files for further
39224         coverage.
39225         (do_symlink, do_readlink): New helper functions.
39226         * modules/symlink-tests (Files): Ship new file.
39227         (Depends-on): Add stdbool.
39228         * modules/readlink-tests (Files): Ship new file.
39229         (Depends-on): Add stdbool.
39230         * modules/symlinkat-tests (Files): Use new files.
39231
39232 2009-09-23  Eric Blake  <ebb9@byu.net>
39233
39234         readlink: document portability issue with symlink length
39235         * doc/posix-functions/lstat.texi (lstat): Mention that some file
39236         systems have bogus st_size on symlinks, and mention the
39237         areadlink-with-size module.
39238         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39239         * doc/posix-functions/readlink.texi (readlink): Mention the
39240         areadlink module, and ERANGE failure.
39241         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39242         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
39243
39244         readlink: fix Solaris 9 bug with trailing slash
39245         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
39246         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
39247         * doc/posix-functions/readlink.texi (readlink): Document this.
39248         * modules/readlink-tests: New test.
39249         * tests/test-readlink.c: Likewise.
39250
39251         readlink: fix cygwin 1.5.x bug with return type
39252         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
39253         * lib/unistd.in.h (readlink): Use ssize_t.
39254         * lib/readlink.c (readlink): Likewise.
39255         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39256         * modules/unistd (Makefile.am): Substitute it.
39257         * lib/unistd.in.h (readlink): Declare replacement.
39258         * doc/posix-functions/readlink.texi (readlink): Document this.
39259
39260         symlink: use throughout gnulib
39261         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
39262         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
39263         symlink is not used.
39264         * modules/symlinkat (Depends-on): Add symlink.
39265         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39266         * modules/canonicalize-tests (Depends-on): Likewise.
39267         * modules/lstat-tests (Depends-on): Likewise.
39268         * modules/openat-tests (Depends-on): Likewise.
39269         * modules/remove-tests (Depends-on): Likewise.
39270         * modules/rmdir-tests (Depends-on): Likewise.
39271         * modules/unlink-tests (Depends-on): Likewise.
39272         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
39273         * tests/test-canonicalize.c (symlink): Likewise.
39274         * tests/test-fstatat.c (symlink): Likewise.
39275         * tests/test-lstat.c (symlink): Likewise.
39276         * tests/test-remove.c (symlink): Likewise.
39277         * tests/test-rmdir.c (symlink): Likewise.
39278         * tests/test-unlink.c (symlink): Likewise.
39279         * tests/test-unlinkat.c (symlink): Likewise.
39280
39281         symlink: new module, for Solaris 9 bug
39282         * modules/symlink: New file.
39283         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
39284         * lib/symlink.c: Likewise.
39285         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39286         * modules/unistd (Makefile.am): Substitute them.
39287         * lib/unistd.in.h (symlink): Declare replacement.
39288         * MODULES.html.sh (File system functions): Mention it.
39289         * doc/posix-functions/symlink.texi (symlink): Likewise.
39290         * modules/symlink-tests: New test.
39291         * tests/test-symlink.c: Likewise.
39292
39293 2009-09-23  Bruno Haible  <bruno@clisp.org>
39294
39295         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
39296         when needed.
39297         Test case: gnulib-tool --import --with-tests atexit inttypes.
39298         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
39299
39300 2009-09-23  Bruno Haible  <bruno@clisp.org>
39301
39302         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
39303         subcommand, not in a subshell.
39304
39305 2009-09-22  Eric Blake  <ebb9@byu.net>
39306
39307         unistd: sort replacement declarations
39308         * lib/unistd.in.h: Sort declarations.
39309
39310         open, openat: minor optimization
39311         * lib/open.c (open): If open succeeded, len is non-zero.
39312         * lib/openat.c (rpl_openat): Likewise.
39313
39314         link-follow: ensure correct result
39315         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
39316         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
39317         distinguish between possible failures.
39318
39319 2009-09-21  Eric Blake  <ebb9@byu.net>
39320
39321         fts: avoid compiler warning
39322         * lib/fts.c (dirent_inode_sort_may_be_useful)
39323         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
39324
39325 2009-09-19  Bruno Haible  <bruno@clisp.org>
39326
39327         * lib/progreloc.c (canonicalize_file_name): New declaration.
39328
39329 2009-09-19  Eric Blake  <ebb9@byu.net>
39330
39331         link: fix quoting
39332         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
39333
39334         openat: fix openat bugs on Solaris 9
39335         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
39336         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
39337         * modules/openat (Depends-on): Add open.
39338         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
39339         * modules/fcntl-h (Makefile.am): Substitute it.
39340         * lib/fcntl.in.h (openat): Declare replacement.
39341         * doc/posix-functions/openat.texi (openat): Document this.
39342
39343         openat: move fstatat and unlinkat into correct files
39344         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
39345         compiled.
39346         * lib/openat.c (fstatat, unlinkat): Move...
39347         * lib/fstatat.c (fstatat): ...into correct files.
39348         * lib/unlinkat.c (unlinkat): Likewise.
39349
39350         openat: fix unlinkat bugs on Solaris 9
39351         * lib/unlinkat.c (unlinkat): New file.
39352         * modules/openat (Depends-on): Add unlink.
39353         (Files): Distribute it.
39354         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
39355         trailing slash behavior is broken.
39356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39357         * modules/unistd (Makefile.am): Substitute it.
39358         * lib/unistd.in.h (unlinkat): Declare replacement.
39359         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
39360
39361         openat: fix fstatat bugs on Solaris 9
39362         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
39363         stat.
39364         * doc/posix-functions/fstatat.texi (fstatat): Document this.
39365
39366         test-unlinkat: enhance test, to expose Solaris 9 bug
39367         * tests/test-unlink.c (main): Factor guts...
39368         * tests/test-unlink.h (test_rmdir_func): ...into new file.
39369         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
39370         * tests/test-rmdir.c (main): Adjust caller.
39371         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
39372         (unlinker): New helper function.
39373         (rmdirat): Enhance check.
39374         * modules/rmdir-tests (Depends-on): Add stdbool.
39375         * modules/unlink-tests (Depends-on): Likewise.
39376         (Files): Add test-unlink.h.
39377         * modules/openat-tests (Files): Likewise.
39378         (Depends-on): Add unlinkdir.
39379
39380         test-fstatat: new test, to expose Solaris 9 bugs
39381         * tests/test-stat.c (main): Factor guts...
39382         * tests/test-stat.h (test_stat_func): ...into new file.
39383         * tests/test-lstat.c (main): Factor guts...
39384         * tests/test-lstat.h (test_lstat_func): ...into new file.
39385         * tests/test-fstatat.c: New file.
39386         * modules/stat-tests (Files): Add test-stat.h.
39387         * modules/lstat-tests (Files): Add test-lstat.h.
39388         (Depends-on): Add stdbool.
39389         * modules/openat-tests (Depends-on): Add pathmax.
39390         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
39391         (Makefile.am): Run new test.
39392
39393         remove: new module, for mingw and Solaris 9 bugs
39394         * modules/remove: New file.
39395         * lib/remove.c: Likewise.
39396         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
39397         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39398         * modules/stdio (Makefile.am): Use them.
39399         * lib/stdio.in.h (remove): Declare replacement.
39400         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39401         * doc/posix-functions/remove.texi (remove): Likewise.
39402         * modules/remove-tests: New test.
39403         * tests/test-remove.c: Likewise.
39404
39405         unlink: new module, for Solaris 9 bug
39406         * modules/unlink: New file.
39407         * lib/unlink.c: Likewise.
39408         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
39409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39410         * modules/unistd (Makefile.am): Use them.
39411         * lib/unistd.in.h (stat): Declare replacement.
39412         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39413         * doc/posix-functions/unlink.texi (unlink): Likewise.
39414         * modules/unlink-tests: New test.
39415         * tests/test-unlink.c: Likewise.
39416
39417         lstat: fix Solaris 9 bug
39418         * lib/lstat.c (lstat): Also check for trailing slash on
39419         non-symlink, non-directories.  Use stat module to simplify logic.
39420         * doc/posix-functions/lstat.texi (lstat): Document it.
39421         * modules/lstat-tests (Depends-on): Add errno, same-inode.
39422         (configure.ac): Check for symlink.
39423         * tests/test-lstat.c (main): Add more tests.
39424
39425         stat: add as dependency to other modules
39426         * modules/chown (Depends-on): Add stat.
39427         * modules/euidaccess (Depends-on): Likewise.
39428         * modules/fchdir (Depends-on): Likewise.
39429         * modules/isdir (Depends-on): Likewise.
39430         * modules/link (Depends-on): Likewise.
39431         * modules/lstat (Depends-on): Likewise.
39432         * modules/mkdir-p (Depends-on): Likewise.
39433         * modules/modechange (Depends-on): Likewise.
39434         * modules/open (Depends-on): Likewise.
39435         * modules/readlink (Depends-on): Likewise.
39436         * modules/same (Depends-on): Likewise.
39437
39438         stat: fix Solaris 9 bug
39439         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
39440         slash.
39441         * lib/stat.c (rpl_stat): Work around it.
39442         * doc/posix-functions/stat.texi (stat): Update documentation.
39443
39444         stat: new module, for mingw bug
39445         * modules/stat: New file.
39446         * lib/stat.c: Likewise.
39447         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39448         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39449         * modules/sys_stat (Makefile.am): Use them.
39450         * lib/sys_stat.in.h (stat): Declare replacement.
39451         * lib/openat.c (fstatat): Deal with lstat and stat being function
39452         macros.
39453         * modules/openat (Depends-on): Add inline.
39454         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39455         * doc/posix-functions/stat.texi (stat): Likewise.
39456         * modules/stat-tests: New test.
39457         * tests/test-stat.c: Likewise.
39458
39459 2009-09-19  Jim Meyering  <meyering@redhat.com>
39460
39461         syntax-check: detect unnecessary inclusion of canonicalize.h
39462         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
39463
39464 2009-09-19  Eric Blake  <ebb9@byu.net>
39465
39466         canonicalize-lgpl: adjust clients to use correct header
39467         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39468         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
39469         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
39470         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
39471         * lib/progreloc.c (includes): Likewise.
39472
39473 2009-09-19  Jim Meyering  <meyering@redhat.com>
39474
39475         test-posixtm.c: correct a comment
39476         * tests/test-posixtm.c: Correct first-line comment.
39477         Spotted by Eric Blake.
39478
39479 2009-09-16  Jim Meyering  <meyering@redhat.com>
39480
39481         posixtm-tests: make T const-correct; add a test case
39482         * tests/test-posixtm.c (T): Declare const.
39483         Add a test for -(2^31+1).
39484         Remove useless can-succeed-only-in-2002 test.
39485
39486         posixtm-tests: adjust the sole failing test
39487         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
39488         expected output matches what mktime now produces.  Cross-checked via
39489         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
39490
39491         posixtm: move #ifdef'd tests into a new module
39492         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
39493         * tests/test-posixtm.c: ... this new file.
39494         * modules/posixtm-tests: New module.
39495
39496 2009-09-19  Eric Blake  <ebb9@byu.net>
39497
39498         openat: simplify use of at-func.c
39499         * lib/at-func.c (includes): Include prerequisites here, to
39500         simplify requirements on client files.
39501         * lib/openat-priv.h: Add double-inclusion guard.
39502         * lib/faccessat.c (includes): Simplify.
39503         * lib/fchmodat.c (includes): Likewise.
39504         * lib/fchownat.c (includes): Likewise.
39505         * lib/mkdirat.c (includes): Likewise.
39506         * lib/mkfifoat.c (includes): Likewise.
39507         * lib/symlinkat.c (includes): Likewise.
39508
39509         openat: allow return of fd 0
39510         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
39511         * modules/save-cwd (Depends-on): Replace fcntl-safer with
39512         unistd-safer.
39513         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
39514         <fcntl.h>; this module does not leak fds.
39515         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
39516         must be allowed to return 0, leaving openat_safer to add the
39517         safety.
39518         (openat_permissive): Avoid writing to just-opened fd 2 if
39519         restoring the current directory fails.
39520         * lib/openat-die.c (openat_restore_fail): Add comment.
39521         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
39522         (save_cwd): Guarantee safe fd, but without use of open_safer.
39523         * tests/test-openat.c: New test.
39524         * modules/openat-tests (Files, Makefile.am): Distribute and build
39525         new file.
39526
39527         relocatable-prog-wrapper: fix build
39528         * modules/relocatable-prog-wrapper (Files): Update name of
39529         canonicalize m4 file, broken on 2009-09-17.
39530         Reported by emad hajjar <aleppos@hotmail.com>.
39531
39532 2009-09-19  Bruno Haible  <bruno@clisp.org>
39533
39534         * lib/safe-alloc.h: Use the standard header with GPL copyright.
39535         * lib/safe-alloc.c: Likewise.
39536         Reported by Ian Beckwith <ianb@erislabs.net>.
39537
39538 2009-09-18  Bruno Haible  <bruno@clisp.org>
39539
39540         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
39541         Reported by <erobles@sensacd.com.mx>.
39542
39543 2009-09-17  Eric Blake  <ebb9@byu.net>
39544
39545         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
39546         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
39547         slashes when checking if last component is missing.
39548         * tests/test-canonicalize.c (main): Test this.
39549
39550         canonicalize, canonicalize-lgpl: honor // if distinct from /
39551         * modules/canonicalize (Files): Add double-slash-root.m4.
39552         * modules/canonicalize-lgpl (Files): Likewise.
39553         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39554         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
39555         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
39556         fallback definition.
39557         (canonicalize_filename_mode): Use it to protect //.
39558         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
39559         (__realpath): Likewise.
39560         * tests/test-canonicalize.c (main): Test this.
39561         * tests/test-canonicalize-lgpl.c (main): Likewise.
39562         * modules/canonicalize-tests (Depends-on): Add same-inode.
39563         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39564
39565         canonicalize-lgpl: fix glibc bug with trailing slash
39566         * m4/canonicalize-lgpl.m4: Move contents...
39567         * m4/canonicalize.m4: ...here.
39568         (gl_CANONICALIZE_LGPL): Factor realpath check...
39569         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
39570         glibc 2.3.5 bug, fixed 2005-04-27.
39571         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
39572         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
39573         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
39574         * modules/canonicalize-lgpl (Files): Manage file rename.
39575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39576         * modules/stdlib (Makefile.am): Substitute witness.
39577         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
39578         is needed.
39579         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
39580         replacement is required.
39581         * lib/canonicalize.c (canonicalize_file_name): Likewise.
39582         * doc/glibc-functions/canonicalize_file_name.texi
39583         (canonicalize_file_name): Document this.
39584         * doc/posix-functions/realpath.texi (realpath): Likewise.
39585
39586         canonicalize-lgpl: reject non-directory with trailing slash
39587         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
39588         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
39589         catches failures in glibc 2.3.5.
39590         * tests/test-canonicalize.c (main): Likewise.
39591
39592         canonicalize-lgpl: use native realpath if it works
39593         * lib/canonicalize-lgpl.c (realpath): Guard with
39594         FUNC_REALPATH_WORKS.
39595         * lib/stdlib.in.h (realpath): Make declaration optional based on
39596         HAVE_REALPATH.
39597         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
39598         native realpath works.
39599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39600         * modules/stdlib (Makefile.am): Substitute witness.
39601
39602         canonicalize, canonicalize-lgpl: use <stdlib.h>
39603         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
39604         (Include): Mention <stdlib.h>.
39605         (configure.ac): Mention functions we provide.
39606         * modules/canonicalize (configure.ac): Likewise.
39607         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
39608         realpath if canonicalize_file_name is missing.
39609         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
39610         * modules/stdlib (Makefile.am): Substitute witnesses.
39611         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
39612         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
39613         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
39614         * NEWS: Document this.
39615         * doc/glibc-functions/canonicalize_file_name.texi
39616         (canonicalize_file_name): Likewise.
39617         * doc/posix-functions/realpath.texi (realpath): Likewise.
39618         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
39619
39620         test-canonicalize: consolidate into single C program
39621         * tests/test-canonicalize.sh: Delete; move setup into...
39622         * tests/test-canonicalize.c (main): ...the program, making it
39623         easier to run in debugger.  Add some tests.
39624         * modules/canonicalize-tests (Files): Remove unused file.
39625         (Depends-on): Add progname.
39626         (configure.ac, Makefile.am): Simplify.
39627
39628         test-canonicalize-lgpl: consolidate into single C program
39629         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
39630         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
39631         easier to run in debugger.  Add some tests.
39632         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
39633         (configure.ac, Makefile.am): Simplify.
39634
39635         canonicalize: avoid resolvepath
39636         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
39637         unnecessary checks.
39638         * lib/canonicalize.c (includes): Simplify.
39639         (canonicalize_file_name): Drop resolvepath implementation.
39640         * modules/canonicalize (Depends-on): Drop filenamecat.
39641
39642         canonicalize: don't lose errno
39643         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
39644         over calls to free.
39645
39646         canonicalize: simplify errno handling
39647         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
39648         assignment.
39649
39650         canonicalize, canonicalize-lgpl: update module dependencies
39651         * modules/canonicalize (Depends-on): Add extensions, lstat,
39652         pathmax, stdlib.
39653         (Files): Drop pathmax.h.
39654         (configure.ac): Adjust macro name.
39655         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
39656         lstat, stdlib, sys_stat.
39657         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
39658         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
39659         extensions.
39660         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
39661         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
39662         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
39663         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
39664         declaration, if available.
39665         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
39666         we can rely on the readlink module.
39667         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
39668         (includes): Use <unistd.h> unconditionally.
39669
39670 2009-09-17  Eric Blake  <ebb9@byu.net>
39671
39672         maint: make Include sections of modules consistent
39673         * modules/alloca: Use only header name; no need to list #include.
39674         * modules/alloca-opt: Likewise.
39675         * modules/arpa_inet: Likewise.
39676         * modules/canon-host: Likewise.
39677         * modules/configmake: Likewise.
39678         * modules/dirent: Likewise.
39679         * modules/eealloc: Likewise.
39680         * modules/environ: Likewise.
39681         * modules/fchdir: Likewise.
39682         * modules/fcntl: Likewise.
39683         * modules/fcntl-h: Likewise.
39684         * modules/gethrxtime: Likewise.
39685         * modules/gettime: Likewise.
39686         * modules/ignore-value: Likewise.
39687         * modules/inet_ntop: Likewise.
39688         * modules/inet_pton: Likewise.
39689         * modules/inttypes: Likewise.
39690         * modules/isnand-nolibm: Likewise.
39691         * modules/isnanf-nolibm: Likewise.
39692         * modules/mbchar: Likewise.
39693         * modules/mbfile: Likewise.
39694         * modules/mbiter: Likewise.
39695         * modules/mbuiter: Likewise.
39696         * modules/netdb: Likewise.
39697         * modules/netinet_in: Likewise.
39698         * modules/nproc: Likewise.
39699         * modules/pagealign_alloc: Likewise.
39700         * modules/poll: Likewise.
39701         * modules/printf-frexp: Likewise.
39702         * modules/pthread: Likewise.
39703         * modules/putenv: Likewise.
39704         * modules/random_r: Likewise.
39705         * modules/relocatable-prog: Likewise.
39706         * modules/search: Likewise.
39707         * modules/select: Likewise.
39708         * modules/selinux-h: Likewise.
39709         * modules/settime: Likewise.
39710         * modules/signal: Likewise.
39711         * modules/size_max: Likewise.
39712         * modules/socklen: Likewise.
39713         * modules/ssize_t: Likewise.
39714         * modules/stdarg: Likewise.
39715         * modules/stdbool: Likewise.
39716         * modules/stddef: Likewise.
39717         * modules/stdint: Likewise.
39718         * modules/stdio: Likewise.
39719         * modules/stdlib: Likewise.
39720         * modules/string: Likewise.
39721         * modules/strings: Likewise.
39722         * modules/sys_file: Likewise.
39723         * modules/sys_ioctl: Likewise.
39724         * modules/sys_select: Likewise.
39725         * modules/sys_socket: Likewise.
39726         * modules/sys_stat: Likewise.
39727         * modules/sys_time: Likewise.
39728         * modules/sys_times: Likewise.
39729         * modules/sys_utsname: Likewise.
39730         * modules/sys_wait: Likewise.
39731         * modules/sysexits: Likewise.
39732         * modules/time: Likewise.
39733         * modules/times: Likewise.
39734         * modules/tmpfile: Likewise.
39735         * modules/trim: Likewise.
39736         * modules/unistd: Likewise.
39737         * modules/wchar: Likewise.
39738         * modules/wctype: Likewise.
39739
39740 2009-09-17  Bruno Haible  <bruno@clisp.org>
39741
39742         Make getdate.y compile on QNX and NetBSD 5 / i386.
39743         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39744         TIME_T_FITS_IN_LONG_INT.
39745         * lib/getdate.y (long_time_t): New type.
39746         (relative_time): Change type of 'seconds' field to long_time_t.
39747         (get_date): Update types of local variables. Check against overflow
39748         during conversion from long_time_t to time_t.
39749         Reported by Matt Kraai <kraai@ftbfs.org>
39750         and Hasso Tepper <hasso@netbsd.org>.
39751
39752 2009-09-17  Bruno Haible  <bruno@clisp.org>
39753
39754         * modules/COPYING: Update copyright years.
39755         * modules/README: Likeiwse.
39756         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39757         Reported by Ian Beckwith <ianb@erislabs.net>.
39758
39759 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39760
39761         * users.txt: Update references for gnuit package.
39762
39763 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39764
39765         * m4/getdelim.m4: Fix typo in copyright line.
39766
39767 2009-09-17  Bruno Haible  <bruno@clisp.org>
39768
39769         * lib/atoll.c: Use the standard header with GPL copyright.
39770         * lib/argz.in.h: Likewise.
39771         * lib/glob.c: Likewise.
39772         * lib/glob-libc.h: Likewise.
39773         * lib/random_r.c: Likewise.
39774         * lib/siglist.h: Likewise.
39775         * lib/strsignal.c: Likewise.
39776         Reported by Ian Beckwith <ianb@erislabs.net>.
39777
39778 2009-09-17  Eric Blake  <ebb9@byu.net>
39779
39780         rmdir: ensure correct dependency order
39781         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39782
39783 2009-09-17  Bruno Haible  <bruno@clisp.org>
39784
39785         Disable assertion that fails on NetBSD 5 / i386.
39786         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39787         Reported by Sam Steingold <sds@gnu.org>
39788         and Hasso Tepper <hasso@netbsd.org>.
39789
39790 2009-09-16  Eric Blake  <ebb9@byu.net>
39791
39792         unlinkdir: port to mingw
39793         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39794         on which no one can unlink a directory.
39795
39796         stdlib: sort witness names
39797         * modules/stdlib (Makefile.am): Sort replacements.
39798         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39799         * lib/stdlib.in.h: Likewise.
39800
39801         parse-duration-tests: avoid link failure
39802         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39803         LIBINTL.
39804         Reported by Tom G. Christensen.
39805
39806         openat-tests: ensure unlinkat behaves like rmdir
39807         * tests/test-rmdir.c (main): Factor guts...
39808         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39809         * modules/rmdir-tests (Files): Ship new file.
39810         * modules/openat-tests: New test.
39811         * tests/test-unlinkat.c: Likewise.
39812
39813         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39814         * modules/rmdir-errno (Status, Notice): Now obsolete.
39815
39816         rmdir: work around cygwin 1.5.x and mingw bugs
39817         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39818         * lib/rmdir.c (rmdir): Work around it.
39819         * modules/rmdir (Status, Notice): No longer obsolete.
39820         (Files): Add dos.m4.
39821         (Depends-on): Add unistd.
39822         (configure.ac): Set witnesses.
39823         (License): Relax to LGPLv2+.
39824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
39825         * modules/unistd (Makefile.am): Substitute witnesses.
39826         * lib/unistd.in.h (rmdir): Declare replacement.
39827         * doc/posix-functions/rmdir.texi (rmdir): Document this.
39828         * modules/rmdir-tests: New tests.
39829         * tests/test-rmdir.c: Likewise.
39830
39831 2009-09-15  Eric Blake  <ebb9@byu.net>
39832
39833         fchdir: improve use of replacement functions
39834         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
39835         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
39836         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
39837         REPLACE_CLOSEDIR.
39838         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
39839         * modules/sys_stat (Makefile.am): Substitute correct witness.
39840         * modules/dirent (Makefile.am): Likewise.
39841         * modules/unistd (Makefile.am): Likewise.
39842         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
39843         * lib/unistd.in.h (dup): Likewise.
39844         * lib/sys_stat.in.h (fstat): Likewise.
39845
39846         maint: ignore gnulib-tool temp files
39847         * .gitignore: Ignore files created during gnulib-tool --test.
39848
39849 2009-09-13  Jim Meyering  <meyering@redhat.com>
39850
39851         posixtm: don't reject a time that specify "60" as the number of seconds
39852         * lib/posixtm.c (posixtime): The code to reject invalid dates
39853         would also reject a time specified with the .60 suffix.
39854         But POSIX allows that, in order to accommodate leap seconds.
39855         So don't reject it.
39856         (main): Adjust tests accordingly.
39857         * modules/posixtm (Depends-on): Add stpcpy.
39858
39859 2009-09-11  Jim Meyering  <meyering@redhat.com>
39860
39861         announce-gen: include [$release_type] in emitted Subject:
39862         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39863         e.g., [stable] in the emitted Subject: line.
39864
39865 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39866
39867         Remove obsolete macros from several modules.
39868         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39869         obsolete Autoconf macros with their modern counterparts.
39870         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39871         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39872         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39873         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39874         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39875         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39876         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39877         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39878         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39879         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39880         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39881         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39882         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39883         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39884         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39885         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39886         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39887         * m4/time_r.m4 (gl_TIME_R): Likewise.
39888         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39889         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39890         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39891
39892         Fix copyright header in build-aux scripts.
39893         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39894         recommendation.
39895         * build-aux/ncftpput-ftp: Likewise.
39896         * build-aux/update-copyright: Likewise.
39897
39898 2009-09-09  Eric Blake  <ebb9@byu.net>
39899
39900         test-link: allow Linux choice of errno
39901         * tests/test-link.c (main): Relax test for alternate error.
39902
39903         strndup: fix improper m4 caching
39904         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39905         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39906         (gl_PREREQ_STRNDUP): Delete.
39907         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39908         * modules/string (Makefile.am): Substitute it.
39909         * lib/string.in.h (strndup): Modernize prototype.
39910
39911         getcwd: port to mingw
39912         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39913         different from the POSIX assumptions made throughout the getcwd
39914         module; fortunately, the mingw getcwd does not need replacement.
39915         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39916         * modules/getcwd-tests: New test.
39917         * tests/test-getcwd.c: Likewise.
39918
39919         link: fix platform bugs
39920         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39921         * lib/link.c (link): Work around them.  Fix related mingw bug.
39922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39923         * modules/unistd (Makefile.am): Substitute it.
39924         * lib/unistd.in.h (link): Declare replacement.
39925         * doc/posix-functions/link.texi (link): Document this.
39926         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39927
39928         test-link: consolidate into single C program, test more cases
39929         * tests/test-link.sh: Delete.
39930         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39931         at least Cygwin and Solaris.
39932         * modules/link-tests (Files): Remove unused file.
39933         (Depends-on): Add errno, sys_stat.
39934         (Makefile.am): Simplify.
39935
39936 2009-09-08  Bruno Haible  <bruno@clisp.org>
39937
39938         Work around towlower, towupper bug on mingw.
39939         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39940         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39941         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39942         * doc/posix-functions/towupper.texi: Likewise.
39943         Reported by Eric Blake.
39944
39945 2009-09-08  Jim Meyering  <meyering@redhat.com>
39946
39947         build: don't try to run autoheader if we don't use it
39948         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39949         is not used in configure.ac.
39950
39951 2009-09-08  Eric Blake  <ebb9@byu.net>
39952
39953         euidaccess: fix compilation error
39954         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39955
39956         rawmemchr: relax license
39957         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39958         okay.
39959         Reported by Jim Meyering.
39960
39961         mkfifoat: new module
39962         * modules/mkfifoat: New file.
39963         * lib/mkfifoat.c: Likewise.
39964         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
39965         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39966         * modules/sys_stat (Makefile.am): Use them.
39967         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
39968         * MODULES.html.sh (File system functions): Mention module.
39969         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39970         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39971         * modules/mkfifoat-tests: New test.
39972         * tests/test-mkfifoat.c: Likewise.
39973
39974         strchrnul: relax license
39975         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
39976         okay.
39977         Reported by Jim Meyering.
39978
39979 2009-09-08  Eric Blake  <ebb9@byu.net>
39980
39981         fstatat: fix compilation on Solaris
39982         * lib/fstatat.c (includes): Add fcntl.h.
39983         Reported by Pádraig Brady.
39984
39985 2009-09-07  Eric Blake  <ebb9@byu.net>
39986
39987         rename: modernize replacement
39988         * modules/rename (Depends-on): Add stdio.
39989         (configure.ac): Declare witness.
39990         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
39991         stdio take care of replacement.
39992         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
39993         * modules/stdio (Makefile.am): Substitute them.
39994         * lib/stdio.in.h (rename): Declare replacement.
39995         * lib/rename.c (includes): Allow cross-compilation to non-windows
39996         machines.
39997         * doc/posix-functions/rename.texi (rename): Improve
39998         documentation.
39999
40000         stdio: sort witness names
40001         * modules/stdio (Makefile.am): Sort replacements.
40002         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40003         * lib/stdio.in.h: Likewise.
40004
40005         getcwd: minor cleanups
40006         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
40007         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
40008
40009         openat: provide more convenience names
40010         * modules/faccessat (configure.ac): Add C witness.
40011         * lib/unistd.in.h (readlinkat): Fix typo.
40012         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
40013         convenience wrappers.
40014         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
40015         wrappers in syntax checks.
40016
40017 2009-09-06  Eric Blake  <ebb9@byu.net>
40018
40019         doc: fix comments in recent patches
40020         * lib/faccessat.c: Mention correct function.
40021         * lib/fchmodat.c: Likewise.
40022         * lib/fchownat.c: Likewise.
40023         * lib/symlinkat.c: Likewise.
40024         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
40025         constants.
40026
40027         faccessat, symlinkat: continue cleanup of previous patch
40028         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
40029         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40030         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
40031         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
40032         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
40033         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
40034         set.
40035
40036 2009-09-06  Bruno Haible  <bruno@clisp.org>
40037
40038         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
40039         (fstatat): Declare if GNULIB_FSTATAT is set.
40040         (mkdirat): Declare if GNULIB_MKDIRAT is set.
40041         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
40042         (unlinkat): Declare if GNULIB_UNLINKAT is set.
40043         * modules/fcntl-h (Files): Remove m4/openat.m4.
40044         * modules/sys_stat (Files): Remove m4/openat.m4.
40045         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
40046         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
40047         * modules/unistd (Files): Remove m4/openat.m4.
40048         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
40049         GNULIB_OPENAT.
40050         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
40051         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
40052         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
40053         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
40054         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
40055         gl_OPENAT_DEFAULTS.
40056         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
40057         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
40058         Don't require gl_OPENAT_DEFAULTS.
40059         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
40060         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
40061         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
40062         (gl_OPENAT_DEFAULTS): Remove macro.
40063
40064 2009-09-06  Bruno Haible  <bruno@clisp.org>
40065
40066         * modules/openat (configure.ac): Remove unneeded witness.
40067
40068 2009-09-06  Bruno Haible  <bruno@clisp.org>
40069
40070         Set errno to ENOSYS when a function is entirely unsupported.
40071         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
40072         EOPNOTSUPP.
40073         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40074         * modules/chown (Depends-on): Remove errno.
40075
40076 2009-09-06  Bruno Haible  <bruno@clisp.org>
40077
40078         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
40079
40080 2009-09-06  Bruno Haible  <bruno@clisp.org>
40081
40082         * lib/sys_stat.in.h: Fix preprocessor command indentation.
40083
40084 2009-09-06  Ben Pfaff  <blp@gnu.org>
40085             Bruno Haible  <bruno@clisp.org>
40086
40087         Work around a glibc bug in strtok_r.
40088         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
40089         Undefine if UNDEFINE_STRTOK_R is set.
40090         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
40091         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40092         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
40093         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
40094         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
40095         UNDEFINE_STRTOK_R.
40096         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
40097
40098 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
40099
40100         exclude: minor fix
40101         * lib/exclude.c: Include wctype.h
40102
40103 2009-09-06  Akim Demaille  <demaille@gostai.com>
40104
40105         bootstrap: improve error message
40106         * build-aux/bootstrap (find_tool): Upon failure, report the list
40107         of candidates.
40108         Honor the initial value of the envvar.
40109
40110 2009-09-05  Eric Blake  <ebb9@byu.net>
40111
40112         symlinkat: new module
40113         * modules/symlinkat: New file.
40114         * lib/symlinkat.c: Likewise.
40115         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
40116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40117         * modules/unistd (Makefile.am): Use them.
40118         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
40119         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
40120         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
40121         * MODULES.html.sh (File system functions): Mention module.
40122         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40123         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40124         * modules/symlinkat-tests: New test.
40125         * tests/test-symlinkat.c: Likewise.
40126
40127         test-openat-safer: add more checks
40128         * tests/test-openat-safer.c (main): Check more code paths.
40129
40130 2009-09-05  Jim Meyering  <meyering@redhat.com>
40131
40132         syntax-check: detect unnecessary inclusion of openat.h
40133         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
40134
40135 2009-09-05  Bruno Haible  <bruno@clisp.org>
40136
40137         Support towlower, towupper.
40138         * doc/posix-functions/towlower.texi: Mention module wctype.
40139         * doc/posix-functions/towupper.texi: Likewise.
40140         * lib/wctype.in.h (towlower, towupper): New functions.
40141         * tests/test-wctype.c: Include stdio.h, stdlib.h.
40142         (ASSERT): New macro.
40143         (e): New variable.
40144         (main): Test also towlower, towupper. Test WEOF argument.
40145         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40146
40147 2009-09-05  Bruno Haible  <bruno@clisp.org>
40148
40149         Fix conversion behaviour when the input is invalid.
40150         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
40151         mark occurring in first pass of indirect conversion.
40152         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
40153         input.
40154         Found by clang's static analyzer.
40155
40156 2009-09-05  Bruno Haible  <bruno@clisp.org>
40157
40158         * tests/test-striconveh.c (main): Test indirect conversion on platforms
40159         where direct conversion is possible.
40160
40161 2009-09-04  Eric Blake  <ebb9@byu.net>
40162
40163         openat: fail with ENOENT on empty name
40164         * lib/openat-proc.c (openat_proc_name): Special-case the empty
40165         buffer.
40166
40167         link-follow: fix logic bug in prior patch
40168         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
40169         reversed sense of yes and no in prior patch.  Avoid confusing
40170         compilation failure with desired semantics.
40171
40172         link-follow: accomodate mingw and cross-compilation
40173         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
40174         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
40175         cross-compilation results to -1, to make linkat easier to
40176         implement when cross-compiling.  Trivially support mingw.
40177         * modules/link-follow (configure.ac): Call new name.
40178         * NEWS: Mention this.
40179
40180 2009-09-03  Eric Blake  <ebb9@byu.net>
40181
40182         faccessat: compile replacement
40183         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
40184         needed.
40185
40186         fts: fix compilation error
40187         * lib/fts.c (includes): Re-add "openat.h", for
40188         openat_needs_fchdir.
40189
40190         faccessat: new module
40191         * modules/faccessat: New file.
40192         * lib/faccessat.c: Likewise.
40193         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40195         * modules/unistd (Makefile.am): Use it.
40196         * lib/unistd.in.h (faccessat): Declare it.
40197         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
40198         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
40199         * MODULES.html.sh (File system functions): Mention it.
40200         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
40201         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40202
40203         euidaccess: prefer POSIX over non-standard implementation
40204         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
40205         * lib/euidaccess.c (euidaccess): Use it if available.
40206
40207         openat: make template easier to use
40208         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
40209         AT_FUNC_F2 to be undefined.
40210         (VALIDATE_FLAG): New macro; use it to reject bad flags.
40211         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
40212         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
40213         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
40214         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
40215         Likewise.
40216         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
40217         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
40218         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
40219         Likewise.
40220
40221         openat: declare in POSIX headers
40222         * NEWS: Mention this.
40223         * modules/openat (configure.ac): Declare witnesses.
40224         (Depends-on): Add fcntl-h, sys_stat, unistd.
40225         (Include): Mention correct headers.
40226         * modules/fcntl-h (Depends-on): Add link-warning.
40227         (Files): Add openat.m4.
40228         (Makefile.am): Substitute witnesses.
40229         * modules/sys_stat (Files, Makefile.am): Likewise.
40230         * modules/unistd (Files, Makefile.am): Likewise.
40231         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
40232         (gl_OPENAT_DEFAULTS): New macro.
40233         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
40234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
40235         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
40236         (SYS_STAT_H): Remove unused variable.
40237         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
40238         * lib/fcntl--.h (includes): Remove unneeded header.
40239         * lib/openat-safer.c (includes): Likewise.
40240         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
40241         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
40242         appropriate headers.
40243         (__OPENAT_PREFIX): Delete.
40244         * lib/fcntl.in.h (openat): Provide declaration.
40245         (AT_FDCWD): Fix Solaris bug.
40246         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
40247         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
40248         * lib/fchmodat.c (includes):  Adjust to find declaration.
40249         * lib/fchownat.c (includes): Likewise.
40250         * lib/mkdirat.c (includes): Likewise.
40251         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
40252         still visible.
40253
40254 2009-09-02  Eric Blake  <ebb9@byu.net>
40255
40256         errno: use consistently
40257         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
40258         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
40259         * lib/canonicalize.c (ELOOP): Likewise.
40260         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
40261         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
40262         * lib/lchown.c (EOPNOTSUPP): Likewise.
40263         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
40264         * lib/savewd.c (ESTALE): Likewise.
40265         * lib/settime.c (ENOSYS): Likewise.
40266         * lib/utimens.c (ENOSYS): Likewise.
40267         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
40268         * lib/chdir-safer.c (ELOOP): Likewise.
40269         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
40270         * modules/c-stack (Depends-on): Add errno.
40271         * modules/canonicalize (Depends-on): Likewise.
40272         * modules/chdir-safer (Depends-on): Likewise.
40273         * modules/fdopendir (Depends-on): Likewise.
40274         * modules/inet_ntop (Depends-on): Likewise.
40275         * modules/inet_pton (Depends-on): Likewise.
40276         * modules/lchown (Depends-on): Likewise.
40277         * modules/openat (Depends-on): Likewise.
40278         * modules/savewd (Depends-on): Likewise.
40279         * modules/settime (Depends-on): Likewise.
40280         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
40281
40282         fts: avoid leaking fds
40283         * modules/fts (Depends-on): Add cloexec.
40284         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
40285         flag.
40286
40287         fts: make directory fds more robust
40288         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
40289         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
40290
40291         backupfile, chdir-long, fts, savedir: make safer
40292         * lib/backupfile.c (includes): Use "dirent--.h", since
40293         numbered_backup can write to stderr during readdir.
40294         * lib/savedir.c (includes): Likewise.
40295         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
40296         emulation can write to stderr on failure.
40297         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
40298         * lib/getcwd.c: Document why opendir_safer is unused.
40299         * lib/glob.c: Likewise.
40300         * lib/scandir.c: Likewise.
40301         * lib/openat-proc.c: Likewise, for open_safer.
40302         * modules/backupfile (Depends-on): Add dirent-safer.
40303         * modules/savedir (Depends-on): Likewise.
40304         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
40305         * modules/chdir-long (Depends-on): Add openat-safer.
40306
40307         openat-safer: new module
40308         * modules/openat-safer: New file.
40309         * lib/openat-safer.c: Likewise.
40310         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
40311         * lib/fcntl-safer.h (openat_safer): Declare.
40312         * lib/fcntl--.h (openat): Override.
40313         * MODULES.html.sh (File descriptor based I/O): Mention it.
40314         * lib/openat.h: Add double-inclusion guards.
40315         * lib/openat.c (includes): Only include "fcntl-safer.h", not
40316         "fcntl--.h", so we can implement openat.
40317         * modules/openat-safer-tests: New test.
40318         * tests/test-openat-safer.c: New file.
40319
40320         dirent-safer: new module
40321         * modules/dirent-safer: New file.
40322         * lib/dirent--.h: Likewise.
40323         * lib/dirent-safer.h: Likewise.
40324         * lib/opendir-safer.c: Likewise.
40325         * m4/dirent-safer.m4: Likewise.
40326         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
40327         * modules/dirent-safer-tests: New test.
40328         * tests/test-dirent-safer.c: New file.
40329         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
40330
40331         fdopendir: optimize on mingw
40332         * lib/unistd.in.h (_gl_directory_name): New prototype.
40333         * lib/fchdir.c (_gl_directory_name): Implement it.
40334         (fchdir): Use it to simplify implementation.
40335         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
40336         fchdir, when available, to avoid calling [f]chdir().
40337
40338         fdopendir: split into its own module
40339         * lib/openat.c (fdopendir): Move...
40340         * lib/fdopendir.c: ...into new file.
40341         * modules/fdopendir: New module.
40342         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
40343         * modules/openat (Depends-on): Add fdopendir.
40344         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
40345         fdopendir here.
40346         * modules/savedir (Depends-on): Only need fdopendir, not full
40347         openat.
40348         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
40349         * lib/openat.h (fdopendir): Drop prototype.
40350         * lib/dirent.in.h (fdopendir): Provide prototype.
40351         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
40352         * modules/dirent (Makefile.am): Substitute them.
40353         * MODULES.html.sh (File system functions): Mention it.
40354         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
40355         * modules/fdopendir-tests: New file.
40356         * tests/test-fdopendir.c: Likewise.
40357
40358         fchdir: use more consistent macro convention
40359         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
40360         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
40361         REPLACE_FCHDIR, rather than relying on config.h macros.
40362         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
40363         inside a single make-time REPLACE_FCHDIR block, rather than using
40364         the config.h FCHDIR_REPLACEMENT.
40365         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
40366         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
40367         Manage fstat replacement.
40368         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
40369         REPLACE_FCHDIR.
40370         * modules/sys_stat (Files): Add m4/unistd_h.m4.
40371         (Makefile.am): Substitute REPLACE_FCHDIR.
40372         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
40373         FCHDIR_REPLACEMENT.
40374         * lib/dup-safer.c (dup_safer): Likewise.
40375         * lib/dup2.c (rpl_dup2): Likewise.
40376         * lib/dup3.c (rpl_dup3): Likewise.
40377         * lib/open.c (rpl_open): Likewise.
40378
40379         fchdir: simplify error handling, and support dup3
40380         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
40381         stdbool, malloc-posix, realloc-posix.
40382         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
40383         (ensure_dirs_slot): Return false on allocation failure.
40384         (rpl_dup2): Delete.
40385         (_gl_register_dup): New function.
40386         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
40387         (_gl_register_fd): Close fd on allocation failure.
40388         * lib/fcntl.in.h (_gl_register_fd): Update signature.
40389         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
40390         prototype.
40391         (rpl_dup2_fchdir): Delete prototype.
40392         * lib/open.c (open): Update caller.
40393         * lib/dup2.c (dup2): Track fchdir metadata.
40394         * lib/dup3.c (dup3): Likewise.
40395         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
40396         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
40397
40398 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40399
40400         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
40401         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
40402         don't pass arguments to AC_OUTPUT.
40403
40404 2009-09-02  Bruno Haible  <bruno@clisp.org>
40405
40406         * modules/mkdtemp (License): Relicense under LGPLv2+.
40407         Reported by Paolo Bonzini.
40408
40409 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40410
40411         Replace uses of obsolete autoconf macros in Jim's modules.
40412         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
40413         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
40414         can evoke a warning from autoconf when run with -Wobsolete
40415         enabled.  They were declared obsolete for good reasons (see
40416         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
40417         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
40418         should not continue using the deprecated macros.
40419         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
40420         obsolete Autoconf macros with modern counterparts.
40421         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
40422         * m4/dos.m4 (gl_AC_DOS): Likewise.
40423         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
40424         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
40425         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
40426         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
40427         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
40428         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
40429         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
40430         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
40431         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40432         Likewise.
40433         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
40434         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
40435         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
40436         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
40437         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40438         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
40439
40440 2009-09-01  Eric Blake  <ebb9@byu.net>
40441
40442         fchdir: fix off-by-one bug in previous patch
40443         * lib/fchdir.c (rpl_fstat): Use correct bounds.
40444         (_gl_unregister_fd): Delete useless if.
40445
40446 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
40447
40448         maint.mk: sort the list of syntax-check rules
40449         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
40450         easier to get a sense of progress when the rules are run sequentially
40451         and take a long time.
40452
40453 2009-09-01  Simon Josefsson  <simon@josefsson.org>
40454
40455         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
40456         * modules/netinet_in: Likewise.
40457         * modules/sys_file: Likewise.
40458         * modules/sys_ioctl: Likewise.
40459         * modules/sys_select: Likewise.
40460         * modules/sys_socket: Likewise.
40461         * modules/sys_stat: Likewise.
40462         * modules/sys_time: Likewise.
40463         * modules/sys_times: Likewise.
40464         * modules/sys_utsname: Likewise.
40465         * modules/sys_wait: Likewise.
40466
40467 2009-09-01  Jim Meyering  <meyering@redhat.com>
40468
40469         fts: help ensure that return values are not ignored
40470         * lib/fts_.h (__GNUC_PREREQ): Define.
40471         (__attribute_warn_unused_result__): Define.
40472         (fts_children, fts_close, fts_open, fts_read): Declare with
40473         __attribute_warn_unused_result__.
40474
40475         fts: fts_close now fails also when closing a dir file descriptor fails
40476         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
40477         and propagate to caller, along with errno.
40478
40479         announce-gen: correct formatting in --help output
40480         * build-aux/announce-gen (usage): Move the one-line description in
40481         --help output "up", to where it belongs, just after Usage:.
40482
40483 2009-08-31  Eric Blake  <ebb9@byu.net>
40484
40485         fchdir: port to mingw
40486         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
40487         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
40488         opened, then use a substitute.
40489         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
40490         replacement.
40491         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
40492         (_gl_register_fd): No need to check stat if open already filters
40493         all directories.
40494         (fchdir): Fix error condition to match POSIX.
40495         * modules/fchdir (Depends-on): Add sys_stat.
40496         * doc/posix-functions/open.texi (open): Document the limitation.
40497         * modules/fchdir-tests: New file.
40498         * tests/test-fchdir.c: Likewise.
40499
40500         canonicalize: allow cross-testing from cygwin to mingw
40501         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
40502         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
40503         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
40504         Likewise.
40505         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
40506         target does not support symlinks.
40507         * tests/test-canonicalize-lgpl.sh: Likewise.
40508
40509         chown: avoid compilation warning on mingw
40510         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
40511         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
40512         mingw.
40513         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40514         * modules/chown (Depends-on): Add errno.
40515
40516 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40517
40518         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
40519         command.
40520
40521 2009-08-31  Jim Meyering  <meyering@redhat.com>
40522
40523         canonicalize: remove useless initialization
40524         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
40525         initialization of local, "end".
40526
40527 2009-08-30  Bruno Haible  <bruno@clisp.org>
40528
40529         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
40530         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
40531         ENOSYS.
40532
40533 2009-08-30  Bruno Haible  <bruno@clisp.org>
40534
40535         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
40536         /usr/xpg4/bin/tr when it exists.
40537         * tests/test-pipe-filter-gi1.sh: Likewise.
40538
40539 2009-08-30  Bruno Haible  <bruno@clisp.org>
40540
40541         Work around deficient /usr/bin/id program on Solaris.
40542         * tests/test-file-has-acl.sh (ID): New variable.
40543         * tests/test-set-mode-acl.sh (ID): Likewise.
40544         * tests/test-copy-acl.sh (ID): Likewise.
40545         * tests/test-copy-file.sh (ID): Likewise.
40546
40547 2009-08-30  Bruno Haible  <bruno@clisp.org>
40548
40549         New module 'xstriconveh'.
40550         * lib/xstriconveh.h: New file.
40551         * lib/xstriconveh.c: New file.
40552         * modules/xstriconveh: New file.
40553
40554 2009-08-30  Bruno Haible  <bruno@clisp.org>
40555
40556         Make it easier to use mem_cd_iconveh.
40557         * lib/striconveh.h (iconveh_t): New type.
40558         (iconveh_open, iconveh_close): New declarations.
40559         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40560         with a single 'const iconveh_t *' argument.
40561         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
40562         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40563         with a single 'const iconveh_t *' argument.
40564         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
40565         * tests/test-striconveh.c (main): Update.
40566         * NEWS: Mention the change.
40567
40568 2009-08-30  Bruno Haible  <bruno@clisp.org>
40569
40570         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
40571         problem.
40572
40573 2009-08-30  Bruno Haible  <bruno@clisp.org>
40574
40575         Work around iconv_open problem on Solaris.
40576         * lib/iconv_open-solaris.gperf: New file.
40577         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
40578         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
40579         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
40580         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
40581         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
40582         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
40583
40584 2009-08-29  Jim Meyering  <meyering@redhat.com>
40585
40586         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
40587         * top/maint.mk (cvs-check): Remove target; it was just an alias
40588         to the better-named vc-diff-check.
40589         (maintainer-distcheck): Remove rule.  It was used only from
40590         the (alpha/beta/major) target, and all of its commands but one
40591         were coreutils-specific.
40592         (vc-dist): Remove rule.
40593         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40594         Run vc-diff-check, not vc-dist.
40595         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
40596
40597 2009-08-27  Bruno Haible  <bruno@clisp.org>
40598
40599         * tests/test-bitrotate.c (main): Remove test that uses a shift count
40600         of 0.
40601
40602 2009-08-27  Bruno Haible  <bruno@clisp.org>
40603
40604         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
40605         compilers.
40606         * doc/func.texi: Document the SunPRO C bug.
40607
40608 2009-08-27  Bruno Haible  <bruno@clisp.org>
40609
40610         Fix link error on Solaris.
40611         * tests/test-parse-duration.c (xstrdup): Remove function.
40612
40613 2009-08-26  Pádraig Brady  <P@draigbrady.com>
40614
40615         ignore-value: handle pointer types, too
40616         * lib/ignore-value.h (__attribute__): Remove definition.
40617         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
40618         of a more concise and more-often effective "(void) i" statement.
40619         (ignore_ptr): New function to suppress warnings from functions that
40620         return pointers, and to make it explicit that one function doesn't
40621         handle all cases.
40622
40623 2009-08-25  Bruno Haible  <bruno@clisp.org>
40624
40625         dup2: work around a Linux bug.
40626         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
40627         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
40628         * doc/posix-functions/dup2.texi: Mention the Linux bug.
40629         Reported by Simon Josefsson.
40630
40631 2009-08-25  Jim Meyering  <meyering@redhat.com>
40632
40633         libguestfs uses gnulib
40634         * users.txt: Add libguestfs.
40635
40636 2009-08-24  Eric Blake  <ebb9@byu.net>
40637
40638         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
40639         * lib/pipe2.c (includes): Add binary-io.h.
40640         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
40641
40642 2009-08-24  Bruno Haible  <bruno@clisp.org>
40643
40644         Tolerate declared but missing accept4 syscall.
40645         * lib/accept4.c (accept4): Invoke original accept4 function first, if
40646         available.
40647         * lib/sys_socket.in.h (accept4): If the function is already present,
40648         override it.
40649         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
40650         * modules/accept4 (Makefile.am): Compile accept4.c always.
40651         Reported by Paolo Bonzini and Eric Blake.
40652
40653 2009-08-23  Bruno Haible  <bruno@clisp.org>
40654
40655         New module 'accept4'.
40656         * lib/sys_socket.in.h (accept4): New declaration.
40657         * lib/accept4.c: New file.
40658         * m4/accept4.m4: New file.
40659         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40660         GNULIB_ACCEPT4, HAVE_ACCEPT4.
40661         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
40662         HAVE_ACCEPT4.
40663         * modules/accept4: New file.
40664         * doc/glibc-functions/accept4.texi: Mention the new module.
40665
40666 2009-08-24  Jim Meyering  <meyering@redhat.com>
40667
40668         progname: also set global program_invocation_name, when possible
40669         Before this change, a libtool-enabled program that calls glibc's
40670         error function would report the program name as
40671         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
40672         * modules/progname (configure.ac): Check for a declaration of
40673         program_invocation_name.
40674         * lib/progname.c:  Include <errno.h>.
40675         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
40676         Set program_invocation_name.
40677
40678 2009-08-23  Bruno Haible  <bruno@clisp.org>
40679
40680         * lib/dup3.c: Include <string.h>.
40681
40682 2009-08-23  Bruno Haible  <bruno@clisp.org>
40683
40684         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40685         * lib/pipe2.c (pipe2): Likewise.
40686         Suggested by Eric Blake.
40687
40688 2009-08-23  Bruno Haible  <bruno@clisp.org>
40689
40690         Tolerate declared but missing dup3 syscall.
40691         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40692         * lib/unistd.in.h (dup3): If the function is already present,
40693         override it.
40694         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40695         * modules/dup3 (Makefile.am): Compile dup3.c always.
40696         Reported by Paolo Bonzini.
40697
40698 2009-08-23  Bruno Haible  <bruno@clisp.org>
40699
40700         Tolerate declared but missing pipe2 syscall.
40701         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40702         available.
40703         * lib/unistd.in.h (pipe2): If the function is already present,
40704         override it.
40705         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40706         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40707         Reported by Paolo Bonzini.
40708
40709 2009-08-23  Bruno Haible  <bruno@clisp.org>
40710
40711         * lib/pipe2.c (pipe2): Move #ifs inside function.
40712
40713 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40714
40715         quotearg: document limitations of quote_these_too
40716         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40717         those limitations are created.
40718         * lib/quotearg.h (set_char_quoting): Document that digits and
40719         letters that are special after backslash are not permitted.
40720         (quotearg_char): Cross-reference set_char_quoting documentation.
40721
40722 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40723
40724         quotearg: implement custom_quoting_style
40725         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40726         right_quote fields.
40727         (set_custom_quoting): New public function.
40728         (quotearg_buffer_restyled): Add left_quote and right_quote
40729         arguments, handle them very much like locale quoting, and update
40730         all uses.
40731         (quotearg_n_custom): New public function.
40732         (quotearg_n_custom_mem): New public function.
40733         (quotearg_custom): New public function.
40734         (quotearg_custom_mem): New public function.
40735         * lib/quotearg.h: Prototype and document new public functions.
40736         (enum quoting_style): For escape_quoting_style and
40737         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40738         ignored even though they're otherwise like c_quoting_style.
40739         Add custom_quoting_style member and document with comparison to
40740         clocale_quoting_style.
40741         * tests/test-quotearg.c (custom_quotes): New array.
40742         (custom_results): New array.
40743         (main): Extend to test custom quoting.
40744
40745 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40746
40747         quotearg: fix right quote escaping when it's in quote_these_too
40748         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40749         quote, be sure to prepend only one backslash.
40750         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40751         (main): Test it.
40752
40753 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40754
40755         quotearg-tests: test escaping of embedded locale quotes
40756         * tests/test-quotearg.c (struct result_strings): Add member for
40757         new input.
40758         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40759         (inputs): Add new input.
40760         (results_g): Add expected results.
40761         (flag_results): Likewise.
40762         (locale_results): Likewise.
40763         (compare_strings): Check those.
40764
40765 2009-08-23  Bruno Haible  <bruno@clisp.org>
40766
40767         Tests for module 'dup3'.
40768         * modules/dup3-tests: New file.
40769         * tests/test-dup3.c: New file.
40770
40771         New module 'dup3'.
40772         * lib/unistd.in.h (dup3): New declaration.
40773         * lib/dup3.c: New file.
40774         * m4/dup3.m4: New file.
40775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40776         HAVE_DUP3.
40777         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40778         * modules/dup3: New file.
40779         * doc/glibc-functions/dup3.texi: Mention the new module.
40780
40781 2009-08-23  Bruno Haible  <bruno@clisp.org>
40782
40783         Tweak the dup2 test.
40784         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40785         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40786         the test file is still empty. Fix argument order of lseek.
40787
40788 2009-08-23  Bruno Haible  <bruno@clisp.org>
40789
40790         Avoid test link errors when the modules getopt-gnu, gettext are used.
40791         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40792         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40793
40794 2009-08-23  Bruno Haible  <bruno@clisp.org>
40795
40796         Fix getdtablesize() on mingw.
40797         * lib/getdtablesize.c (getdtablesize): Implement differently.
40798         * lib/unistd.in.h (getdtablesize): Improve comment.
40799
40800 2009-08-23  Bruno Haible  <bruno@clisp.org>
40801
40802         New module 'mkostemp'.
40803         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40804         * lib/stdlib.in.h (mksotemp): New declaration.
40805         * lib/mkostemp.c: New file, from glibc with modifications.
40806         * lib/tempname.h (GT_FILE): Remove outdated comment.
40807         (gen_tempname): Add flags argument.
40808         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40809         (__GT_FILE): Map to 1.
40810         (small_open, large_open): Remove macros.
40811         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40812         * lib/mkstemp.c (mkstemp): Update.
40813         * lib/mkdtemp.c (mkdtemp): Likewise.
40814         * m4/mkostemp.m4: New file.
40815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40816         HAVE_MKOSTEMP.
40817         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40818         HAVE_MKOSTEMP.
40819         * modules/mkostemp: New file, based on modules/mkstemp.
40820         * doc/glibc-functions/mkostemp.texi: Mention the new module.
40821         * NEWS: Mention the change.
40822
40823 2009-08-23  Bruno Haible  <bruno@clisp.org>
40824
40825         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
40826         Reported by Eric Blake.
40827
40828 2009-08-23  Bruno Haible  <bruno@clisp.org>
40829
40830         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
40831         Reported by Eric Blake.
40832
40833 2009-08-23  Bruno Haible  <bruno@clisp.org>
40834
40835         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
40836         * modules/pipe2 (Depends-on): Likewise.
40837
40838 2009-08-23  Eric Blake  <ebb9@byu.net>
40839
40840         fcntl-h: add O_TTY_INIT support
40841         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
40842         * tests/test-fcntl-h.c (o): Test it.
40843         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40844
40845         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40846         * modules/fcntl: Move <fcntl.h> header replacement...
40847         * modules/fcntl-h: ...to new name, so as not to collide with
40848         like-named function.
40849         * tests/test-fcntl.c: Rename...
40850         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40851         * modules/fcntl-tests: Rename...
40852         * modules/fcntl-h-tests: ...to this.  Update test file name.
40853         * modules/chdir-long (Depends-on): Update clients.
40854         * modules/chdir-safer (Depends-on): Likewise.
40855         * modules/fcntl-safer (Depends-on): Likewise.
40856         * modules/fts (Depends-on): Likewise.
40857         * modules/mkancesdirs (Depends-on): Likewise.
40858         * modules/mkdir-p (Depends-on): Likewise.
40859         * modules/open (Depends-on): Likewise.
40860         * modules/savewd (Depends-on): Likewise.
40861         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40862         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40863
40864 2009-08-22  Bruno Haible  <bruno@clisp.org>
40865
40866         * modules/binary-io (License): Relicense under LGPL.
40867         * modules/pipe2 (License): Likewise.
40868
40869 2009-08-22  Bruno Haible  <bruno@clisp.org>
40870
40871         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40872         return value.
40873         * lib/pipe-filter-gi.c (filter_init): Likewise.
40874         Reported by Eric Blake.
40875
40876 2009-08-22  Bruno Haible  <bruno@clisp.org>
40877
40878         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40879         * modules/pipe (Depends-on): Add pipe2.
40880
40881 2009-08-22  Bruno Haible  <bruno@clisp.org>
40882
40883         Tests for module 'pipe2'.
40884         * modules/pipe2-tests: New file.
40885         * tests/test-pipe2.c: New file.
40886
40887         New module 'pipe2'.
40888         * lib/unistd.in.h (pipe2): New declaration.
40889         * lib/pipe2.c: New file.
40890         * m4/pipe2.m4: New file.
40891         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40892         HAVE_PIPE2.
40893         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40894         * modules/pipe2: New file.
40895         * doc/glibc-functions/pipe2.texi: Mention the new module.
40896
40897 2009-08-22  Bruno Haible  <bruno@clisp.org>
40898
40899         Reference some new glibc functions.
40900         * doc/glibc-functions/accept4.texi: New file.
40901         * doc/glibc-functions/dup3.texi: New file.
40902         * doc/glibc-functions/mkostemp.texi: New file.
40903         * doc/glibc-functions/pipe2.texi: New file.
40904         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40905         (Glibc sys/socket.h): Refer to accept4.
40906         (Glibc unistd.h): Refer to dup3, pipe2.
40907         Reported by Eric Blake.
40908
40909 2009-08-22  Jim Meyering  <meyering@redhat.com>
40910             Bruno Haible  <bruno@clisp.org>
40911
40912         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40913         This makes it so packages using automake-1.11's silent-rules option
40914         can print e.g., a single "GEN    configmake.h" line, rather than
40915         the 30+ statements that perform the job.  If you want to see the
40916         actual commands, you can still run "make V=1".
40917         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40918         so that make output is abbreviated when those variables are defined
40919         appropriately.
40920         * modules/argz: Likewise.
40921         * modules/arpa_inet: Likewise.
40922         * modules/byteswap: Likewise.
40923         * modules/configmake: Likewise.
40924         * modules/dirent: Likewise.
40925         * modules/errno: Likewise.
40926         * modules/fcntl: Likewise.
40927         * modules/float: Likewise.
40928         * modules/fnmatch: Likewise.
40929         * modules/getopt-posix: Likewise.
40930         * modules/glob: Likewise.
40931         * modules/iconv_open: Likewise.
40932         * modules/inttypes: Likewise.
40933         * modules/localcharset: Likewise.
40934         * modules/locale: Likewise.
40935         * modules/math: Likewise.
40936         * modules/netdb: Likewise.
40937         * modules/netinet_in: Likewise.
40938         * modules/poll: Likewise.
40939         * modules/posix_spawnp-tests: Likewise.
40940         * modules/sched: Likewise.
40941         * modules/search: Likewise.
40942         * modules/selinux-h: Likewise.
40943         * modules/signal: Likewise.
40944         * modules/spawn: Likewise.
40945         * modules/stdarg: Likewise.
40946         * modules/stdbool: Likewise.
40947         * modules/stddef: Likewise.
40948         * modules/stdint: Likewise.
40949         * modules/stdio: Likewise.
40950         * modules/stdlib: Likewise.
40951         * modules/string: Likewise.
40952         * modules/strings: Likewise.
40953         * modules/sys_file: Likewise.
40954         * modules/sys_ioctl: Likewise.
40955         * modules/sys_select: Likewise.
40956         * modules/sys_socket: Likewise.
40957         * modules/sys_stat: Likewise.
40958         * modules/sys_time: Likewise.
40959         * modules/sys_times: Likewise.
40960         * modules/sys_utsname: Likewise.
40961         * modules/sys_wait: Likewise.
40962         * modules/sysexits: Likewise.
40963         * modules/time: Likewise.
40964         * modules/unistd: Likewise.
40965         * modules/wchar: Likewise.
40966         * modules/wctype: Likewise.
40967
40968 2009-08-22  Jim Meyering  <meyering@redhat.com>
40969
40970         announce-gen: detect write failure
40971         * build-aux/announce-gen: Add Coda at end.
40972         Remove equivalent-but-more-verbose block at top.
40973
40974 2009-08-19  Akim Demaille  <demaille@gostai.com>
40975
40976         bootstrap: --help to stdout.
40977         * bootstrap (usage): Don't send --help to stderr.
40978         Use a here doc instead of a long string.
40979
40980 2009-08-21  Eric Blake  <ebb9@byu.net>
40981
40982         test-popen-safer: split from test-popen
40983         * tests/test-popen.c (main): Move...
40984         * tests/test-popen.h: ...into new file.
40985         * tests/test-popen-safer2.c: New file.
40986         * modules/popen-tests (Files): Add test-popen.h.
40987         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
40988         Suggested by Bruno Haible.
40989
40990         test-fcntl-safer: split from test-open
40991         * tests/test-open.c (main): Move...
40992         * tests/test-open.h: ...into new file.
40993         * tests/test-fcntl-safer.c: New file.
40994         * modules/open-tests (Files): Add test-open.h.
40995         * modules/fcntl-safer-tests: New file.
40996         Suggested by Bruno Haible.
40997
40998         test-fopen-safer: split from test-fopen
40999         * tests/test-fopen.c (main): Move...
41000         * tests/test-fopen.h: ...into new file.
41001         * tests/test-fopen-safer.c: New file.
41002         * modules/fopen-tests (Files): Add test-fopen.h.
41003         * modules/fopen-safer-tests: New file.
41004         Suggested by Bruno Haible.
41005
41006 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41007
41008         popen-safer: test O_CLOEXEC at run-time.
41009         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
41010
41011 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41012
41013         fcntl: move more flags to the header
41014         * lib/cloexec.c: Do not define FD_CLOEXEC here.
41015         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
41016         * lib/fcntl.in.h: Do both things here.
41017
41018 2009-08-21  Jim Meyering  <meyering@redhat.com>
41019
41020         consistently remove $@-t before redirecting to it
41021         * modules/argz: Remove $@-t and $@ before redirecting to the former.
41022         * modules/alloca-opt: Likewise.
41023         * modules/byteswap: Likewise.
41024         * modules/fnmatch: Likewise.
41025         * modules/getopt-posix: Likewise.
41026         * modules/glob: Likewise.
41027         * modules/poll: Likewise.
41028         * modules/posix_spawnp-tests: Likewise.
41029         * modules/sys_socket: Likewise.
41030         * modules/sysexits: Likewise.
41031
41032 2009-08-21  Eric Blake  <ebb9@byu.net>
41033
41034         popen: simplify access to original popen
41035         * lib/popen.c (rpl_popen): No need to worry about popen being a
41036         macro.
41037         Reported by Bruno Haible.
41038
41039 2009-08-20  Eric Blake  <ebb9@byu.net>
41040
41041         build: avoid some compiler warnings
41042         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
41043         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
41044         type.
41045         (new_exclude_segment, excluded_file_pattern_p)
41046         (excluded_file_name_p): Reduce scope.
41047         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
41048         old-style declaration.
41049
41050 2009-08-20  Simon Josefsson  <simon@josefsson.org>
41051
41052         * tests/test-exclude1.sh: Handle Windows EOL.
41053         * tests/test-exclude2.sh: Likewise.
41054         * tests/test-exclude3.sh: Likewise.
41055         * tests/test-exclude4.sh: Likewise.
41056         * tests/test-exclude5.sh: Likewise.
41057         * tests/test-exclude6.sh: Likewise.
41058         * tests/test-exclude7.sh: Likewise.
41059
41060 2009-08-19  Akim Demaille  <demaille@gostai.com>
41061
41062         bootstrap: find sha1sum when named gsha1sum.
41063         * bootstrap (find_tool): New.
41064         ($SHA1SUM): New.
41065         Use it.
41066
41067 2009-08-20  Jim Meyering  <meyering@redhat.com>
41068
41069         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
41070         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
41071         expression that converts "." in a file name to "\." in the resulting
41072         regexp.  Start with a dummy statement, so that prior shell variable
41073         definitions are expanded portably.  Reported by Simon Josefsson.
41074
41075 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
41076
41077         Fix polling for writeability of a screen buffer.
41078         * lib/poll.c: Distinguish input and screen buffers for the
41079         Win32 implementation.
41080         * lib/select.c: Likewise.
41081
41082 2009-08-19  Eric Blake  <ebb9@byu.net>
41083
41084         popen-safer: prevent popen from clobbering std descriptors
41085         * modules/popen-safer: New file.
41086         * lib/popen-safer.c: Likewise.
41087         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
41088         * lib/stdio--.h (popen): Provide override.
41089         * lib/stdio-safer.h (popen_safer): Provide declaration.
41090         * tests/test-popen.c (includes): Partially test this.
41091         * modules/popen-safer-tests: New file, for more tests.
41092         * tests/test-popen-safer.c: Likewise.
41093         * MODULES.html.sh (file stream based Input/Output): Mention it.
41094
41095         tests: test some of the *-safer modules
41096         * modules/fopen-safer (Depends-on): Add fopen.
41097         * modules/fcntl-safer (Depends-on): Add fcntl.
41098         * modules/stdlib-safer (Depends-on): Add stdlib.
41099         (configure.ac): Set indicator.
41100         * modules/unistd-safer (configure.ac): Likewise.
41101         * modules/tmpfile-safer (configure.ac): Likewise.
41102         (Depends-on): Add tmpfile.
41103         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
41104         active.
41105         * tests/test-fopen.c (includes): Test safer versions when they are
41106         in use.
41107         * tests/test-open.c (includes): Likewise.
41108
41109         popen: fix cygwin 1.5 bug when stdin closed
41110         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
41111         * modules/popen: New file.
41112         * modules/popen-tests: Likewise.
41113         * tests/test-popen.c: Likewise.
41114         * m4/popen.m4: Likewise.
41115         * lib/popen.c: Likewise.
41116         * lib/stdio.in.h (popen): New declaration.
41117         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
41118         * modules/stdio (Makefile.am): Likewise.
41119         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
41120
41121 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
41122
41123         maint.mk: give full control over update-copyright exclusions
41124         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
41125         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
41126         (update-copyright): Don't force inclusion of top-level
41127         ChangeLog.  Don't force exclusion of all COPYING files, but make
41128         them the default exclusion instead.
41129
41130 2009-08-16  Bruno Haible  <bruno@clisp.org>
41131
41132         Fix test failures on Solaris 10.
41133         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
41134         tests when Solaris iconv() is used.
41135         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41136         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41137         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41138         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41139         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41140
41141 2009-08-16  Bruno Haible  <bruno@clisp.org>
41142
41143         Fix test failures on Solaris 10.
41144         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
41145         'tr' program and pass it as first argument.
41146         * tests/test-pipe-filter-gi1.sh: Likewise.
41147         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
41148         program as first argument.
41149         * tests/test-pipe-filter-gi1.c (main): Likewise.
41150
41151 2009-08-16  Eric Blake  <ebb9@byu.net>
41152
41153         fpurge: fix previous commits
41154         * modules/fpurge (Makefile.am): Make replacement conditional,
41155         partially reverting 2007-04-29 change; missed in previous
41156         attempt.
41157         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
41158         is missing.
41159
41160 2009-08-16  Bruno Haible  <bruno@clisp.org>
41161
41162         Clarify fpurge's effect on the file position.
41163         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
41164         * tests/test-fpurge.c (main): Make a second pass for checking the file
41165         position.
41166
41167 2009-08-16  Bruno Haible  <bruno@clisp.org>
41168
41169         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
41170         declaration of fpurge is missing.
41171         * tests/test-fpurge.c (main): Check that the file has not more contents
41172         than expected. Close the file before removing it.
41173
41174 2009-08-15  Eric Blake  <ebb9@byu.net>
41175
41176         fpurge: don't wrap working cygwin implementation
41177         * lib/fpurge.c (fpurge): Fix comment typo.
41178         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
41179         1.7 to avoid replacement.
41180         * tests/test-fpurge.c (main): Enhance test.
41181
41182 2009-08-15  Eric Blake  <ebb9@byu.net>
41183         and Jim Meyering  <meyering@redhat.com>
41184
41185         test-update-copyright: skip if perl is insufficient
41186         * tests/test-update-copyright.sh: Failure to run maintainer tool
41187         should not cause testsuite failure on cygwin 1.5.
41188
41189 2009-08-14  Eric Blake  <ebb9@byu.net>
41190
41191         doc: mention more functions added in cygwin 1.7.0
41192         * doc/posix-headers/limits.texi (limits.h): Update for recent
41193         cygwin additions.
41194         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
41195         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
41196         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
41197         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
41198         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
41199
41200 2009-08-14  Eric Blake  <ebb9@byu.net>
41201
41202         maint.mk: simplify update-copyright rule
41203         * top/maint.mk (update-copyright-local): Delete, and document how
41204         to do it in cfg.mk instead.
41205         (update-copyright-exclude-regexp): Delete, and document how to do
41206         it in .x-update-copyright instead.
41207         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
41208         exclude ChangeLog.
41209
41210 2009-08-14  Bruno Haible  <bruno@clisp.org>
41211
41212         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
41213
41214 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41215
41216         maint.mk: support update-copyright-env
41217         * top/maint.mk (update-copyright-env): Define place-holder.
41218         (update-copyright): Expand $(update-copyright-env) before
41219         invoking update-copyright.
41220
41221 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41222
41223         update-copyright: implement forced reformatting
41224         * build-aux/update-copyright: Implement and document
41225         UPDATE_COPYRIGHT_FORCE.
41226         * tests/test-update-copyright.sh: Test it.
41227
41228 2009-08-14  Eric Blake  <ebb9@byu.net>
41229         and Bruno Haible  <bruno@clisp.org>
41230
41231         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
41232         * tests/test-locale.c: Revert previous patch related to NULL.
41233         * tests/test-stdio.c: Likewise.
41234         * tests/test-stdlib.c: Likewise.
41235         * tests/test-string.c: Likewise.
41236         * tests/test-unistd.c: Likewise.
41237         * modules/time-tests (Depends-on): Add verify.
41238         * modules/wchar-tests (Depends-on): Likewise.
41239         * tests/test-time.c: Test for NULL compliance.
41240         * tests/test-wchar.c: Likewise.
41241         * modules/locale (Depends-on): Add stddef.
41242         * modules/stdio (Depends-on): Likewise.
41243         * modules/stdlib (Depends-on): Likewise.
41244         * modules/string (Depends-on): Likewise.
41245         * modules/time (Depends-on): Likewise.
41246         * modules/unistd (Depends-on): Likewise.
41247         * modules/wchar (Depends-on): Likewise.
41248         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
41249         * lib/stdlib.in.h (includes): Likewise.
41250         * lib/string.in.h (includes): Likewise.
41251         * lib/time.in.h (includes): Likewise.
41252         * lib/unistd.in.h (includes): Likewise.
41253         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
41254         replaced.
41255         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41256         * m4/stddef_h.m4: New file.
41257         * modules/stddef: Likewise.
41258         * lib/stddef.in.h: Likewise.
41259         * modules/stddef-tests: Likewise.
41260         * tests/test-stddef.c: Likewise.
41261         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
41262         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
41263         * doc/posix-headers/locale.texi (locale.h): Likewise.
41264         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
41265         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
41266         * doc/posix-headers/string.texi (string.h): Likewise.
41267         * doc/posix-headers/time.texi (time.h): Likewise.
41268         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
41269         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
41270
41271 2009-08-14  Eric Blake  <ebb9@byu.net>
41272
41273         doc: improve git diff of texinfo files
41274         * .gitattributes: Add rule for *.texi files, with hint on how to
41275         use it.
41276         Copied from m4, and based on a report by Bruno Haible.
41277
41278 2009-08-14  Bruno Haible  <bruno@clisp.org>
41279
41280         Disable multithread support by default on Cygwin 1.5.x for real.
41281         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
41282
41283 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41284
41285         update-copyright: much ado about intervals
41286         * build-aux/update-copyright: Implement and document
41287         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
41288         of copyright year intervals.
41289         Also, document UPDATE_COPYRIGHT_YEAR.
41290         * tests/test-update-copyright.sh: Test it.
41291
41292         update-copyright: convert 2-digit to 4-digit years
41293         * build-aux/update-copyright: Implement and document.
41294         * tests/test-update-copyright.sh: Update.
41295
41296 2009-08-14  Jim Meyering  <meyering@redhat.com>
41297
41298         test-exclude: avoid coreutils "make check" failure
41299         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
41300         just as in test-argmatch.c.
41301
41302 2009-08-13  Eric Blake  <ebb9@byu.net>
41303
41304         test-dup2: fix bad assumption
41305         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
41306         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
41307
41308         test-version-etc: fix CRLF portability issue
41309         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
41310         recognize \r.
41311         * tests/test-argp-version-etc-1.sh: Likewise.
41312
41313         getopt: update client modules
41314         * modules/argp (Depends-on): Use getopt-gnu.
41315         * modules/git-merge-changelog (Depends-on): Likewise.
41316         * modules/long-options (Depends-on): Likewise.
41317         * modules/xstrtol (Depends-on): Likewise.
41318
41319 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41320
41321         * tests/test-version-etc.sh: Don't fail on different
41322         project/version.  Don't fail on CRLF differences.  Rewrite to use
41323         multiple -e instead of multiple sed forks, suggested by Eric Blake
41324         <ebb9@byu.net>.
41325         * tests/test-argp-version-etc-1.sh: Likewise.
41326
41327 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41328
41329         * tests/test-version-etc.sh: Don't fail on different
41330         project/version.
41331
41332 2009-08-12  Bruno Haible  <bruno@clisp.org>
41333
41334         Tests for modules 'getopt-posix', 'getopt-gnu'.
41335         * modules/getopt-posix-tests: New file.
41336         * tests/test-getopt.c: New file.
41337         * tests/test-getopt.h: New file.
41338         * tests/test-getopt_long.h: New file.
41339
41340         New modules 'getopt-posix', 'getopt-gnu'.
41341         * modules/getopt-gnu: New file, renamed from modules/getopt.
41342         * modules/getopt-posix: New file.
41343         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
41344         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
41345         (gl_GETOPT): Remove macro.
41346         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
41347         Disable the test against BSD systems that declare optreset. Test
41348         against mingw bug. Test against lack of support of optional arguments
41349         on many platforms.
41350         * doc/glibc-headers/getopt.texi: Update module name and list of
41351         relevant platforms.
41352         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
41353         'getopt-gnu' and more portability problems.
41354         * NEWS: Mention the changes.
41355
41356 2009-08-12  Bruno Haible  <bruno@clisp.org>
41357
41358         Ensure that optarg etc. get declared by <unistd.h>.
41359         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
41360         AC_USE_SYSTEM_EXTENSIONS.
41361         * modules/getopt (Depends-on): Add 'extensions'.
41362
41363 2009-08-12  Bruno Haible  <bruno@clisp.org>
41364
41365         Avoid test link errors.
41366         * modules/pipe-filter-ii-tests (Makefile.am): Define
41367         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
41368         * modules/pipe-filter-gi-tests (Makefile.am): Define
41369         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
41370         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41371
41372 2009-08-12  Bruno Haible  <bruno@clisp.org>
41373
41374         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
41375         gl_GETOPT_SUBSTITUTE before.
41376         (gl_GETOPT): Use it.
41377         * m4/argp.m4 (gl_ARGP): Update.
41378         Reported by Sergey Poznyakoff.
41379
41380         * m4/getopt.m4: Reorder macros.
41381         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
41382         (gl_GETOPT_SUBSTITUTE): Remove macro.
41383
41384 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41385
41386         Minor improvement in gitlog-to-changelog
41387
41388         * build-aux/gitlog-to-changelog: New option `--format' makes
41389         output format string configurable.
41390
41391 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41392
41393         Optimize exclude: use hash tables for non-wildcard patterns.
41394
41395         * lib/exclude.c: Include hash.h and mbuiter.h
41396         (struct exclude_pattern, exclude_segment): New data types.
41397         (struct exclude): Rewrite.
41398         (fnmatch_pattern_has_wildcards): New function.
41399         (new_exclude_segment, free_exclude_segment): New functions.
41400         (excluded_file_pattern_p, excluded_file_name_p): New functions.
41401         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
41402         * lib/exclude.h (is_fnmatch_pattern): New prototype.
41403         * modules/exclude: Depend on hash and mbuiter.
41404
41405         * modules/exclude-tests: New file.
41406         * tests/test-exclude.c: New file.
41407         * tests/test-exclude1.sh: New file.
41408         * tests/test-exclude2.sh: New file.
41409         * tests/test-exclude3.sh: New file.
41410         * tests/test-exclude4.sh: New file.
41411         * tests/test-exclude5.sh: New file.
41412         * tests/test-exclude6.sh: New file.
41413         * tests/test-exclude7.sh: New file.
41414
41415 2009-08-12  Bruno Haible  <bruno@clisp.org>
41416
41417         Ensure that getopt() gets declared by <unistd.h>.
41418         * lib/unistd.in.h: Conditionally include getopt.h.
41419         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
41420         Set GNULIB_UNISTD_H_GETOPT.
41421         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41422         GNULIB_UNISTD_H_GETOPT.
41423         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
41424
41425 2009-08-12  Bruno Haible  <bruno@clisp.org>
41426
41427         Clarify logic.
41428         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
41429         gl_replace_getopt instead of GETOPT_H.
41430
41431 2009-08-12  Bruno Haible  <bruno@clisp.org>
41432
41433         * m4/getopt.m4: Add comments.
41434
41435 2009-08-12  Bruno Haible  <bruno@clisp.org>
41436
41437         Disable multithread support by default on Cygwin 1.5.x.
41438         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
41439         set gl_use_threads=no if not specified otherwise.
41440
41441 2009-08-11  Bruno Haible  <bruno@clisp.org>
41442
41443         Avoid compilation error on NetBSD 5.0.
41444         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
41445         * tests/test-stdio.c: Likewise.
41446         * tests/test-stdlib.c: Likewise.
41447         * tests/test-string.c: Likewise.
41448         * tests/test-unistd.c: Likewise.
41449         Reported by Greg Troxel <gdt@ir.bbn.com>
41450         at <https://savannah.gnu.org/support/?106973>.
41451
41452 2009-08-11  Bruno Haible  <bruno@clisp.org>
41453
41454         * modules/dup2-tests (Depends-on): Remove close.
41455
41456         Undo 2009-07-19 commit.
41457         * modules/acl-tests (Depends-on): Remove close.
41458         * modules/binary-io-tests (Depends-on): Likewise.
41459         * modules/closein-tests (Depends-on): Likewise.
41460         * modules/flock-tests (Depends-on): Likewise.
41461         * modules/fsync-tests (Depends-on): Likewise.
41462         * modules/lseek-tests (Depends-on): Likewise.
41463         * modules/pipe-tests (Depends-on): Likewise.
41464         * modules/posix_spawn-tests (Depends-on): Likewise.
41465         * modules/posix_spawnp-tests (Depends-on): Likewise.
41466         * modules/stat-time-tests (Depends-on): Likewise.
41467         * modules/yesno-tests (Depends-on): Likewise.
41468
41469 2009-08-10  Bruno Haible  <bruno@clisp.org>
41470
41471         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
41472
41473 2009-08-10  Bruno Haible  <bruno@clisp.org>
41474
41475         Fix a gcc warning.
41476         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
41477
41478 2009-08-10  Bruno Haible  <bruno@clisp.org>
41479
41480         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
41481         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
41482         not only the first time.
41483         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
41484         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
41485         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
41486         is 1, not only the the first time.
41487
41488 2009-08-10  Bruno Haible  <bruno@clisp.org>
41489
41490         Make it possible to use module 'gethostname' without module 'close'.
41491         * lib/unistd.in.h (close): Evoke a link error only if
41492         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41493         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41494         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41495         * modules/unistd (Makefile.am): Substitute
41496         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41497         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
41498         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41499         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
41500         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41501         * modules/sys_ioctl (Makefile.am): Substitute
41502         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41503         * modules/socket (configure.ac): On native Windows, set
41504         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
41505         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41506         Reported by Sam Steingold <sds@gnu.org>.
41507
41508 2009-08-10  Bruno Haible  <bruno@clisp.org>
41509
41510         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
41511         * modules/ioctl (configure.ac): Likewise.
41512
41513 2009-08-10  Bruno Haible  <bruno@clisp.org>
41514
41515         Avoid collision between gnulib wrapper and libintl wrapper.
41516         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
41517         already defined in intl/printf.c.
41518         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
41519         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
41520
41521 2009-08-09  Bruno Haible  <bruno@clisp.org>
41522
41523         Make <sys/select.h> really self-contained, also on Solaris 10.
41524         * lib/sys_select.in.h: Include <string.h>.
41525         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
41526         Solaris 10 problem.
41527         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
41528         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
41529         Reported by Jim Meyering.
41530
41531 2009-08-09  Bruno Haible  <bruno@clisp.org>
41532
41533         Avoid warnings from 'aclocal' that are due to a use of macro name
41534         AM_XGETTEXT_OPTION that is not defined in automake.
41535         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
41536         automake.
41537         * modules/error (configure.ac): Likewise.
41538         * modules/propername (configure.ac): Likewise.
41539         * modules/vasprintf (configure.ac): Likewise.
41540         * modules/verror (configure.ac): Likewise.
41541         * modules/xprintf (configure.ac): Likewise.
41542         * modules/xvasprintf (configure.ac): Likewise.
41543
41544 2009-08-08  Bruno Haible  <bruno@clisp.org>
41545
41546         Avoid compilation error in C++ mode.
41547         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
41548         Reported by Sam Steingold <sds@gnu.org>.
41549
41550 2009-08-08  Bruno Haible  <bruno@clisp.org>
41551
41552         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
41553         for the various Unix platforms.
41554         * doc/posix-headers/limits.texi: Update platforms list regarding
41555         HOST_NAME_MAX.
41556         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41557
41558 2009-08-07  Jim Meyering  <meyering@redhat.com>
41559
41560         selinux-at: fix typo in a comment
41561         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
41562         Spotted by Paolo Bonzini.
41563
41564         selinux-at: remove redundant m4 code, add documentation
41565         * modules/selinux-at (configure.ac): Remove redundant code.
41566         LIB_SELINUX is already set via the dependent module, selinux-h.
41567         (Include): Add quotes around selinux-at.h.
41568         * lib/selinux-at.h: Add documentation.
41569         Reported by Bruno Haible in
41570         http://marc.info/?l=gnulib-bug&m=124958988300749
41571
41572 2009-08-07  Bruno Haible  <bruno@clisp.org>
41573
41574         Avoid link error on MacOS X 10.3 and 10.4.
41575         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
41576         on non-ELF systems.
41577         * lib/argp-pv.c (argp_program_version): Likewise.
41578         Reported by Simon Josefsson.
41579
41580 2009-08-07  Simon Josefsson  <simon@josefsson.org>
41581
41582         * tests/test-version-etc.sh: Use $EXEEXT.
41583
41584 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
41585
41586         update-copyright: update documentation to point to maint.mk
41587         * build-aux/update-copyright: Here.
41588
41589 2009-08-06  Jim Meyering  <meyering@redhat.com>
41590
41591         maint.mk: support update-copyright-local
41592         * top/maint.mk (update-copyright-local): Define place-holder.
41593         (update-copyright): Depend on $(update-copyright-local).
41594
41595 2009-08-06  Jim Meyering  <meyering@redhat.com>
41596
41597         selinux-at: new module
41598         Initially written for coreutils, this module will soon be
41599         used by findutils, too.
41600         * MODULES.html.sh [Misc]: Add selinux-at.
41601         * lib/selinux-at.h: New file, from coreutils.
41602         * lib/selinux-at.c: Likewise.
41603         * modules/selinux-at: Likewise.
41604         (License): Change from LGPL to GPL, since it depends
41605         on the GPL'd openat module.
41606
41607         doc: update README
41608         * README: Remove references to cogito.
41609         Remove cvs-repo-updating instructions from 2007.
41610         Don't imply that CVS is better if you have limited disk space.
41611
41612 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41613
41614         update-copyright: support C-style comments
41615         * build-aux/update-copyright: Implement and document.
41616         * tests/test-update-copyright.sh: Test.
41617
41618 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41619
41620         update-copyright: support omitted "(C)"
41621         * build-aux/update-copyright: Implement and document.  Also,
41622         allow variable whitespace before "(C)".
41623         * tests/test-update-copyright.sh: Test.
41624
41625 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41626
41627         update-copyright: don't trip on non-FSF copyright statements
41628         * build-aux/update-copyright: Fix so that the first correctly
41629         formatted FSF copyright statement is recognized no matter what
41630         appears before it.  Update documentation.
41631         * tests/test-update-copyright.sh: Test that.
41632
41633 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41634
41635         update-copyright: clean up code a little
41636         * build-aux/update-copyright: Append "_re" to the name of any
41637         variable holding a regular expression.
41638         Replace "old" and "new" with "stmt" in variable names.
41639         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
41640         handled correctly.
41641         Format code more consistently.
41642
41643 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41644
41645         update-copyright-tests: improve portability
41646         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
41647         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
41648
41649 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41650
41651         update-copyright: support @copyright{} and &copy;
41652         * build-aux/update-copyright: Implement and document.
41653         * tests/test-update-copyright.sh: Test.
41654
41655 2009-08-04  Jim Meyering  <meyering@redhat.com>
41656
41657         update-copyright-tests: correctly test EOL=\r\n handling
41658         * tests/test-update-copyright.sh: Put \r at the end of some lines
41659         for the dos-eol tests.  Based on a patch by Joel E. Denny.
41660
41661         maint.mk: make update-copyright exclusion list more configurable
41662         * top/maint.mk (update-copyright): Default to excluding COPYING,
41663         but allow an override, in case someone does want to update that file.
41664
41665         maint.mk: don't update copyright date in COPYING
41666         * top/maint.mk (update-copyright): Exclude COPYING.
41667
41668         maint.mk: add a copyright-updating rule
41669         * top/maint.mk (update-copyright): New rule.
41670         Derived from coreutils/Makefile.am.
41671
41672         update-copyright: rename some variables
41673         * build-aux/update-copyright: Rename a few variables for clarity.
41674         Tweak syntax.  List Joel E. Denny as coauthor.
41675
41676 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41677
41678         update-copyright: fix bug for 2-digit last year and add tests
41679         * build-aux/update-copyright: Fix bug.
41680         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41681         specified.
41682         * modules/update-copyright-tests: New
41683         * tests/test-update-copyright.sh: New.
41684
41685 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41686
41687         update-copyright: handle leading tabs in line prefix
41688         * build-aux/update-copyright: Count leading tabs as 8 spaces
41689         when computing margin.  This helps with the formatting of
41690         ChangeLogs, for example.
41691         Fix documentation a little.
41692
41693 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41694
41695         update-copyright: support EOL=\r\n
41696         * build-aux/update-copyright: Implement that.
41697
41698 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41699
41700         update-copyright: automatically format copyright statements
41701         * build-aux/update-copyright: Implement that.
41702         Also, be a little more predictable and safer by always failing
41703         when the full copyright format is not perfectly recognized as an
41704         unbroken whole.  Discussed at
41705         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41706         Rewrite documentation.
41707
41708 2009-08-03  Bruno Haible  <bruno@clisp.org>
41709
41710         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41711
41712 2009-08-02  Bruno Haible  <bruno@clisp.org>
41713
41714         Tests for module 'uname'.
41715         * modules/uname-tests: New file.
41716         * tests/test-uname.c: New file.
41717
41718         New module 'uname'.
41719         * lib/uname.c: New file.
41720         * m4/uname.m4: New file.
41721         * modules/uname: New file.
41722         * doc/posix-functions/uname.texi: Mention the new module.
41723
41724 2009-08-02  Bruno Haible  <bruno@clisp.org>
41725
41726         Tests for module 'sys_utsname'.
41727         * modules/sys_utsname-tests: New file.
41728         * tests/test-sys_utsname.c: New file.
41729
41730         New module 'sys_utsname'.
41731         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41732         * m4/sys_utsname_h.m4: New file.
41733         * modules/sys_utsname: New file.
41734         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41735
41736 2009-08-02  Bruno Haible  <bruno@clisp.org>
41737
41738         Implicitly initialize the sockets library.
41739         * lib/gethostname.c: Include sockets.h.
41740         (rpl_gethostname): Invoke gl_sockets_startup.
41741         * lib/socket.c: Include sockets.h.
41742         (rpl_socket): Invoke gl_sockets_startup.
41743         * modules/gethostname (Depends-on): Add sockets.
41744         * modules/socket (Depends-on): Likewise.
41745         * tests/test-poll.c: Don't include sockets.h.
41746         (main): Don't invoke gl_sockets_startup.
41747         * tests/test-select.c: Don't include sockets.h.
41748         (main): Don't invoke gl_sockets_startup.
41749
41750 2009-08-02  Bruno Haible  <bruno@clisp.org>
41751
41752         Allow multiple calls to gl_sockets_startup.
41753         * lib/sockets.c (initialized_sockets_version): New variable.
41754         (gl_sockets_startup): Do nothing if already called for this or a higher
41755         version.
41756         (gl_sockets_cleanup): Reset initialized_sockets_version.
41757
41758 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41759
41760         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41761         different project/version.
41762
41763 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41764             Bruno Haible  <bruno@clisp.org>
41765
41766         Tests for module 'pipe-filter-gi'.
41767         * modules/pipe-filter-gi-tests: New file.
41768         * tests/test-pipe-filter-gi1.sh: New file.
41769         * tests/test-pipe-filter-gi1.c: New file.
41770         * tests/test-pipe-filter-gi2.sh: New file.
41771         * tests/test-pipe-filter-gi2-main.c: New file.
41772         * tests/test-pipe-filter-gi2-child.c: New file.
41773
41774         New module 'pipe-filter-gi'.
41775         * lib/pipe-filter-gi.c: New file.
41776         * modules/pipe-filter-gi: New file.
41777
41778 2009-08-02  Bruno Haible  <bruno@clisp.org>
41779             Paolo Bonzini  <bonzini@gnu.org>
41780
41781         Tests for module 'pipe-filter-ii'.
41782         * modules/pipe-filter-ii-tests: New file.
41783         * tests/test-pipe-filter-ii1.sh: New file.
41784         * tests/test-pipe-filter-ii1.c: New file.
41785         * tests/test-pipe-filter-ii2.sh: New file.
41786         * tests/test-pipe-filter-ii2-main.c: New file.
41787         * tests/test-pipe-filter-ii2-child.c: New file.
41788
41789         New module 'pipe-filter-ii'.
41790         * lib/pipe-filter.h: New file.
41791         * lib/pipe-filter-ii.c: New file.
41792         * lib/pipe-filter-aux.h: New file.
41793         * modules/pipe-filter-ii: New file.
41794
41795 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41796
41797         * lib/gc-libgcrypt.c: Change copyright to FSF.
41798         * lib/gc-gnulib.c: Likewise.
41799
41800 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41801
41802         * lib/gethostname.c: Include limits.h.
41803
41804 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41805             Bruno Haible  <bruno@clisp.org>
41806
41807         Ensure HOST_NAME_MAX as part of the gethostname module.
41808         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41809         define also HOST_NAME_MAX.
41810         * tests/test-gethostname.c: Include <limits.h>.
41811         (main): Check also HOST_NAME_MAX.
41812         * doc/posix-headers/limits.texi: Document the mingw problem.
41813
41814 2009-08-02  Bruno Haible  <bruno@clisp.org>
41815
41816         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41817         Add comments.
41818
41819 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41820
41821         * lib/gethostname.c: Add Windows wrapper.
41822         * m4/gethostname.m4: Look for gethostname in -lws2_32.
41823         * modules/gethostname: Depend on sys_socket & errno, for also
41824         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
41825         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
41826
41827 2009-07-31  Jim Meyering  <meyering@redhat.com>
41828
41829         getloadavg: fix symbol name in comment
41830         * lib/getloadavg.c: Correct a typo I introduced when adding
41831         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
41832         Matt Kraai spotted the problem.
41833
41834 2009-07-29  Matt Kraai  <mkraai@beckman.com>
41835
41836         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
41837         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
41838         code also if ! defined N_NAME_POINTER.
41839         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41840         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
41841         but the n_name member is a 12-byte array.
41842
41843 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
41844
41845         update-copyright: generalize comment handling
41846         * build-aux/update-copyright: Handle copyright statements
41847         within more comment styles.
41848         Document usage.
41849         Report any file with an external copyright holder or parse failure.
41850
41851 2009-07-29  Jim Meyering  <meyering@redhat.com>
41852
41853         mktime: correct setting of REPLACE_MKTIME
41854         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41855
41856         update-copyright: new module
41857         * modules/update-copyright: New file.
41858         * build-aux/update-copyright: New file.
41859         * MODULES.html.sh (maint+release support): Add update-copyright.
41860
41861 2009-07-27  Bruno Haible  <bruno@clisp.org>
41862
41863         Fix compilation error when <ctime> is used and mktime is replaced.
41864         * lib/time.in.h (mktime): New declaration.
41865         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41866         REPLACE_MKTIME instead of defining mktime in config.h.
41867         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41868         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41869         Reported by Ross McFarland <rwmcfa1@neces.com>.
41870
41871 2009-07-27  Bruno Haible  <bruno@clisp.org>
41872
41873         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41874         Reported by Matt Kraai <mkraai@beckman.com>.
41875
41876 2009-07-25  Jim Meyering  <meyering@redhat.com>
41877
41878         maint.mk: avoid warnings about missing files
41879         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41880         diagnostic when .prev-version does not exist.
41881         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41882         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41883         nonexistent cfg.mk.
41884         Suggestions from Simon Josefsson.
41885
41886 2009-07-25  Bruno Haible  <bruno@clisp.org>
41887
41888         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41889         defined as macros. Needed on QNX 6.4.1.
41890         Reported by Matt Kraai <mkraai@beckman.com>.
41891
41892 2009-07-23  Jim Meyering  <meyering@redhat.com>
41893
41894         maint.mk: invoke "make dist" with a working value of XZ_OPT
41895         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41896
41897 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41898
41899         Make fseeko.c compile on QNX.
41900         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41901
41902 2009-07-22  Peter Simons  <simons@cryp.to>
41903
41904         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41905         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41906         * lib/md4.h: Likewise.
41907         * lib/md5.h: Likewise.
41908         * lib/sha1.h: Likewise.
41909         * lib/sha256.h: Likewise.
41910         * lib/sha512.h: Likewise.
41911
41912         tests-sha1: don't assign literal string to 'char *' variable
41913         * tests/test-sha1.c (main): Declare locals with "const" to match
41914         attributes of the right hand side.
41915
41916 2009-07-21  Eric Blake  <ebb9@byu.net>
41917
41918         dup2: fix more mingw problems
41919         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41920         fd to itself.
41921         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41922         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41923         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41924         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41925         care of mingw bugs.
41926
41927 2009-07-21  Jim Meyering  <meyering@redhat.com>
41928
41929         vc-list-files: avoid failure when /bin/sh is dash
41930         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41931         On some Debian based systems, /bin/sh is a symlink to dash, and running
41932         this command would omit the "/" following each 'tests' prefix:
41933           dash -x build-aux/vc-list-files -C . tests
41934         That is because bash and dash work differently:
41935           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41936           bash ok
41937           dash odd
41938
41939 2009-07-21  Eric Blake  <ebb9@byu.net>
41940
41941         dup2-tests: test previous patch
41942         * modules/dup2-tests: New file.
41943         * tests/test-dup2.c: Likewise.
41944         * tests/test-open.c (main): Avoid unspecified behavior.
41945         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41946         test.
41947
41948         dup2: work around mingw and cygwin 1.5 bug
41949         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41950         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41951         * modules/unistd (Makefile.am): Substitute it.
41952         * lib/unistd.in.h (dup2): Declare the replacement.
41953         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41954         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41955         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41956         * modules/execute (Depends-on): Add dup2.
41957         * modules/fseterr (Depends-on): Likewise.
41958         * modules/pipe (Depends-on): Likewise.
41959         * modules/posix_spawn-internal (Depends-on): Likewise.
41960
41961 2009-07-21  Bruno Haible  <bruno@clisp.org>
41962
41963         * modules/.gitattributes: New file.
41964
41965 2009-07-20  Bruno Haible  <bruno@clisp.org>
41966
41967         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
41968         (main): Use it.
41969
41970 2009-07-20  Eric Blake  <ebb9@byu.net>
41971
41972         test-pipe: make a bit more robust.
41973         * tests/test-pipe.c (myerr): Allow error messages regardless of
41974         what we do to stderr.
41975         (test_pipe): Rearrange to avoid deadlock.
41976         (child_main): Try a larger read, to ensure we avoided deadlock.
41977         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
41978         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
41979         if misused.
41980
41981 2009-07-19  Jim Meyering  <meyering@redhat.com>
41982
41983         fts: avoid false-positive cycle-detection
41984         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
41985         for each new command line argument.
41986
41987 2009-07-19  Bruno Haible  <bruno@clisp.org>
41988
41989         Fix build error on mingw with the modules sys_select and unistd.
41990         * modules/acl-tests (Depends-on): Add close.
41991         * modules/binary-io-tests (Depends-on): Likewise.
41992         * modules/closein-tests (Depends-on): Likewise.
41993         * modules/flock-tests (Depends-on): Likewise.
41994         * modules/fsync-tests (Depends-on): Likewise.
41995         * modules/lseek-tests (Depends-on): Likewise.
41996         * modules/pipe-tests (Depends-on): Likewise.
41997         * modules/posix_spawn-tests (Depends-on): Likewise.
41998         * modules/posix_spawnp-tests (Depends-on): Likewise.
41999         * modules/stat-time-tests (Depends-on): Likewise.
42000         * modules/yesno-tests (Depends-on): Likewise.
42001
42002 2009-07-19  Bruno Haible  <bruno@clisp.org>
42003
42004         Unify conditionals.
42005         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
42006         macros, not at the compiler macros.
42007         * lib/pipe.c: Likewise.
42008         * lib/execute.c: Likewise.
42009         * lib/spawni.c: Likewise.
42010
42011 2009-07-19  Bruno Haible  <bruno@clisp.org>
42012
42013         Fix handling of closed stdin/stdout/stderr on mingw.
42014         * lib/w32spawn.h: Include unistd.h.
42015         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
42016         file descriptor with O_NOINHERIT flag.
42017         (fd_safer_noinherit): New function, based on fd-safer.c.
42018         (dup_safer_noinherit): New function, based on dup-safer.c.
42019         (undup_safer_noinherit): New function.
42020         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
42021         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
42022         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
42023         instead of fd_safer.
42024         * tests/test-pipe.c: Include <windows.h>.
42025         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
42026         result.
42027
42028         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
42029         from main.
42030         (test_pipe): Pass an extra argument for disambiguation.
42031         (main): Invoke parent_main or child_main.
42032
42033         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
42034         consistently.
42035
42036 2009-07-18  Eric Blake  <ebb9@byu.net>
42037
42038         test-pipe: fix mingw build
42039         * tests/test-pipe.c (main): Avoid fcntl on mingw.
42040
42041 2009-07-18  Bruno Haible  <bruno@clisp.org>
42042
42043         * modules/pipe-tests (Makefile.am): Fix typo.
42044
42045 2009-07-18  Eric Blake  <ebb9@byu.net>
42046
42047         error: fix mingw build
42048         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
42049         Reported by Bruno Haible.
42050
42051         error: avoid undefined use of stdout
42052         * lib/error.c (error, error_at_line): Check that fd 1 is open
42053         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
42054         is handling faults and the close_stdout module wants to report the
42055         detection of closed stdout as an error.
42056
42057 2009-07-17  Eric Blake  <ebb9@byu.net>
42058
42059         pipe: be robust in face of closed fds
42060         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
42061         should cause child to misbehave.
42062         * modules/pipe-tests: New module.
42063         * tests/test-pipe.c: New file.
42064         * tests/test-pipe.sh: New file.
42065         Reported by Akim Demaille.
42066
42067 2009-07-14  Bruno Haible  <bruno@clisp.org>
42068
42069         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
42070         Reported by anonymous kc.
42071
42072 2009-07-07  Jim Meyering  <meyering@redhat.com>
42073
42074         maint.mk: don't look for translatable strings in *.m4 or *.mk
42075         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
42076         when searching for translatable strings.
42077
42078 2009-07-05  Jim Meyering  <meyering@redhat.com>
42079
42080         remove superfluous parentheses in STREQ definition
42081         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
42082         * lib/getugroups.c (STREQ): Likewise.
42083         * lib/fnmatch.c (STREQ): Likewise.
42084         Spotted by Bruno Haible.
42085
42086 2009-07-04  Jim Meyering  <meyering@redhat.com>
42087
42088         argv-iter: new module
42089         * MODULES.html.sh: Add argv-iter.
42090         * lib/argv-iter.c, lib/argv-iter.h: New files.
42091         * modules/argv-iter: New file.
42092         * modules/argv-iter-tests: New file.
42093         * tests/test-argv-iter.c: Test it.
42094
42095 2009-07-04  Bruno Haible  <bruno@clisp.org>
42096
42097         Fix assertion.
42098         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
42099         contains more exact copies of a given entry than file2, leave the extra
42100         copies unpaired rather than aborting.
42101         Reported by Eric Blake.
42102
42103 2009-07-02  Bruno Haible  <bruno@clisp.org>
42104
42105         Speedup git-merge-changelog for git cherry-pick.
42106         * lib/git-merge-changelog.c (struct entries_mapping): New type.
42107         (entries_mapping_get): New function, extracted from compute_mapping.
42108         (entries_mapping_reverse_get): New function.
42109         (compute_mapping): Add a 'full' argument. Return the result in a
42110         'struct entries_mapping'.
42111         (main): Update. Access the mappings through entries_mapping_get.
42112         Reported by Eric Blake.
42113
42114 2009-07-02  Bruno Haible  <bruno@clisp.org>
42115
42116         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
42117         best_i.
42118
42119 2009-07-02  Bruno Haible  <bruno@clisp.org>
42120
42121         Speed up approximate search for matching ChangeLog entries.
42122         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
42123         argument. Call fstrcmp_bounded instead of fstrcmp.
42124         (compute_mapping, try_split_merged_entry, main): Update callers.
42125
42126 2009-07-02  Bruno Haible  <bruno@clisp.org>
42127
42128         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
42129
42130 2009-06-30  Bruno Haible  <bruno@clisp.org>
42131
42132         Reduce the number of uc_is_cased calls.
42133         * lib/unicase.h (casing_suffix_context_t): Add
42134         'first_char_except_ignorable' field.
42135         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
42136         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
42137         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
42138         Update initializer.
42139         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
42140         case-ignorable characters.
42141         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
42142         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
42143         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
42144         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
42145         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
42146
42147 2009-06-30  Bruno Haible  <bruno@clisp.org>
42148
42149         Tests for module 'unicase/ignorable'.
42150         * modules/unicase/ignorable-tests: New file.
42151         * tests/unicase/test-ignorable.c: New file, generated by
42152         gen-uni-tables.
42153
42154         Tests for module 'unicase/cased'.
42155         * modules/unicase/cased-tests: New file.
42156         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
42157         * tests/unicase/test-predicate-part1.h: New file, derived from
42158         tests/unictype/test-predicate-part1.h.
42159         * tests/unicase/test-predicate-part2.h: New file, same as
42160         tests/unictype/test-predicate-part2.h.
42161
42162         Fix evaluation of "Before C" condition of FINAL_SIGMA.
42163         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
42164         (output_casing_properties): New function.
42165         (main): Call it.
42166         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
42167         * lib/unicase/cased.c: Include unictype/bitmap.h.
42168         (uc_is_cased): Define through a bitmap lookup.
42169         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
42170         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
42171         (uc_is_case_ignorable): Define through a bitmap lookup.
42172         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
42173         lib/unictype/bitmap.h.
42174         (Depends-on): Add inline. Clean up.
42175         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
42176         lib/unictype/bitmap.h.
42177         (Depends-on): Add inline. Clean up.
42178         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
42179         recognition.
42180         * tests/unicase/test-u16-tolower.c (main): Likewise.
42181         * tests/unicase/test-u32-tolower.c (main): Likewise.
42182
42183 2009-06-30  Bruno Haible  <bruno@clisp.org>
42184
42185         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
42186         * lib/unicase/u16-casemap.c: Likewise.
42187         * lib/unicase/u32-casemap.c: Likewise.
42188
42189 2009-06-29  Bruno Haible  <bruno@clisp.org>
42190
42191         Define u32_casefold as a wrapper around u32_ct_casefold.
42192         * lib/unicase/u32-casefold.c: Update.
42193         * modules/unicase/u32-casefold (Depends-on): Add
42194         unicase/u32-ct-casefold, unicase/empty-prefix-context,
42195         unicase/empty-suffix-context. Clean up.
42196
42197         Define u16_casefold as a wrapper around u16_ct_casefold.
42198         * lib/unicase/u16-casefold.c: Update.
42199         * modules/unicase/u16-casefold (Depends-on): Add
42200         unicase/u16-ct-casefold, unicase/empty-prefix-context,
42201         unicase/empty-suffix-context. Clean up.
42202
42203         Define u8_casefold as a wrapper around u8_ct_casefold.
42204         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
42205         * lib/unicase/u8-casefold.c: Update.
42206         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
42207         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42208
42209         Define u32_totitle as a wrapper around u32_ct_totitle.
42210         * lib/unicase/u32-totitle.c: Update.
42211         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
42212         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42213
42214         Define u16_totitle as a wrapper around u16_ct_totitle.
42215         * lib/unicase/u16-totitle.c: Update.
42216         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
42217         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42218
42219         Define u8_totitle as a wrapper around u8_ct_totitle.
42220         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
42221         functions.
42222         (FUNC): Delegate to U_CT_TOTITLE.
42223         * lib/unicase/u8-totitle.c: Update.
42224         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
42225         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42226
42227         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
42228         invocation.
42229         * modules/unicase/u32-tolower (Depends-on): Add
42230         unicase/empty-prefix-context, unicase/empty-suffix-context.
42231
42232         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
42233         invocation.
42234         * modules/unicase/u16-tolower (Depends-on): Add
42235         unicase/empty-prefix-context, unicase/empty-suffix-context.
42236
42237         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
42238         * modules/unicase/u8-tolower (Depends-on): Add
42239         unicase/empty-prefix-context, unicase/empty-suffix-context.
42240
42241         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
42242         invocation.
42243         * modules/unicase/u32-toupper (Depends-on): Add
42244         unicase/empty-prefix-context, unicase/empty-suffix-context.
42245
42246         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
42247         invocation.
42248         * modules/unicase/u16-toupper (Depends-on): Add
42249         unicase/empty-prefix-context, unicase/empty-suffix-context.
42250
42251         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
42252         * modules/unicase/u8-toupper (Depends-on): Add
42253         unicase/empty-prefix-context, unicase/empty-suffix-context.
42254
42255         New module 'unicase/u32-ct-casefold'.
42256         * lib/unicase/u32-ct-casefold.c: New file.
42257         * modules/unicase/u32-ct-casefold: New file.
42258
42259         New module 'unicase/u16-ct-casefold'.
42260         * lib/unicase/u16-ct-casefold.c: New file.
42261         * modules/unicase/u16-ct-casefold: New file.
42262
42263         New module 'unicase/u8-ct-casefold'.
42264         * lib/unicase/u8-ct-casefold.c: New file.
42265         * lib/unicase/u-ct-casefold.h: New file, derived from
42266         lib/unicase/u-casefold.h.
42267         * modules/unicase/u8-ct-casefold: New file.
42268
42269         New module 'unicase/u32-ct-totitle'.
42270         * lib/unicase/u32-ct-totitle.c: New file.
42271         * modules/unicase/u32-ct-totitle: New file.
42272
42273         New module 'unicase/u16-ct-totitle'.
42274         * lib/unicase/u16-ct-totitle.c: New file.
42275         * modules/unicase/u16-ct-totitle: New file.
42276
42277         New module 'unicase/u8-ct-totitle'.
42278         * lib/unicase/u8-ct-totitle.c: New file.
42279         * lib/unicase/u-ct-totitle.h: New file, derived from
42280         lib/unicase/u-totitle.h.
42281         * modules/unicase/u8-ct-totitle: New file.
42282
42283         New module 'unicase/u32-ct-tolower'.
42284         * lib/unicase/u32-ct-tolower.c: New file.
42285         * modules/unicase/u32-ct-tolower: New file.
42286
42287         New module 'unicase/u16-ct-tolower'.
42288         * lib/unicase/u16-ct-tolower.c: New file.
42289         * modules/unicase/u16-ct-tolower: New file.
42290
42291         New module 'unicase/u8-ct-tolower'.
42292         * lib/unicase/u8-ct-tolower.c: New file.
42293         * modules/unicase/u8-ct-tolower: New file.
42294
42295         New module 'unicase/u32-ct-toupper'.
42296         * lib/unicase/u32-ct-toupper.c: New file.
42297         * modules/unicase/u32-ct-toupper: New file.
42298
42299         New module 'unicase/u16-ct-toupper'.
42300         * lib/unicase/u16-ct-toupper.c: New file.
42301         * modules/unicase/u16-ct-toupper: New file.
42302
42303         New module 'unicase/u8-ct-toupper'.
42304         * lib/unicase/u8-ct-toupper.c: New file.
42305         * modules/unicase/u8-ct-toupper: New file.
42306
42307         Add context arguments to u*_casemap functions.
42308         * lib/unicase/unicasemap.h: Include unicase.h.
42309         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
42310         suffix_context arguments.
42311         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
42312         functions.
42313         (FUNC): Add prefix_context and suffix_context arguments. Use
42314         uc_is_cased and uc_is_case_ignorable.
42315         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
42316         * lib/unicase/u16-casemap.c: Likewise.
42317         * lib/unicase/u32-casemap.c: Likewise.
42318         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
42319         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42320         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
42321         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42322         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
42323         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42324
42325         New module 'unicase/u32-suffix-context'.
42326         * lib/unicase/u32-suffix-context.c: New file.
42327         * modules/unicase/u32-suffix-context: New file.
42328
42329         New module 'unicase/u16-suffix-context'.
42330         * lib/unicase/u16-suffix-context.c: New file.
42331         * modules/unicase/u16-suffix-context: New file.
42332
42333         New module 'unicase/u8-suffix-context'.
42334         * lib/unicase/u8-suffix-context.c: New file.
42335         * lib/unicase/u-suffix-context.h: New file.
42336         * modules/unicase/u8-suffix-context: New file.
42337
42338         New module 'unicase/empty-suffix-context'.
42339         * lib/unicase/empty-suffix-context.c: New file.
42340         * modules/unicase/empty-suffix-context: New file.
42341
42342         New module 'unicase/u32-prefix-context'.
42343         * lib/unicase/u32-prefix-context.c: New file.
42344         * modules/unicase/u32-prefix-context: New file.
42345
42346         New module 'unicase/u16-prefix-context'.
42347         * lib/unicase/u16-prefix-context.c: New file.
42348         * modules/unicase/u16-prefix-context: New file.
42349
42350         New module 'unicase/u8-prefix-context'.
42351         * lib/unicase/u8-prefix-context.c: New file.
42352         * lib/unicase/u-prefix-context.h: New file.
42353         * lib/unicase/context.h: New file.
42354         * modules/unicase/u8-prefix-context: New file.
42355
42356         New module 'unicase/empty-prefix-context'.
42357         * lib/unicase/empty-prefix-context.c: New file.
42358         * modules/unicase/empty-prefix-context: New file.
42359
42360         New module 'unicase/ignorable'.
42361         * lib/unicase/ignorable.c: New file.
42362         * modules/unicase/ignorable: New file.
42363
42364         New module 'unicase/cased'.
42365         * lib/unicase/caseprop.h: New file.
42366         * lib/unicase/cased.c: New file.
42367         * modules/unicase/cased: New file.
42368
42369         New functions for case mapping of substrings.
42370         * lib/unicase.h (casing_prefix_context_t): New type.
42371         (unicase_empty_prefix_context): New variable.
42372         (u8_casing_prefix_context, u16_casing_prefix_context,
42373         u32_casing_prefix_context, u8_casing_prefixes_context,
42374         u16_casing_prefixes_context, u32_casing_prefixes_context): New
42375         declarations.
42376         (casing_suffix_context_t): New type.
42377         (unicase_empty_suffix_context): New variable.
42378         (u8_casing_suffix_context, u16_casing_suffix_context,
42379         u32_casing_suffix_context, u8_casing_suffixes_context,
42380         u16_casing_suffixes_context, u32_casing_suffixes_context,
42381         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
42382         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
42383         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
42384         declarations.
42385
42386 2009-06-28  Jim Meyering  <meyering@redhat.com>
42387
42388         boostrap: indent only with spaces
42389         * build-aux/bootstrap: Indent only with spaces, never TABs.
42390
42391         bootstrap: split long lines
42392         * build-aux/bootstrap: Keep line length < 80.
42393
42394         bootstrap: sync from coreutils
42395         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
42396         just as autoreconf does.  Verify a list of prerequisite
42397         package-name,version-number pairs if defined in bootstrap.conf.
42398         Refer to README-prereq, if prerequisites are not satisfied.
42399
42400 2009-06-27  Eric Blake  <ebb9@byu.net>
42401
42402         tests: add test for bogus NULL definition
42403         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
42404         * tests/test-stdlib.c: Likewise.
42405         * tests/test-string.c: Likewise.
42406         * tests/test-locale.c: Likewise.
42407         * tests/test-unistd.c: Likewise.
42408         * modules/stdio-tests (Depends-on): Add verify.
42409         * modules/stdlib-tests (Depends-on): Likewise.
42410         * modules/string-tests (Depends-on): Likewise.
42411         * modules/locale-tests (Depends-on): Likewise.
42412         * modules/unistd-tests (Depends-on): Likewise.
42413
42414 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
42415
42416         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
42417         self-explaining comment.
42418         * m4/selinux-selinux-h: Update serial.
42419         (gl_LIBSELINUX): New macro, adding a warning for missing development
42420         packages to code extracted from...
42421         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
42422         Add warning for missing development packages here, too.
42423
42424 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
42425
42426         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
42427
42428 2009-06-25  Eric Blake  <ebb9@byu.net>
42429
42430         version-etc: fix regression
42431         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
42432         gcc.
42433         (version_etc): Use it, to catch bugs with trailing NULL.
42434         * lib/version-etc.c (version_etc_arn): Delete unused argument.
42435         (version_etc_va): Fix logic bug.
42436         * modules/version-etc-tests: Add test.
42437         * tests/test-version-etc.c: New file.
42438         * tests/test-version-etc.sh: Likewise.
42439
42440 2009-06-25  Sam Steingold  <sds@gnu.org>
42441
42442         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
42443         mbtowc declaration.
42444
42445 2009-06-25  Eric Blake  <ebb9@byu.net>
42446
42447         fpurge: migrate into <stdio.h>
42448         * lib/fpurge.h: Delete...
42449         * lib/stdio.in.h (fpurge): ...and declare here, instead.
42450         * lib/fpurge.c (fpurge): Change declaring header.
42451         * modules/fpurge (Files): Drop deleted file.
42452         (Depends-on): Add stdio.
42453         (configure.ac): Set witness.
42454         * modules/stdio (Makefile.am): Support fpurge macros.
42455         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42456         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
42457         * lib/fflush.c: Update client.
42458         * tests/test-fpurge.c: Likewise.
42459         * NEWS: Mention the change.
42460
42461 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42462
42463         * lib/argp-version-etc.c (program_authors): Add const
42464         qualifier.
42465         * lib/version-etc.c: Fix typos in the comments.
42466         * modules/argp-version-etc: Depends on version-etc.
42467
42468 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42469
42470         argp-version-etc: new module.
42471
42472         * lib/argp-version-etc.c: New file.
42473         * lib/argp-version-etc.h: New file.
42474         * modules/argp-version-etc: New file.
42475         * modules/argp-version-etc-tests: New file.
42476         * tests/test-argp-version-etc.c: New test.
42477         * tests/test-argp-version-etc-1.sh: New test.
42478
42479 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42480
42481         Provide additional interfaces and documentation for version-etc
42482         module.
42483
42484         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
42485         interfaces.
42486         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
42487         prototypes.
42488
42489 2009-06-24  Bruno Haible  <bruno@clisp.org>
42490
42491         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
42492         HAVE_LIB${NAME} macro.
42493         Reported by Sam Steingold <sds@gnu.org>.
42494
42495 2009-06-23  Simon Josefsson  <simon@josefsson.org>
42496
42497         * modules/hash-tests (test_hash_LDADD): Link to libintl when
42498         needed.
42499
42500 2009-06-21  Bruno Haible  <bruno@clisp.org>
42501
42502         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
42503         work.
42504         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
42505         together with LIB${NAME}, LTLIB${NAME}.
42506         Reported by Sam Steingold <sds@gnu.org>.
42507
42508 2009-06-20  Jim Meyering  <meyering@redhat.com>
42509
42510         tests: make sc_require_test_exit_idiom more generic
42511         * top/maint.mk (Exit_witness_file): New overridable variable.
42512         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
42513         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
42514
42515 2009-06-19  Jim Meyering  <meyering@redhat.com>
42516
42517         hash: reverse order of src/dst parameters in an internal interface
42518         * lib/hash.c (transfer_entries): Reverse order of parameters to
42519         put DST before SRC.  Adjust callers.
42520
42521         tests: test-hash: avoid wholesale duplication
42522         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
42523         Instead, use a loop and add a single conditional.
42524
42525         tests: test-hash: allow seed selection via a command line argument
42526         * tests/test-hash.c (get_seed): New function.
42527         (main): Use it.
42528
42529 2009-06-19  Eric Blake  <ebb9@byu.net>
42530
42531         hash: avoid memory leak on allocation failure
42532         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
42533         failure.  Factor repeated algorithm...
42534         (transfer_entries): ...into new helper routine.
42535         (hash_delete): React to hash_rehash return value.
42536
42537         hash: reduce memory pressure in hash_rehash no-op case
42538         * lib/hash.c (next_prime): Avoid overflow.
42539         (hash_initialize): Factor bucket size computation...
42540         (compute_bucket_size): ...into new helper function.
42541         (hash_rehash): Use new function and open coding to reduce memory
42542         pressure, and avoid a memory leak in USE_OBSTACK code.
42543         Reported by Jim Meyering.
42544
42545 2009-06-18  Eric Blake  <ebb9@byu.net>
42546
42547         hash: make rotation more obvious
42548         * modules/hash (Depends-on): Add bitrotate and stdint.
42549         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
42550         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
42551         (SIZE_MAX): Rely on headers for definition.
42552         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
42553         (raw_hasher): Use rotr_sz.
42554         Suggested by Jim Meyering.
42555
42556         hash: fix memory leak in last patch
42557         * lib/hash.c (hash_rehash): Avoid memory leak.
42558
42559         hash: avoid no-op rehashing
42560         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
42561
42562         hash: provide default callback functions
42563         * lib/hash.c (raw_hasher, raw_comparator): New functions.
42564         (hash_initialize): Use them as defaults.
42565         * tests/test-hash.c (main): Test this.
42566
42567         hash: minor optimization
42568         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
42569         when possible.
42570         (hash_initialize): Document this promise.
42571         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
42572         * tests/test-hash.c (hash_compare_strings): Test this.
42573
42574 2009-06-18  Bruno Haible  <bruno@clisp.org>
42575
42576         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
42577         going to be replaced anyway.
42578
42579 2009-06-18  Bruno Haible  <bruno@clisp.org>
42580
42581         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
42582         in one place.
42583         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
42584         be replaced anyway.
42585
42586 2009-06-18  Eric Blake  <ebb9@byu.net>
42587
42588         hash: check for resize before insertion
42589         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
42590         threshold before insertion, so that a pathological hash_rehash
42591         that fills every bucket can still trigger another rehash.
42592
42593 2009-06-18  Jim Meyering  <meyering@redhat.com>
42594
42595         hash-tests: add a loop around the small tests
42596         * tests/test-hash.c (main): Repeat small tests with selected
42597         small initial table sizes.
42598
42599 2009-06-17  Eric Blake  <ebb9@byu.net>
42600
42601         hash: minor cleanups
42602         * lib/hash.h (hash_entry): Make opaque, by moving...
42603         * lib/hash.c (hash_entry): ...here.
42604         (hash_insert): Clarify restrictions on what can be inserted.
42605         (hash_get_next): Clarify when it is safe to remove an element
42606         during traversal.
42607         (check_tuning): Skip verification when tuning is known safe.
42608         (hash_initialize): Clarify restrictions on tuning.
42609
42610 2009-06-17  Jim Meyering  <jim@meyering.net>
42611         and Eric Blake  <ebb9@byu.net>
42612
42613         hash-tests: new module
42614         * modules/hash-tests: New file.
42615         * tests/test-hash.c: New file.
42616
42617 2009-06-17  Eric Blake  <ebb9@byu.net>
42618
42619         strstr-simple: document new module
42620         * MODULES.html.sh: Document new module.
42621
42622         strstr, strcasestr: replace on platforms with broken memchr
42623         * modules/strstr: Split into...
42624         * modules/strstr-simple: ...new module that does not care about
42625         performance, but does care about glibc bug.
42626         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
42627         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
42628         if platform memchr is broken, per Debian bug 521737.
42629         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
42630         memchr.
42631         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
42632         * doc/posix-functions/strstr.texi (strstr): Document the fix.
42633         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42634         * modules/mountlist (Depends-on): Add strstr-simple.
42635         * modules/gen-uni-tables (Depends-on): Likewise.
42636         * modules/argz (Depends-on): Add strstr.
42637
42638 2009-06-17  Bruno Haible  <bruno@clisp.org>
42639
42640         * modules/posix_spawn-internal (Depends-on): Add errno.
42641
42642 2009-06-17  Bruno Haible  <bruno@clisp.org>
42643
42644         Define missing ESTALE on Interix 3.5.
42645         * lib/errno.in.h (ESTALE): Assign a value if missing.
42646         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
42647         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
42648         missing.
42649         * doc/posix-headers/errno.texi: Mention the Interix bug.
42650         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
42651
42652 2009-06-15  Eric Blake  <ebb9@byu.net>
42653
42654         memchr, memchr2: add valgrind exception
42655         * lib/memchr.valgrind: New file.
42656         * lib/memchr2.valgrind: New file.
42657         * modules/memchr (Files): Distribute valgrind file.
42658         * modules/memchr2 (Files): Likewise.
42659
42660         docs: memchr is no longer obsolete
42661         * MODULES.html.sh: Move memchr from obsolete to string.h section.
42662         * lib/string.in.h (memchr): Simplify logic.
42663
42664 2009-06-14  Jim Meyering  <meyering@redhat.com>
42665
42666         link-follow: fix the "checking..." message to not mention trailing slash
42667         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
42668         never considered trailing slashes.
42669
42670 2009-06-14  Bruno Haible  <bruno@clisp.org>
42671
42672         * m4/memchr.m4: Mention also the bug on IA-64.
42673         * doc/posix-functions/memchr.texi: Likewise.
42674
42675 2009-06-12  Eric Blake  <ebb9@byu.net>
42676
42677         memchr: detect broken x86_64 and alpha implementations
42678         * modules/memchr-tests (Depends-on): Move mmap detection...
42679         * modules/memchr (Depends-on): ...here.
42680         (configure.ac): Set indicator.
42681         * lib/string.in.h (memchr): Declare replacement.
42682         * modules/string (Makefile.am): Trigger replacement.
42683         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42684         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42685         bugs.
42686         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42687         * modules/getpagesize (License): Relax license.
42688
42689 2009-06-11  Bruno Haible  <bruno@clisp.org>
42690
42691         * lib/idpriv.h: Add more references.
42692
42693 2009-06-08  Bruno Haible  <bruno@clisp.org>
42694
42695         Tests for module 'idpriv-droptemp'.
42696         * modules/idpriv-droptemp-tests: New file.
42697         * tests/test-idpriv-droptemp.sh: New file.
42698         * tests/test-idpriv-droptemp.su.sh: New file.
42699         * tests/test-idpriv-droptemp.c: New file.
42700
42701         New module 'idpriv-droptemp'.
42702         * lib/idpriv-droptemp.c: New file.
42703         * modules/idpriv-droptemp: New file.
42704
42705 2009-06-08  Bruno Haible  <bruno@clisp.org>
42706
42707         Tests for module 'idpriv-drop'.
42708         * modules/idpriv-drop-tests: New file.
42709         * tests/test-idpriv-drop.sh: New file.
42710         * tests/test-idpriv-drop.su.sh: New file.
42711         * tests/test-idpriv-drop.c: New file.
42712
42713         New module 'idpriv-drop'.
42714         * lib/idpriv.h: New file.
42715         * lib-idpriv-drop.c: New file.
42716         * m4/idpriv.m4: New file.
42717         * modules/idpriv-drop: New file.
42718
42719 2009-06-08  Bruno Haible  <bruno@clisp.org>
42720
42721         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42722         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42723         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42724         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42725         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42726         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42727         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42728
42729 2009-06-08  Eric Blake  <ebb9@byu.net>
42730
42731         test-strstr: use memory fence, when possible
42732         * tests/test-strstr.c (main): Use memory fence, in order to be
42733         more likely to trigger Debian bug 521737.
42734         * modules/strstr-tests (Files): Pull in additional files.
42735
42736         memchr: no longer obsolete, for wider field testing
42737         * modules/memchr (Status, Notice): Delete, this module is no
42738         longer obsolete.
42739         * modules/vasnprintf (Depends-on): Add memchr.
42740
42741 2009-06-07  Jim Meyering  <meyering@redhat.com>
42742
42743         hash: declare some functions with the warn_unused_result attribute
42744         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42745
42746 2009-06-07  Bruno Haible  <bruno@clisp.org>
42747
42748         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42749         Reported by Eric Blake.
42750
42751 2009-06-06  Eric Blake  <ebb9@byu.net>
42752
42753         test-alignof: fix typo with long double
42754         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42755         compiler error.
42756
42757 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42758
42759         Escape non-texinfo { and }s.
42760         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42761         markup error.
42762
42763 2009-06-04  Jim Meyering  <meyering@redhat.com>
42764
42765         gitlog-to-changelog: don't infloop on an empty commit log
42766         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42767         Reported by Boris Petersen <transacid@centerim.org>.
42768
42769 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42770
42771         version-etc: extend for packagers
42772         Add three new configure options, intended for packagers:
42773           --with-packager="packager name"
42774           --with-packager-version="packager-specific version"
42775           --with-packager-bug-reports="packager bug reporting"
42776         An example with coreutils:
42777           $ ./configure \
42778             --with-packager=Gentoo \
42779             --with-packager-bug-report=http://bugs.gentoo.org/ \
42780             --with-packager-version="patchset 1.6"
42781           $ ./src/ls --version | head -n2
42782           ls (GNU coreutils) 7.1-dirty
42783           Packaged by Gentoo (patchset 1.6)
42784         Note that the bug reporting info via --help doesn't show up because
42785         coreutils uses its own custom emit_bug_reporting_address() implementation
42786         in src/system.h.  If it didn't, it'd look like:
42787           $ ./src/ls --help | tail -n4
42788           Report bugs to <bug-coreutils@gnu.org>.
42789           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42790           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42791           General help using GNU software: <http://www.gnu.org/gethelp/>.
42792         * lib/version-etc.c: Print new information, if provided.
42793         * m4/version-etc.m4: New file.
42794         * modules/version-etc (Files): Add m4/version-etc.m4.
42795         (configure.ac): Add gl_VERSION_ETC.
42796
42797 2009-05-31  Bruno Haible  <bruno@clisp.org>
42798
42799         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42800         and 'int64_t'.
42801         * modules/alignof-tests (Dependencies): Add stdint.
42802         Reported by Eric Blake.
42803
42804 2009-05-31  Bruno Haible  <bruno@clisp.org>
42805
42806         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42807         restriction due to compiler bugs.
42808         Reported by Eric Blake.
42809
42810 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42811             Bruno Haible  <bruno@clisp.org>
42812
42813         Fix test-alignof failure.
42814         * lib/alignof.h (alignof_slot): New macro.
42815         (alignof_type): New macro, with the same semantics as the previous
42816         'alignof'.
42817         (alignof): Alias to alignof_slot.
42818         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42819         check that the results are usable as constant expressions.
42820
42821 2009-05-31  Bruno Haible  <bruno@clisp.org>
42822
42823         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
42824         * tests/test-memchr.c (main): Check that memchr does not read past the
42825         first occurrence of the byte.
42826         * tests/test-strstr.c (main): Update comment.
42827         Suggested by Eric Blake.
42828
42829 2009-05-30  Bruno Haible  <bruno@clisp.org>
42830
42831         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
42832         detail how to use dumpbin.
42833         Reported by David Byron <dbyron@dbyron.com>.
42834
42835 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42836
42837         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
42838
42839 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42840
42841         * m4/manywarnings.m4: Add GCC 4.4 warnings.
42842
42843 2009-05-28  Bruno Haible  <bruno@clisp.org>
42844
42845         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42846         build-aux/ files.
42847
42848 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42849
42850         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42851
42852 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42853
42854         * gnulib-tool (sed_transform_main_lib_file)
42855         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42856         regexps.
42857
42858 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42859
42860         * tests/test-strstr.c: Add another self-test.
42861         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42862         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42863
42864 2009-05-23  Bruno Haible  <bruno@clisp.org>
42865
42866         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42867         change.
42868
42869 2009-05-21  Bruno Haible  <bruno@clisp.org>
42870
42871         Simplify use of mode_t varargs.
42872         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42873         uses 'mode_t' or 'int'.
42874         * lib/openat.c (openat): Likewise.
42875         * lib/open-safer.c (open_safer): Likewise.
42876         * m4/mode_t.m4: New file.
42877         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42878         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42879         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42880         * modules/open (Files): Add m4/mode_t.m4.
42881         * modules/openat (Files): Likewise.
42882         * modules/fcntl-safer (Files): Likewise.
42883         Suggested by Eric Blake.
42884
42885 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42886
42887         * doc/glibc-functions/fallocate.texi: New file.
42888         * doc/gnulib.texi: Include it.
42889
42890 2009-05-21  Eric Blake  <ebb9@byu.net>
42891             Bruno Haible  <bruno@clisp.org>
42892
42893         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42894         invocations.
42895         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42896
42897 2009-05-21  Eric Blake  <ebb9@byu.net>
42898             Bruno Haible  <bruno@clisp.org>
42899
42900         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42901         include_next. Fix of 2008-11-20 commit.
42902         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42903         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42904         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42905         NEXT_MATH_H.
42906         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42907         instead of NEXT_MATH_H.
42908
42909 2009-05-21  Bruno Haible  <bruno@clisp.org>
42910
42911         Avoid redefinition warnings for SIZE_MAX.
42912         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42913         Reported by Simon Josefsson.
42914
42915 2009-05-21  Bruno Haible  <bruno@clisp.org>
42916
42917         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42918         AC_CACHE_VAL.
42919
42920 2009-05-20  Bruno Haible  <bruno@clisp.org>
42921
42922         Make zeroptr.h work on mingw.
42923         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42924         mprotect.
42925         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42926         * modules/memchr2-tests (configure.ac): Likewise.
42927         * modules/memcmp-tests (configure.ac): Likewise.
42928         * modules/memmem-tests (configure.ac): Likewise.
42929         * modules/memrchr-tests (configure.ac): Likewise.
42930         Reported by Simon Josefsson.
42931
42932 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42933
42934         * tests/test-glob.c: Include string.h for strcmp prototype.
42935
42936 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42937
42938         * modules/getdelim (Depends-on): Add explicit stdint, although it
42939         was implicitly already pulled in via realloc-posix.
42940         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42941
42942 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42943
42944         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42945         G. Christensen" <tgc@jupiterrise.com>.
42946         * m4/sys_socket_h.m4: Check for sa_family_t.
42947         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42948         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42949         * tests/test-sys_socket.c: Check that sa_family_t works.
42950
42951 2009-05-18  Eric Blake  <ebb9@byu.net>
42952
42953         maint.mk: allow gnulib_dir in VPATH build
42954         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42955
42956 2009-05-15  Jim Meyering  <meyering@redhat.com>
42957
42958         maint.mk: Give gnulib_dir a default definition.
42959         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
42960         Thus, most packages no longer need to specify this variable in cfg.mk
42961
42962 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
42963
42964         rename.m4: fix typos that would make non-mingw cross-configure fail
42965         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
42966
42967 2009-05-13  Eric Blake  <ebb9@byu.net>
42968
42969         mmap-anon: avoid out-of-order autoconf expansion
42970         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
42971         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
42972         * modules/memchr-tests (Depends-on): Add extensions.
42973         * modules/memchr2-tests (Depends-on): Add extensions.
42974         * modules/memcmp-tests (Depends-on): Add extensions.
42975         * modules/memmem-tests (Depends-on): Add extensions.
42976         * modules/memrchr-tests (Depends-on): Add extensions.
42977
42978 2009-05-13  Bruno Haible  <bruno@clisp.org>
42979
42980         Make some tests ISO C 99 compliant.
42981         * tests/zerosize-ptr.h: New file.
42982         * tests/test-memchr.c: Include zerosize-ptr.h.
42983         (main): Use a zero-size object pointer instead of NULL.
42984         * tests/test-memchr2.c: Include zerosize-ptr.h.
42985         (main): Use a zero-size object pointer instead of NULL.
42986         * tests/test-memcmp.c: Include zerosize-ptr.h.
42987         (main): Use a zero-size object pointer instead of NULL.
42988         * tests/test-memmem.c: Include zerosize-ptr.h.
42989         (main): Use a zero-size object pointer instead of NULL.
42990         * tests/test-memrchr.c: Include zerosize-ptr.h.
42991         (main): Use a zero-size object pointer instead of NULL.
42992         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
42993         m4/mmap-anon.m4.
42994         (Depends-on): Add getpagesize.
42995         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42996         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
42997         m4/mmap-anon.m4.
42998         (Depends-on): Add getpagesize.
42999         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43000         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
43001         m4/mmap-anon.m4.
43002         (Depends-on): Add getpagesize.
43003         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43004         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
43005         m4/mmap-anon.m4.
43006         (Depends-on): Add getpagesize.
43007         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43008         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
43009         m4/mmap-anon.m4.
43010         (Depends-on): Add getpagesize.
43011         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43012
43013 2009-05-12  Bruno Haible  <bruno@clisp.org>
43014
43015         Tests for module 'alignof'.
43016         * modules/alignof-tests: New file.
43017         * tests/test-alignof.c: New file.
43018
43019 2009-05-12  Bruno Haible  <bruno@clisp.org>
43020
43021         Fix alignof macro.
43022         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
43023         vendor compilers that are always correct.
43024
43025 2009-05-12  Bruno Haible  <bruno@clisp.org>
43026
43027         Make the MAP_ANONYMOUS detection work on HP-UX 11.
43028         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
43029         not whether its fully works.
43030
43031 2009-05-12  Bruno Haible  <bruno@clisp.org>
43032
43033         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
43034
43035 2009-05-12  Jim Meyering  <meyering@redhat.com>
43036
43037         * top/maint.mk: Adjust backslash alignment.
43038
43039 2009-05-11  Simon Josefsson  <simon@josefsson.org>
43040
43041         * top/maint.mk: Make $(srcdir)/build-aux configurable.
43042
43043 2009-05-11  Eric Blake  <ebb9@byu.net>
43044
43045         argp: avoid undefined behavior
43046         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
43047         macros.
43048
43049 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43050
43051         * tests/test-vc-list-files-git.sh: Do git config of user.email and
43052         user.name to prevent git commit from complaining.
43053
43054 2009-05-10  Bruno Haible  <bruno@clisp.org>
43055
43056         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
43057         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
43058         it rewrites every file name only once.
43059         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
43060
43061 2009-05-08  Bruno Haible  <bruno@clisp.org>
43062
43063         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
43064         instead of 'max'.
43065
43066 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43067
43068         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
43069         sockaddr_storage test.
43070
43071 2009-05-07  Simon Josefsson  <simon@josefsson.org>
43072
43073         * modules/sys_socket (Makefile.am): Substitute
43074         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
43075         * m4/sys_socket_h.m4: Check for sockaddr_storage.
43076         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
43077         * tests/test-sys_socket.c: Check sockaddr_storage.
43078
43079 2009-05-08  Bruno Haible  <bruno@clisp.org>
43080
43081         New module 'alignof'.
43082         * lib/alignof.h: New file.
43083         * modules/alignof: New file.
43084
43085 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43086             Bruno Haible  <bruno@clisp.org>
43087
43088         Fix test-file-has-acl on FreeBSD.
43089         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
43090         mask is implicitly added.
43091         * tests/test-file-has-acl.c: Include <signal.h>.
43092         (main): Terminate the test after 5 seconds.
43093         * modules/acl-tests (configure.ac): Check for alarm function.
43094
43095 2009-05-04  Bruno Haible  <bruno@clisp.org>
43096
43097         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
43098         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
43099         * modules/errno (configure.ac): Drop AC_REQUIRE.
43100         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
43101         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
43102
43103 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43104
43105         * modules/glob-tests: New module.
43106         * tests/test-glob.c: Add.
43107
43108 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43109
43110         * modules/fnmatch-tests: New module.
43111         * tests/test-fnmatch.c: Add.
43112
43113 2009-05-04  Eric Blake  <ebb9@byu.net>
43114
43115         maint: make the new no-submodule-changes rule VPATH-safe
43116         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
43117
43118 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43119             Bruno Haible  <bruno@clisp.org>
43120
43121         acl: Fix infinite loop on FreeBSD.
43122         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
43123         of return value from acl_get_entry.
43124         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
43125         Likewise.
43126
43127 2009-05-03  Bruno Haible  <bruno@clisp.org>
43128
43129         * lib/acl-internal.h (acl_entries): Clarify return value.
43130         * lib/acl_entries.c (acl_entries): Likewise.
43131
43132 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43133
43134         Bug fix in acl module.
43135         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
43136
43137 2009-05-03  Bruno Haible  <bruno@clisp.org>
43138
43139         Create gperf-generated file in the source dir, not in the build dir.
43140         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
43141         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
43142         * modules/unicase/locale-language (unicase/locale-languages.h):
43143         Likewise.
43144         * modules/unicase/special-casing (unicase/special-casing-table.h):
43145         Likewise.
43146         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
43147         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
43148         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
43149         Reported by Ralf Wildenhues.
43150
43151 2009-05-03  Bruno Haible  <bruno@clisp.org>
43152
43153         * modules/fnmatch (Description, configure.ac): Taken from
43154         fnmatch-posix.
43155         * modules/fnmatch-posix: Turn into a symbolic reference to the
43156         'fnmatch' module, and deprecate.
43157         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
43158
43159 2009-05-03  Bruno Haible  <bruno@clisp.org>
43160
43161         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
43162         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
43163         Reported by Ralf Wildenhues.
43164
43165 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43166
43167         * m4/fnmatch.m4: Fix fnmatch re-define.
43168
43169 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43170
43171         priv-set: new module and tests; adapt write-any-file
43172         * lib/priv-set.c: New file.
43173         * lib/priv-set.h: New file.
43174         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
43175         * lib/write-any-file.c: Simplify by using priv-set module.
43176         * m4/priv-set.m4: New file.
43177         * modules/priv-set: New file.
43178         * modules/unlinkdir: Add dependency on priv-set module.
43179         * modules/write-any-file: Likewise.
43180
43181         Tests for module 'priv-set'.
43182         * modules/priv-set-tests: New file.
43183         * tests/test-priv-set.c: New file.
43184
43185 2009-05-03  Jim Meyering  <meyering@redhat.com>
43186             Bruno Haible  <bruno@clisp.org>
43187
43188         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
43189         use the converted UTF-8 variant of the name instead.
43190
43191 2009-05-03  Jim Meyering  <meyering@redhat.com>
43192
43193         tests: tighten some getdate tests
43194         * tests/test-getdate.c (main): Tighten tests: require equality,
43195         not just greater than.  Set TZ envvar to UTC0.
43196
43197 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
43198
43199         getdate: correctly interpret "next monday" when run on a Monday
43200         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
43201         that e.g., "next tues" (when run on a tuesday) results in a date
43202         that is one week in the future, and not today's date.
43203         I.e., add a week when the wday is the same as the current one.
43204         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
43205         and earlier by Martin Bernreuther and Jan Minář.
43206         * tests/test-getdate.c (main): Check that "next DAY" is always in
43207         the future and that "last DAY" is always in the past.
43208
43209 2009-05-02  Jim Meyering  <meyering@redhat.com>
43210
43211         build: ensure that a release build fails when a submodule is unclean
43212         * top/maint.mk (no-submodule-changes): New rule.
43213         (alpha beta major): Depend on it.
43214
43215 2009-05-02  Bruno Haible  <bruno@clisp.org>
43216
43217         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
43218         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
43219         shell variable gl_fnmatch_required to detect which variant is
43220         requested.
43221         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
43222         gl_FUNC_FNMATCH_POSIX.
43223         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
43224         exclude fnmatch-posix.
43225
43226 2009-05-02  Bruno Haible  <bruno@clisp.org>
43227
43228         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
43229         * modules/mbsrtowcs (License): Change to LGPLv2+.
43230         * modules/strnlen1 (License): Likewise.
43231         Reported by Simon Josefsson.
43232
43233 2009-05-02  Bruno Haible  <bruno@clisp.org>
43234
43235         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
43236         "cross".
43237         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
43238         gnulib-tool was called with option --source-base=lib.
43239
43240 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43241
43242         Use automake *-local hooks without commands, for extensibility.
43243         * modules/localcharset (Makefile.am): Rename install-exec-local
43244         rule to install-exec-localcharset, and make it a prerequisite of
43245         install-exec-local.  Likewise, rename the uninstall-local rule to
43246         uninstall-localcharset, and make it a prerequisite of the former.
43247
43248 2009-05-01  Bruno Haible  <bruno@clisp.org>
43249
43250         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
43251         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43252         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
43253         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
43254         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
43255         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43256         m4/locale-zh.m4, m4/codeset.m4.
43257
43258         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43259         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
43260         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43261         m4/locale-zh.m4.
43262
43263         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
43264         REPLACE_WCRTOMB if mbstate_t must be replaced.
43265         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
43266         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
43267
43268 2009-05-01  Bruno Haible  <bruno@clisp.org>
43269
43270         Avoid compiler warnings when redefining macros defined by <libintl.h>.
43271         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
43272         dngettext, dcngettext, textdomain, bindtextdomain,
43273         bind_textdomain_codeset): Undefine before redefining.
43274
43275 2009-04-30  Bruno Haible  <bruno@clisp.org>
43276
43277         Fix bug introduced on 2009-04-25.
43278         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
43279         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
43280         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
43281         is defined.
43282         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
43283         is defined.
43284         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
43285         is defined.
43286         Reported by Elbert_Pol <elbert.pol@gmail.com>.
43287
43288 2009-04-28  Bruno Haible  <bruno@clisp.org>
43289
43290         Comment tweaks.
43291         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
43292         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
43293         * lib/unicase.h (u*_casexfrm): Likewise.
43294         Reported by Paolo Bonzini.
43295
43296 2009-04-28  Bruno Haible  <bruno@clisp.org>
43297
43298         Fix a compilation error.
43299         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
43300         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43301         Reported by Jim Meyering.
43302
43303 2009-04-27  Bruno Haible  <bruno@clisp.org>
43304
43305         New module 'libunistring'.
43306         * modules/libunistring: New file.
43307         * m4/libunistring.m4: New file.
43308         * MODULES.html.sh (Unicode string functions): Add it.
43309
43310 2009-04-27  Eric Blake  <ebb9@byu.net>
43311
43312         maint.mk: allow package-specific header to provide <config.h>
43313         * top/maint.mk (sc_require_config_h): New variable.
43314         (sc_require_config_h, sc_require_config_h_first): Use it.
43315
43316 2009-04-27  Simon Josefsson  <simon@josefsson.org>
43317
43318         * top/maint.mk (sc_avoid_if_before_free): Except
43319         useless-if-before-free script.
43320
43321 2009-04-27  Eric Blake  <ebb9@byu.net>
43322
43323         maintainer-makefile: depend on all required helper scripts
43324         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
43325         useless-if-before-free.
43326         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
43327         version, rather than assuming gnulib checkout is available.
43328         Reported by Simen Josefsson.
43329
43330 2009-04-26  Bruno Haible  <bruno@clisp.org>
43331
43332         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
43333         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
43334         "../" or "..".
43335
43336 2009-04-26  Bruno Haible  <bruno@clisp.org>
43337
43338         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
43339         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
43340         AC_LIB_HAVE_LINKFLAGS.
43341
43342 2009-04-26  Bruno Haible  <bruno@clisp.org>
43343
43344         Simplify calling convention of u*_conv_from_encoding.
43345         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
43346         u32_conv_from_encoding): Expect a resultbuf argument and return the
43347         result directly as a pointer.
43348         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
43349         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
43350         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
43351         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
43352         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
43353         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43354         Update.
43355         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
43356         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
43357         * lib/vasnprintf.c (VASNPRINTF): Update.
43358         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
43359         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
43360         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
43361         * NEWS: Mention the change.
43362
43363 2009-04-26  Bruno Haible  <bruno@clisp.org>
43364
43365         Simplify calling convention of u*_conv_to_encoding.
43366         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
43367         u32_conv_to_encoding): Expect a resultbuf argument and return the
43368         result directly as a pointer.
43369         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43370         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
43371         freeing scaled_offsets if mem_iconveha failed.
43372         * lib/unicase/u-casexfrm.h (FUNC): Update.
43373         * lib/uninorm/u-normxfrm.h (FUNC): Update.
43374         * lib/vasnprintf.c (VASNPRINTF): Update.
43375         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
43376         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
43377         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
43378         * NEWS: Mention the change.
43379
43380 2009-04-26  Bruno Haible  <bruno@clisp.org>
43381
43382         Avoid test failures on AIX and OSF/1.
43383         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
43384         malloc(0).
43385         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43386         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43387         Likewise.
43388         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
43389         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
43390         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
43391         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
43392         * doc/posix-functions/malloc.texi: Document the portability problem
43393         related to malloc(0).
43394
43395 2009-04-26  Bruno Haible  <bruno@clisp.org>
43396
43397         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
43398         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
43399         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
43400
43401 2009-04-25  Bruno Haible  <bruno@clisp.org>
43402
43403         Avoid link error when creating a namespace clean library.
43404         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
43405         as macro with arguments if already defined as an alias.
43406         * lib/signbitf.c (gl_signbitf): Don't undefine.
43407         * lib/signbitd.c (gl_signbitd): Don't undefine.
43408         * lib/signbitl.c (gl_signbitl): Don't undefine.
43409
43410 2009-04-25  Jim Meyering  <meyering@redhat.com>
43411
43412         vc-list-files: fix another quoting bug
43413         * build-aux/vc-list-files: Avoid sed backslash expansion
43414         of pathological directory names.
43415
43416 2009-04-25  Eric Blake  <ebb9@byu.net>
43417
43418         vc-list-files: fix shell quoting error
43419         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
43420         timestamp.
43421
43422 2009-04-25  Jim Meyering  <meyering@redhat.com>
43423
43424         vc-list-files: restore lost functionality with subdir argument
43425         * build-aux/vc-list-files: When given a non-"." sub-directory
43426         argument, substitute the $dir/ prefix back onto each resulting name.
43427         Otherwise, coreutils' root_tests check would fail.
43428
43429 2009-04-24  Eric Blake  <ebb9@byu.net>
43430
43431         vc-list-files: ignore git symlinks
43432         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
43433         than ls-files, to ignore git symlinks.
43434
43435         maint.mk: import improvements from m4
43436         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
43437         (move_if_change): Delete unused macro.
43438         (news-date-check, vc-diff-check): Support VPATH builds.
43439         (announcement): Likewise.  Split --bootstrap-tools list...
43440         (boostrap-tools): ...into separate list, which can be overridden
43441         in cfg.mk.
43442         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
43443         requiring dependency on useless-if-before-free module.
43444         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
43445         Support VPATH builds.
43446
43447 2009-04-24  Jim Meyering  <meyering@redhat.com>
43448
43449         maint.mk: remove coreutils-specific rules and variables
43450         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
43451         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
43452         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
43453
43454         maint.mk: remove obsolete rule
43455         * top/maint.mk (rel-check): Remove rule.
43456         (WGET, WGETFLAGS): Remove now-unused variables.
43457
43458 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43459
43460         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
43461         consistency.
43462
43463         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
43464         '$(PATH_SEPARATOR)' instead of ':'.
43465
43466 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43467
43468         * lib/getopt1.c (main): Use 'const' for static array.
43469
43470 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43471
43472         * top/maint.mk: Sync with coreutils.
43473         * NEWS: Explain incompatibilities.
43474
43475 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43476             Bruno Haible  <bruno@clisp.org>
43477
43478         Fix cross-compilation results.
43479         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
43480         statement, as third argument of AC_TRY_RUN.
43481         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43482         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
43483         Likewise.
43484         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43485         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43486         Likewise.
43487         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43488         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
43489         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
43490
43491 2009-04-20  Bruno Haible  <bruno@clisp.org>
43492
43493         Avoid test failure on mingw.
43494         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
43495
43496 2009-04-20  Bruno Haible  <bruno@clisp.org>
43497
43498         Avoid compilation error on mingw.
43499         * modules/localename-tests (Depends-on): Add locale.
43500
43501 2009-04-19  Bruno Haible  <bruno@clisp.org>
43502
43503         Support for building a shared library on Windows platforms.
43504         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
43505         (main): Test the presence of UNINORM_NFC here.
43506         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
43507         (main): Test the presence of UNINORM_NFD here.
43508         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
43509         (main): Test the presence of UNINORM_NFKC here.
43510         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
43511         (main): Test the presence of UNINORM_NFKD here.
43512
43513 2009-04-19  Bruno Haible  <bruno@clisp.org>
43514
43515         Avoid a compiler warning.
43516         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
43517         Change type of variable 'sequence'.
43518
43519 2009-04-19  Bruno Haible  <bruno@clisp.org>
43520
43521         * modules/configmake (Makefile.am): When the contents of configmake.h
43522         does not change, arrange to preserve its modification time.
43523
43524 2009-04-17  Simon Josefsson  <simon@josefsson.org>
43525
43526         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
43527         gettext domain.
43528
43529 2009-04-16  Jim Meyering  <meyering@redhat.com>
43530
43531         useless-if-before-free: improve conversion code
43532         * build-aux/useless-if-before-free: Adjust code-in-comment to match
43533         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
43534
43535 2009-04-14  Bruno Haible  <bruno@clisp.org>
43536
43537         * modules/fcntl (Depends-on): Add extensions.
43538         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
43539
43540 2009-04-12  Ben Pfaff  <blp@gnu.org>
43541
43542         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
43543         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
43544
43545 2009-03-20  Ben Pfaff  <blp@gnu.org>
43546
43547         Make rename replace existing destinations on Windows.
43548         * m4/rename.m4: Add test for Mingw.
43549         * lib/rename.c: Add rename replacement that uses MoveFileEx with
43550         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
43551         * doc/posix-functions/rename.texi: Document.
43552
43553 2009-04-10  Bruno Haible  <bruno@clisp.org>
43554
43555         New include file "iconveh.h".
43556         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
43557         * lib/striconveh.h: Include it.
43558         (enum iconv_ilseq_handler): Remove definition.
43559         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
43560         striconveh.h.
43561         * lib/striconveha.c: Include striconveh.h.
43562         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
43563         * modules/striconveh (Files): Add lib/iconveh.h.
43564         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
43565         lib/striconveh.h.
43566
43567 2009-04-10  Bruno Haible  <bruno@clisp.org>
43568
43569         * lib/uniconv.h: Update comment.
43570
43571 2009-04-10  Bruno Haible  <bruno@clisp.org>
43572
43573         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
43574         always.
43575         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43576         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43577         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43578         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
43579         "unistring-notinline.h", so that the function gets defined always.
43580         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43581         * lib/unistr/u8-uctomb.c: Likewise.
43582         * lib/unistr/u16-mbtouc.c: Likewise.
43583         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43584         * lib/unistr/u16-uctomb.c: Likewise.
43585         * lib/unistr/u32-mbtouc.c: Likewise.
43586         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43587         * lib/unistr/u32-uctomb.c: Likewise.
43588
43589 2009-04-10  Bruno Haible  <bruno@clisp.org>
43590
43591         Mark 'utime' obsolete.
43592         * modules/utime (Status, Notice): New sections.
43593         Suggested by Jim Meyering.
43594
43595         Fix cross-compile guess for utime test.
43596         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
43597         autoconf.
43598         * doc/posix-functions/utime.texi: Give more precisions.
43599         Reported by Jan <ipif@ymail.com>.
43600
43601 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
43602
43603         filevercmp: correct today's change
43604         * lib/filevercmp.c: Also handle coreutils' test inputs.
43605         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
43606
43607         Fix regression in 'filevercmp' module. Thanks Sven Joachim
43608         for reporting it.
43609         * lib/filevercmp.c: Special handle for "", "." and "..".
43610         * tests/test-filevercmp.c: Enlarge the set suite.
43611
43612 2009-04-07  Jim Meyering  <meyering@redhat.com>
43613
43614         useless-if-before-free: show how to remove braced useless free, too
43615         * build-aux/useless-if-before-free: still only in a comment, though.
43616
43617 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
43618
43619         maint.mk: import changes to syntax-check macros from coreutils
43620         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
43621         Use them in the relevant macros.
43622
43623 2009-04-06  Bruno Haible  <bruno@clisp.org>
43624
43625         Fix unportable use of bit-fields.
43626         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
43627         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
43628         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
43629
43630 2009-04-06  Bruno Haible  <bruno@clisp.org>
43631
43632         Avoid test failures on AIX and OSF/1.
43633         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
43634         that malloc(0) = NULL.
43635         * tests/unicase/test-u8-tolower.c (check): Likewise.
43636         * tests/unicase/test-u8-totitle.c (check): Likewise.
43637         * tests/unicase/test-u8-toupper.c (check): Likewise.
43638         * tests/unicase/test-u16-casefold.c (check): Likewise.
43639         * tests/unicase/test-u16-tolower.c (check): Likewise.
43640         * tests/unicase/test-u16-totitle.c (check): Likewise.
43641         * tests/unicase/test-u16-toupper.c (check): Likewise.
43642         * tests/unicase/test-u32-casefold.c (check): Likewise.
43643         * tests/unicase/test-u32-tolower.c (check): Likewise.
43644         * tests/unicase/test-u32-totitle.c (check): Likewise.
43645         * tests/unicase/test-u32-toupper.c (check): Likewise.
43646         * tests/uninorm/test-u8-nfc.c (check): Likewise.
43647         * tests/uninorm/test-u8-nfd.c (check): Likewise.
43648         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
43649         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
43650         * tests/uninorm/test-u16-nfc.c (check): Likewise.
43651         * tests/uninorm/test-u16-nfd.c (check): Likewise.
43652         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
43653         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
43654         * tests/uninorm/test-u32-nfc.c (check): Likewise.
43655         * tests/uninorm/test-u32-nfd.c (check): Likewise.
43656         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
43657         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
43658
43659 2009-04-05  Bruno Haible  <bruno@clisp.org>
43660
43661         Work around an autoconf limitation.
43662         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
43663         comment line if it would be longer than 3 KB.
43664
43665 2009-04-05  Bruno Haible  <bruno@clisp.org>
43666
43667         Avoid test failure with libiconv-1.13.
43668         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
43669         of the expected test results.
43670
43671 2009-04-05  Bruno Haible  <bruno@clisp.org>
43672
43673         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
43674         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
43675         that it should be installed.
43676
43677 2009-04-05  Bruno Haible  <bruno@clisp.org>
43678
43679         * gnulib-tool: New option --copy-file.
43680         (func_usage): Document it.
43681         (func_dest_tmpfilename): Moved out of func_import.
43682         (func_add_file, func_update_file): New functions, extracted from
43683         func_import.
43684         (func_import): Update.
43685
43686 2009-04-05  Karl Berry  <karl@gnu.org>
43687
43688         * README: prominently mention gnulib-tool.
43689         Rearrange sections so getting the code is near the top.
43690
43691 2009-04-05  Bruno Haible  <bruno@clisp.org>
43692
43693         * lib/unicase.h: Mention u*_cmp2.
43694         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43695         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43696         * lib/unicase/ulc-casecmp.c: Likewise.
43697         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43698         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43699         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43700         unistr/u8-cmp.
43701         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43702         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43703         unistr/u16-cmp.
43704         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43705         unistr/u32-cmp.
43706
43707         * lib/uninorm.h: Mention u*_cmp2.
43708         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43709         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43710         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43711         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43712         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43713         unistr/u8-cmp.
43714         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43715         unistr/u16-cmp.
43716         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43717         unistr/u32-cmp.
43718
43719         New module 'unistr/u32-cmp2'.
43720         * lib/unistr/u32-cmp2.c: New file.
43721         * modules/unistr/u32-cmp2: New file.
43722
43723         New module 'unistr/u16-cmp2'.
43724         * lib/unistr/u16-cmp2.c: New file.
43725         * modules/unistr/u16-cmp2: New file.
43726
43727         New module 'unistr/u8-cmp2'.
43728         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43729         * lib/unistr/u8-cmp2.c: New file.
43730         * lib/unistr/u-cmp2.h: New file.
43731         * modules/unistr/u8-cmp2: New file.
43732
43733 2009-04-05  Bruno Haible  <bruno@clisp.org>
43734
43735         * lib/unictype.h (uc_property_is_valid): New macro.
43736         * tests/unictype/test-pr_byname.c (main): Use it.
43737
43738         * lib/unistr.h: Doc fixes.
43739         * lib/uniconv.h: Doc fixes.
43740         * lib/unictype.h: Doc fixes.
43741
43742 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43743
43744         Port coreutils 7.2 to Solaris 8.
43745
43746         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43747         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43748         for Solaris 8.  This is a bit of a hack, as it means it's the
43749         caller's responsibility to add -lnsl if needed, but most likely it
43750         won't be needed since only getaddrinfo uses this and getaddrinfo
43751         isn't needed on Solaris 8.
43752
43753         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43754         problem to Solaris 8 encountered with coreutils 7.2, which
43755         resulted in a message "fnmatch.c:292: warning: passing argument 4
43756         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43757         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43758
43759 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43760
43761         * m4/ld-version-script.m4: Add FIXME comment.
43762
43763 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43764
43765         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43766         SOVERSION variable.
43767
43768 2009-04-02  Bruno Haible  <bruno@clisp.org>
43769
43770         * Makefile (info, html, dvi, pdf): Combine the rules.
43771         Suggested by Jim Meyering.
43772
43773 2009-04-01  Bruno Haible  <bruno@clisp.org>
43774
43775         * Makefile (info, html, dvi, pdf): New targets.
43776         Reported by Reuben Thomas <rrt@sc3d.org>.
43777
43778 2009-04-01  Bruno Haible  <bruno@clisp.org>
43779
43780         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43781         can be put into PATH.
43782         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43783
43784 2009-04-01  Bruno Haible  <bruno@clisp.org>
43785
43786         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43787
43788 2009-04-01  Bruno Haible  <bruno@clisp.org>
43789
43790         Rename module 'visibility'.
43791         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43792         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43793         * doc/gnulib.texi: Update.
43794         * MODULES.html.sh (Misc): Update.
43795         * NEWS: Mention the change.
43796
43797 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43798
43799         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43800         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43801         Eric Blake <ebb9@byu.net> for review.
43802         * MODULES.html.sh: Add lib-msvc-compat.
43803         * doc/gnulib.texi: Link to new section.
43804         * m4/ld-output-def.m4: New file.
43805         * doc/ld-output-def.texi: New file.
43806
43807 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43808
43809         Rename ld-version-script to lib-symbol-versions.  Suggested by
43810         Bruno Haible <bruno@clisp.org>.
43811         * modules/ld-version-script: Renamed to lib-symbol-versions.
43812         * doc/ld-version-script.texi: Fix module name.
43813         * MODULES.html.sh: Add lib-symbol-versions.
43814
43815 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43816
43817         * modules/u64-tests: New file.
43818         * tests/test-u64.c: New file.
43819
43820 2009-03-04  Simon Josefsson  <simon@josefsson.org>
43821
43822         * MODULES.html.sh: Mention u64.
43823         * modules/u64: New module.
43824         * modules/crypto/sha512: Depend on u64 module instead of providing
43825         u64.h.
43826
43827 2009-03-27  Eric Blake  <ebb9@byu.net>
43828
43829         test-strerror: make debugging EAI_SYSTEM easier
43830         * modules/getaddrinfo-tests (Depends-on): Add strerror.
43831         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
43832         failure was EAI_SYSTEM.
43833
43834 2009-03-25  Bruno Haible  <bruno@clisp.org>
43835
43836         Fix a problem with --enable-relocatable on Solaris 7.
43837         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
43838         since 2008-02-24.
43839
43840 2009-03-25  Eric Blake  <ebb9@byu.net>
43841
43842         test-sockets: avoid gcc warning
43843         * tests/test-sockets.c (main): Silence compiler warning.
43844
43845 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43846
43847         New modules nproc, pthread, contributed by Glen Lenker.
43848
43849         * MODULES.html.sh: Add pthread, nproc.
43850         * lib/nproc.c: New file.
43851         * lib/nproc.h: New file.
43852         * lib/pthread.in.h: New file.
43853         * m4/pthread.m4: New file.
43854         * modules/nproc: New file.
43855         * modules/pthread: New file.
43856
43857 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43858
43859         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43860         New variable.
43861
43862 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43863
43864         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43865         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43866         * tests/test-filevercmp.c: Add tests for backup suffixes.
43867
43868 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43869
43870         * modules/stdlib (Depends-on): Add stdint, needed when defining
43871         struct random_data on, for example, HP-UX 10.20.  Reported by
43872         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43873
43874 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43875
43876         * lib/readline.c (readline): Call fflush on stdout after printing
43877         prompt.
43878
43879 2009-03-20  Bruno Haible  <bruno@clisp.org>
43880
43881         Remove dependency from 'close' module to -lws2_32 on native Windows.
43882         * lib/close-hook.h: New file.
43883         * lib/close-hook.c: New file.
43884         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43885         w32sock.h.
43886         (_gl_close_fd_maybe_socket): Remove function.
43887         (rpl_close): Invoke execute_all_close_hooks instead of
43888         _gl_close_fd_maybe_socket.
43889         * lib/sockets.c: Include close-hook.h, w32sock.h.
43890         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43891         (close_sockets_hook): New variable.
43892         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43893         (gl_sockets_cleanup): Unregister it.
43894         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43895         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43896         * modules/close-hook: New file.
43897         * modules/close (Files): Remove lib/w32sock.h.
43898         (Depends-on): Add close-hook.
43899         (Link): Remove section.
43900         * modules/sockets (Files): Add lib/w32sock.h.
43901         (Depends-on): Add close-hook.
43902         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43903         invocation.
43904         * NEWS: Mention that LIB_CLOSE is gone.
43905
43906 2009-03-23  Eric Blake  <ebb9@byu.net>
43907
43908         signal-tests: test previous patch
43909         * tests/test-signal.c: New file.
43910         * modules/signal-tests: Likewise.
43911
43912         signal.h: always support 'volatile sig_atomic_t'
43913         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43914         (gl_SIGNAL_H_DEFAULTS): Add a default.
43915         * modules/signal (Makefile.am): Substitute if needed.
43916         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43917         users can blindly add volatile.
43918         * doc/posix-headers/signal.texi (signal.h): Document it.
43919         Reported by Matthew Woehlke.
43920
43921 2009-03-23  Jim Meyering  <meyering@redhat.com>
43922
43923         pathmax: PATH_MAX: use pathconf only when available
43924         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43925         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43926         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43927         This avoids a link failure in a PSP cross-compilation environment
43928         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43929
43930         * lib/vasnprintf.c (divide): Fix typo in comment.
43931
43932 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43933
43934         * gnulib-tool (func_filter_filelist): Fix comment.
43935
43936 2009-03-20  Bruno Haible  <bruno@clisp.org>
43937
43938         Make sockets.h self-contained.
43939         * lib/sockets.c: Include sockets.h first.
43940         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43941
43942 2009-03-19  Eric Blake  <ebb9@byu.net>
43943
43944         doc: mention more functions added in cygwin 1.7.0
43945         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43946         addition.
43947         * doc/posix-functions/log2f.texi: Likewise.
43948
43949 2009-03-19  Jim Meyering  <meyering@redhat.com>
43950
43951         fsusage: avoid syntax error due to statement-before-declaration
43952         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43953         after all declarations.  Reported by Matthew Woehlke in
43954         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43955
43956 2009-03-18  Eric Blake  <ebb9@byu.net>
43957
43958         build-aux/compile: sync from automake
43959         * build-aux/compile: New file, from automake.
43960         * config/srclist.txt: Mention build-aux/compile.
43961
43962 2009-03-17  Bruno Haible  <bruno@clisp.org>
43963
43964         * lib/git-merge-changelog.c: Fix typo in comment.
43965         Reported by Reuben Thomas <rrt@sc3d.org>.
43966
43967 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
43968
43969         * m4/regex.m4: update and improve help for
43970         --without-included-regex.
43971
43972 2009-03-17  Simon Josefsson  <simon@josefsson.org>
43973
43974         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
43975         failure on missing include files.
43976
43977 2009-03-17  Eric Blake  <ebb9@byu.net>
43978
43979         doc: mention more functions added in cygwin 1.7.0
43980         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
43981         addition.
43982         * doc/posix-functions/fwscanf.texi: Likewise.
43983         * doc/posix-functions/swprintf.texi: Likewise.
43984         * doc/posix-functions/swscanf.texi: Likewise.
43985         * doc/posix-functions/vfwprintf.texi: Likewise.
43986         * doc/posix-functions/vfwscanf.texi: Likewise.
43987         * doc/posix-functions/vswprintf.texi: Likewise.
43988         * doc/posix-functions/vswscanf.texi: Likewise.
43989         * doc/posix-functions/vwprintf.texi: Likewise.
43990         * doc/posix-functions/vwscanf.texi: Likewise.
43991         * doc/posix-functions/wcscasecmp.texi: Likewise.
43992         * doc/posix-functions/wcsdup.texi: Likewise.
43993         * doc/posix-functions/wcsftime.texi: Likewise.
43994         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43995         * doc/posix-functions/wprintf.texi: Likewise.
43996         * doc/posix-functions/wscanf.texi: Likewise.
43997         * doc/glibc-functions/gethostbyname2.texi: Likewise.
43998
43999 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44000
44001         maint.mk: really add $(AM_MAKEFLAGS)
44002         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
44003         was inadvertently omitted in the last commit.
44004         Spotted by Bruno Haible.
44005
44006         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
44007         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
44008         $(AM_MAKEFLAGS)' rather than plain `make'.
44009
44010         gnulib-tool: execute $MAKE not make
44011         * gnulib-tool: Default $MAKE to 'make'.
44012         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
44013         than make.  Initialize $MAKE in the do-autobuild script.
44014
44015         gnulib-tool: use $MAKE not make in generated files
44016         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
44017         make, in generated files.  Initialize $MAKE in the do-autobuild
44018         script.
44019
44020         * top/GNUmakefile (_have-git-version-gen): Fix typo.
44021
44022         GNUmakefile: disable parallelism only for multiple, recursive targets
44023         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
44024         additions in the Makefile.
44025         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
44026         by Automake.
44027         (.NOTPARALLEL): Only disable parallel builds if multiple targets
44028         are listed on the command line and at least one of them is
44029         listed in $(ALL_RECURSIVE_TARGETS).
44030
44031 2009-03-14  Bruno Haible  <bruno@clisp.org>
44032
44033         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
44034         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
44035         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
44036         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
44037         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
44038         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
44039         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
44040         unistr/u8-uctomb.
44041         * modules/unistr/u8-strchr (Depends-on): Likewise.
44042         * modules/unistr/u8-strrchr (Depends-on): Likewise.
44043         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
44044         unistr/u16-uctomb.
44045         * modules/unistr/u16-strchr (Depends-on): Likewise.
44046         * modules/unistr/u16-strrchr (Depends-on): Likewise.
44047
44048 2009-03-12  Bruno Haible  <bruno@clisp.org>
44049
44050         Work around select() bug on Interix 3.5.
44051         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
44052         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
44053         * m4/select.m4: New file.
44054         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
44055         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
44056         * modules/select (Files): Add m4/select.m4.
44057         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
44058         * modules/nanosleep (Depends-on): Add select.
44059         * modules/poll (Depends-on): Likewise.
44060         * doc/posix-functions/select.texi: Mention the Interix bug.
44061         Reported by Markus Duft <mduft@gentoo.org>.
44062
44063         * lib/select.c: Renamed from lib/winsock-select.c.
44064         * modules/select (Files): Add lib/select.c, remove
44065         lib/winsock-select.c.
44066         (configure.ac): Update.
44067
44068 2009-03-12  Jim Meyering  <meyering@redhat.com>
44069
44070         avoid gcc warnings about unused macro definitions
44071         * lib/readtokens.c (STREQ): Remove unused definition.
44072         * lib/xmalloc.c (SIZE_MAX): Likewise.
44073         * lib/openat-die.c (N_): Likewise.
44074         * lib/mountlist.c (SIZE_MAX): Remove definition.
44075         Instead, include <stdint.h>.
44076         * lib/readutmp.c: Likewise.
44077         * modules/readutmp (Depends-on): Add stdint.
44078         * modules/mountlist (Depends-on): Add stdint.
44079         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
44080
44081 2009-03-10  Bruno Haible  <bruno@clisp.org>
44082
44083         Tests for module 'mbmemcasecoll'.
44084         * modules/mbmemcasecoll-tests: New file.
44085         * tests/test-mbmemcasecoll1.sh: New file.
44086         * tests/test-mbmemcasecoll2.sh: New file.
44087         * tests/test-mbmemcasecoll3.sh: New file.
44088         * tests/test-mbmemcasecoll.c: New file.
44089
44090         New module 'mbmemcasecoll'.
44091         * lib/mbmemcasecoll.h: New file.
44092         * lib/mbmemcasecoll.c: New file.
44093         * modules/mbmemcasecoll: New file.
44094
44095         * tests/test-mbmemcasecmp.h: New file, extracted from
44096         tests/test-mbmemcasecmp.c.
44097         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
44098         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
44099         (main): Update.
44100         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
44101
44102 2009-03-09  Bruno Haible  <bruno@clisp.org>
44103
44104         Tests for module 'mbmemcasecmp'.
44105         * modules/mbmemcasecmp-tests: New file.
44106         * tests/test-mbmemcasecmp1.sh: New file.
44107         * tests/test-mbmemcasecmp2.sh: New file.
44108         * tests/test-mbmemcasecmp3.sh: New file.
44109         * tests/test-mbmemcasecmp.c: New file.
44110
44111         New module 'mbmemcasecmp'.
44112         * lib/mbmemcasecmp.h: New file.
44113         * lib/mbmemcasecmp.c: New file.
44114         * modules/mbmemcasecmp: New file.
44115
44116 2009-03-09  Bruno Haible  <bruno@clisp.org>
44117
44118         Tests for module 'unicase/ulc-casecoll'.
44119         * modules/unicase/ulc-casecoll-tests: New file.
44120         * tests/unicase/test-ulc-casecoll1.sh: New file.
44121         * tests/unicase/test-ulc-casecoll2.sh: New file.
44122         * tests/unicase/test-ulc-casecoll.c: New file.
44123
44124         New module 'unicase/ulc-casecoll'.
44125         * lib/unicase.h (ulc_casecoll): New declaration.
44126         * lib/unicase/ulc-casecoll.c: New file.
44127         * modules/unicase/ulc-casecoll: New file.
44128
44129         New module 'unicase/ulc-casexfrm'.
44130         * lib/unicase.h (ulc_casexfrm): New declaration.
44131         * lib/unicase/ulc-casexfrm.c: New file.
44132         * modules/unicase/ulc-casexfrm: New file.
44133
44134 2009-03-09  Bruno Haible  <bruno@clisp.org>
44135
44136         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
44137         invocations.
44138
44139         * m4/mbscasecmp.m4: Remove file.
44140         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
44141         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
44142
44143         * m4/mbscasestr.m4: Remove file.
44144         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
44145         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
44146
44147         * m4/mbschr.m4: Remove file.
44148         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
44149         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
44150
44151         * m4/mbscspn.m4: Remove file.
44152         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
44153         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
44154
44155         * m4/mbslen.m4: Remove file.
44156         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
44157         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
44158
44159         * m4/mbsncasecmp.m4: Remove file.
44160         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
44161         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
44162
44163         * m4/mbsnlen.m4: Remove file.
44164         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
44165         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
44166
44167         * m4/mbspbrk.m4: Remove file.
44168         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
44169         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
44170
44171         * m4/mbspcasecmp.m4: Remove file.
44172         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
44173         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
44174
44175         * m4/mbsrchr.m4: Remove file.
44176         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
44177         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
44178
44179         * m4/mbssep.m4: Remove file.
44180         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
44181         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
44182
44183         * m4/mbsspn.m4: Remove file.
44184         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
44185         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
44186
44187         * m4/mbsstr.m4: Remove file.
44188         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
44189         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
44190
44191         * m4/mbstok_r.m4: Remove file.
44192         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
44193         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
44194
44195         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
44196
44197         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
44198         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
44199
44200         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
44201
44202 2009-03-08  Bruno Haible  <bruno@clisp.org>
44203
44204         Tests for module 'unicase/ulc-casecmp'.
44205         * modules/unicase/ulc-casecmp-tests: New file.
44206         * tests/unicase/test-ulc-casecmp1.sh: New file.
44207         * tests/unicase/test-ulc-casecmp2.sh: New file.
44208         * tests/unicase/test-ulc-casecmp.c: New file.
44209
44210         New module 'unicase/ulc-casecmp'.
44211         * lib/unicase.h (ulc_casecmp): New declaration.
44212         * lib/unicase/ulc-casecmp.c: New file.
44213         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
44214         'const SRC_UNIT *'.
44215         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
44216         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
44217         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
44218         * modules/unicase/ulc-casecmp: New file.
44219
44220         Tests for module 'unicase/u32-is-cased'.
44221         * modules/unicase/u32-is-cased-tests: New file.
44222         * tests/unicase/test-u32-is-cased.c: New file.
44223
44224         Tests for module 'unicase/u16-is-cased'.
44225         * modules/unicase/u16-is-cased-tests: New file.
44226         * tests/unicase/test-u16-is-cased.c: New file.
44227
44228         Tests for module 'unicase/u8-is-cased'.
44229         * modules/unicase/u8-is-cased-tests: New file.
44230         * tests/unicase/test-u8-is-cased.c: New file.
44231         * tests/unicase/test-is-cased.h: New file.
44232
44233         New module 'unicase/u32-is-cased'.
44234         * lib/unicase/u32-is-cased.c: New file.
44235         * modules/unicase/u32-is-cased: New file.
44236
44237         New module 'unicase/u16-is-cased'.
44238         * lib/unicase/u16-is-cased.c: New file.
44239         * modules/unicase/u16-is-cased: New file.
44240
44241         New module 'unicase/u8-is-cased'.
44242         * lib/unicase/u8-is-cased.c: New file.
44243         * lib/unicase/u-is-cased.h: New file.
44244         * modules/unicase/u8-is-cased: New file.
44245
44246         Tests for module 'unicase/u32-is-casefolded'.
44247         * modules/unicase/u32-is-casefolded-tests: New file.
44248         * tests/unicase/test-u32-is-casefolded.c: New file.
44249
44250         Tests for module 'unicase/u16-is-casefolded'.
44251         * modules/unicase/u16-is-casefolded-tests: New file.
44252         * tests/unicase/test-u16-is-casefolded.c: New file.
44253
44254         Tests for module 'unicase/u8-is-casefolded'.
44255         * modules/unicase/u8-is-casefolded-tests: New file.
44256         * tests/unicase/test-u8-is-casefolded.c: New file.
44257         * tests/unicase/test-is-casefolded.h: New file.
44258
44259         New module 'unicase/u32-is-casefolded'.
44260         * lib/unicase/u32-is-casefolded.c: New file.
44261         * modules/unicase/u32-is-casefolded: New file.
44262
44263         New module 'unicase/u16-is-casefolded'.
44264         * lib/unicase/u16-is-casefolded.c: New file.
44265         * modules/unicase/u16-is-casefolded: New file.
44266
44267         New module 'unicase/u8-is-casefolded'.
44268         * lib/unicase/u8-is-casefolded.c: New file.
44269         * modules/unicase/u8-is-casefolded: New file.
44270
44271         Tests for module 'unicase/u32-is-titlecase'.
44272         * modules/unicase/u32-is-titlecase-tests: New file.
44273         * tests/unicase/test-u32-is-titlecase.c: New file.
44274
44275         Tests for module 'unicase/u16-is-titlecase'.
44276         * modules/unicase/u16-is-titlecase-tests: New file.
44277         * tests/unicase/test-u16-is-titlecase.c: New file.
44278
44279         Tests for module 'unicase/u8-is-titlecase'.
44280         * modules/unicase/u8-is-titlecase-tests: New file.
44281         * tests/unicase/test-u8-is-titlecase.c: New file.
44282         * tests/unicase/test-is-titlecase.h: New file.
44283
44284         New module 'unicase/u32-is-titlecase'.
44285         * lib/unicase/u32-is-titlecase.c: New file.
44286         * modules/unicase/u32-is-titlecase: New file.
44287
44288         New module 'unicase/u16-is-titlecase'.
44289         * lib/unicase/u16-is-titlecase.c: New file.
44290         * modules/unicase/u16-is-titlecase: New file.
44291
44292         New module 'unicase/u8-is-titlecase'.
44293         * lib/unicase/u8-is-titlecase.c: New file.
44294         * modules/unicase/u8-is-titlecase: New file.
44295
44296         Tests for module 'unicase/u32-is-lowercase'.
44297         * modules/unicase/u32-is-lowercase-tests: New file.
44298         * tests/unicase/test-u32-is-lowercase.c: New file.
44299
44300         Tests for module 'unicase/u16-is-lowercase'.
44301         * modules/unicase/u16-is-lowercase-tests: New file.
44302         * tests/unicase/test-u16-is-lowercase.c: New file.
44303
44304         Tests for module 'unicase/u8-is-lowercase'.
44305         * modules/unicase/u8-is-lowercase-tests: New file.
44306         * tests/unicase/test-u8-is-lowercase.c: New file.
44307         * tests/unicase/test-is-lowercase.h: New file.
44308
44309         New module 'unicase/u32-is-lowercase'.
44310         * lib/unicase/u32-is-lowercase.c: New file.
44311         * modules/unicase/u32-is-lowercase: New file.
44312
44313         New module 'unicase/u16-is-lowercase'.
44314         * lib/unicase/u16-is-lowercase.c: New file.
44315         * modules/unicase/u16-is-lowercase: New file.
44316
44317         New module 'unicase/u8-is-lowercase'.
44318         * lib/unicase/u8-is-lowercase.c: New file.
44319         * modules/unicase/u8-is-lowercase: New file.
44320
44321         Tests for module 'unicase/u32-is-uppercase'.
44322         * modules/unicase/u32-is-uppercase-tests: New file.
44323         * tests/unicase/test-u32-is-uppercase.c: New file.
44324
44325         Tests for module 'unicase/u16-is-uppercase'.
44326         * modules/unicase/u16-is-uppercase-tests: New file.
44327         * tests/unicase/test-u16-is-uppercase.c: New file.
44328
44329         Tests for module 'unicase/u8-is-uppercase'.
44330         * modules/unicase/u8-is-uppercase-tests: New file.
44331         * tests/unicase/test-u8-is-uppercase.c: New file.
44332         * tests/unicase/test-is-uppercase.h: New file.
44333
44334         New module 'unicase/u32-is-uppercase'.
44335         * lib/unicase/u32-is-uppercase.c: New file.
44336         * modules/unicase/u32-is-uppercase: New file.
44337
44338         New module 'unicase/u16-is-uppercase'.
44339         * lib/unicase/u16-is-uppercase.c: New file.
44340         * modules/unicase/u16-is-uppercase: New file.
44341
44342         New module 'unicase/u8-is-uppercase'.
44343         * lib/unicase/u8-is-uppercase.c: New file.
44344         * modules/unicase/u8-is-uppercase: New file.
44345
44346         New module 'unicase/u32-is-invariant'.
44347         * lib/unicase/u32-is-invariant.c: New file.
44348         * modules/unicase/u32-is-invariant: New file.
44349
44350         New module 'unicase/u16-is-invariant'.
44351         * lib/unicase/u16-is-invariant.c: New file.
44352         * modules/unicase/u16-is-invariant: New file.
44353
44354         New module 'unicase/u8-is-invariant'.
44355         * lib/unicase/u8-is-invariant.c: New file.
44356         * lib/unicase/invariant.h: New file.
44357         * lib/unicase/u-is-invariant.h: New file.
44358         * modules/unicase/u8-is-invariant: New file.
44359
44360         Tests for module 'unicase/u32-casecoll'.
44361         * modules/unicase/u32-casecoll-tests: New file.
44362         * tests/unicase/test-u32-casecoll.c: New file.
44363
44364         Tests for module 'unicase/u16-casecoll'.
44365         * modules/unicase/u16-casecoll-tests: New file.
44366         * tests/unicase/test-u16-casecoll.c: New file.
44367
44368         Tests for module 'unicase/u8-casecoll'.
44369         * modules/unicase/u8-casecoll-tests: New file.
44370         * tests/unicase/test-u8-casecoll.c: New file.
44371
44372         New module 'unicase/u32-casecoll'.
44373         * lib/unicase/u32-casecoll.c: New file.
44374         * modules/unicase/u32-casecoll: New file.
44375
44376         New module 'unicase/u16-casecoll'.
44377         * lib/unicase/u16-casecoll.c: New file.
44378         * modules/unicase/u16-casecoll: New file.
44379
44380         New module 'unicase/u8-casecoll'.
44381         * lib/unicase/u8-casecoll.c: New file.
44382         * lib/unicase/u-casecoll.h: New file.
44383         * modules/unicase/u8-casecoll: New file.
44384
44385         New module 'unicase/u32-casexfrm'.
44386         * lib/unicase/u32-casexfrm.c: New file.
44387         * modules/unicase/u32-casexfrm: New file.
44388
44389         New module 'unicase/u16-casexfrm'.
44390         * lib/unicase/u16-casexfrm.c: New file.
44391         * modules/unicase/u16-casexfrm: New file.
44392
44393         New module 'unicase/u8-casexfrm'.
44394         * lib/unicase/u8-casexfrm.c: New file.
44395         * lib/unicase/u-casexfrm.h: New file.
44396         * modules/unicase/u8-casexfrm: New file.
44397
44398         Tests for module 'unicase/u32-casecmp'.
44399         * modules/unicase/u32-casecmp-tests: New file.
44400         * tests/unicase/test-u32-casecmp.c: New file.
44401
44402         Tests for module 'unicase/u16-casecmp'.
44403         * modules/unicase/u16-casecmp-tests: New file.
44404         * tests/unicase/test-u16-casecmp.c: New file.
44405
44406         Tests for module 'unicase/u8-casecmp'.
44407         * modules/unicase/u8-casecmp-tests: New file.
44408         * tests/unicase/test-u8-casecmp.c: New file.
44409         * tests/unicase/test-casecmp.h: New file.
44410
44411         New module 'unicase/u32-casecmp'.
44412         * lib/unicase/u32-casecmp.c: New file.
44413         * modules/unicase/u32-casecmp: New file.
44414
44415         New module 'unicase/u16-casecmp'.
44416         * lib/unicase/u16-casecmp.c: New file.
44417         * modules/unicase/u16-casecmp: New file.
44418
44419         New module 'unicase/u8-casecmp'.
44420         * lib/unicase/u8-casecmp.c: New file.
44421         * lib/unicase/u-casecmp.h: New file.
44422         * modules/unicase/u8-casecmp: New file.
44423
44424         Tests for module 'unicase/u32-casefold'.
44425         * modules/unicase/u32-casefold-tests: New file.
44426         * tests/unicase/test-u32-casefold.c: New file.
44427
44428         Tests for module 'unicase/u16-casefold'.
44429         * modules/unicase/u16-casefold-tests: New file.
44430         * tests/unicase/test-u16-casefold.c: New file.
44431
44432         Tests for module 'unicase/u8-casefold'.
44433         * modules/unicase/u8-casefold-tests: New file.
44434         * tests/unicase/test-u8-casefold.c: New file.
44435
44436         New module 'unicase/u32-casefold'.
44437         * lib/unicase/u32-casefold.c: New file.
44438         * modules/unicase/u32-casefold: New file.
44439
44440         New module 'unicase/u16-casefold'.
44441         * lib/unicase/u16-casefold.c: New file.
44442         * modules/unicase/u16-casefold: New file.
44443
44444         New module 'unicase/u8-casefold'.
44445         * lib/unicase/u8-casefold.c: New file.
44446         * lib/unicase/u-casefold.h: New file.
44447         * modules/unicase/u8-casefold: New file.
44448
44449         New module 'unicase/tocasefold'.
44450         * lib/unicase/casefold.h: New file.
44451         * lib/unicase/tocasefold.c: New file.
44452         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
44453         * modules/unicase/tocasefold: New file.
44454
44455         Tests for module 'unicase/u32-totitle'.
44456         * modules/unicase/u32-totitle-tests: New file.
44457         * tests/unicase/test-u32-totitle.c: New file.
44458
44459         Tests for module 'unicase/u16-totitle'.
44460         * modules/unicase/u16-totitle-tests: New file.
44461         * tests/unicase/test-u16-totitle.c: New file.
44462
44463         Tests for module 'unicase/u8-totitle'.
44464         * modules/unicase/u8-totitle-tests: New file.
44465         * tests/unicase/test-u8-totitle.c: New file.
44466
44467         New module 'unicase/u32-totitle'.
44468         * lib/unicase/u32-totitle.c: New file.
44469         * modules/unicase/u32-totitle: New file.
44470
44471         New module 'unicase/u16-totitle'.
44472         * lib/unicase/u16-totitle.c: New file.
44473         * modules/unicase/u16-totitle: New file.
44474
44475         New module 'unicase/u8-totitle'.
44476         * lib/unicase/u8-totitle.c: New file.
44477         * lib/unicase/u-totitle.h: New file.
44478         * modules/unicase/u8-totitle: New file.
44479
44480         Tests for module 'unicase/u32-tolower'.
44481         * modules/unicase/u32-tolower-tests: New file.
44482         * tests/unicase/test-u32-tolower.c: New file.
44483
44484         Tests for module 'unicase/u16-tolower'.
44485         * modules/unicase/u16-tolower-tests: New file.
44486         * tests/unicase/test-u16-tolower.c: New file.
44487
44488         Tests for module 'unicase/u8-tolower'.
44489         * modules/unicase/u8-tolower-tests: New file.
44490         * tests/unicase/test-u8-tolower.c: New file.
44491
44492         New module 'unicase/u32-tolower'.
44493         * lib/unicase/u32-tolower.c: New file.
44494         * modules/unicase/u32-tolower: New file.
44495
44496         New module 'unicase/u16-tolower'.
44497         * lib/unicase/u16-tolower.c: New file.
44498         * modules/unicase/u16-tolower: New file.
44499
44500         New module 'unicase/u8-tolower'.
44501         * lib/unicase/u8-tolower.c: New file.
44502         * modules/unicase/u8-tolower: New file.
44503
44504         Tests for module 'unicase/u32-toupper'.
44505         * modules/unicase/u32-toupper-tests: New file.
44506         * tests/unicase/test-u32-toupper.c: New file.
44507
44508         Tests for module 'unicase/u16-toupper'.
44509         * modules/unicase/u16-toupper-tests: New file.
44510         * tests/unicase/test-u16-toupper.c: New file.
44511
44512         Tests for module 'unicase/u8-toupper'.
44513         * modules/unicase/u8-toupper-tests: New file.
44514         * tests/unicase/test-u8-toupper.c: New file.
44515
44516         New module 'unicase/u32-toupper'.
44517         * lib/unicase/u32-toupper.c: New file.
44518         * modules/unicase/u32-toupper: New file.
44519
44520         New module 'unicase/u16-toupper'.
44521         * lib/unicase/u16-toupper.c: New file.
44522         * modules/unicase/u16-toupper: New file.
44523
44524         New module 'unicase/u8-toupper'.
44525         * lib/unicase/u8-toupper.c: New file.
44526         * modules/unicase/u8-toupper: New file.
44527
44528         New module 'unicase/u32-casemap'.
44529         * lib/unicase/u32-casemap.c: New file.
44530         * modules/unicase/u32-casemap: New file.
44531
44532         New module 'unicase/u16-casemap'.
44533         * lib/unicase/u16-casemap.c: New file.
44534         * modules/unicase/u16-casemap: New file.
44535
44536         New module 'unicase/u8-casemap'.
44537         * lib/unicase/unicasemap.h: New file.
44538         * lib/unicase/u8-casemap.c: New file.
44539         * lib/unicase/u-casemap.h: New file.
44540         * modules/unicase/u8-casemap: New file.
44541
44542         New module 'unicase/special-casing'.
44543         * lib/unicase/special-casing.h: New file.
44544         * lib/unicase/special-casing.c: New file.
44545         * lib/unicase/special-casing-table.gperf: New file, generated by
44546         gen-uni-tables.c.
44547         * modules/unicase/special-casing: New file.
44548
44549         Tests for module 'unicase/locale-language'.
44550         * modules/unicase/locale-language-tests: New file.
44551         * tests/unicase/test-locale-language.sh: New file.
44552         * tests/unicase/test-locale-language.c: New file.
44553
44554         New module 'unicase/locale-language'.
44555         * lib/unicase/locale-language.c: New file.
44556         * lib/unicase/locale-languages.gperf: New file.
44557         * modules/unicase/locale-language: New file.
44558
44559         Generate more tables for case conversion and case folding.
44560         * lib/gen-uni-tables.c (SCC_*): New enum items.
44561         (struct special_casing_rule): New type.
44562         (casing_rules, num_casing_rules, allocated_casing_rules): New
44563         variables.
44564         (add_casing_rule, fill_casing_rules): New functions.
44565         (struct casefold_rule): New type.
44566         (casefolding_rules, num_casefolding_rules,
44567         allocated_casefolding_rules): New variables.
44568         (fill_casefolding_rules): New function.
44569         (unicode_casefold): New variable.
44570         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
44571         sort_casing_rules, output_casing_rules): New functions.
44572         (main): Accept to more arguments: SpecialCasing.txt and
44573         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
44574         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
44575         Output mapping for casefolding.
44576
44577         * lib/unicase.h: Include stdbool.h, uninorm.h.
44578         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
44579         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
44580         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
44581         arguments.
44582         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
44583         resultp arguments.
44584         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
44585         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
44586         resultp arguments.
44587         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
44588         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
44589         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
44590         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
44591         declarations.
44592         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
44593
44594 2009-03-08  Bruno Haible  <bruno@clisp.org>
44595
44596         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44597         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
44598         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
44599         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44600
44601 2009-03-07  Bruno Haible  <bruno@clisp.org>
44602
44603         Adjust u*_normcmp, u*_normcoll API.
44604         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44605         u16_normcoll, u32_normcoll): Change failure conventions.
44606         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
44607         errno and return -1.
44608         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44609
44610 2009-03-07  Bruno Haible  <bruno@clisp.org>
44611
44612         Tests for module 'uninorm/u32-normcoll'.
44613         * modules/uninorm/u32-normcoll-tests: New file.
44614         * tests/uninorm/test-u32-normcoll.c: New file.
44615
44616         Tests for module 'uninorm/u16-normcoll'.
44617         * modules/uninorm/u16-normcoll-tests: New file.
44618         * tests/uninorm/test-u16-normcoll.c: New file.
44619
44620         Tests for module 'uninorm/u8-normcoll'.
44621         * modules/uninorm/u8-normcoll-tests: New file.
44622         * tests/uninorm/test-u8-normcoll.c: New file.
44623
44624 2009-03-07  Bruno Haible  <bruno@clisp.org>
44625
44626         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
44627         tests/uninorm/test-u32-normcmp.c.
44628         * tests/uninorm/test-u32-normcmp.c: Include it.
44629         (test_nonascii): New function, extracted from main. Add some more
44630         tests.
44631         (main): Invoke test_ascii and test_nonascii.
44632         * modules/uninorm/u32-normcmp-tests (Files): Add
44633         tests/uninorm/test-u32-normcmp.h.
44634         (Depends-on): Remove uninorm/u32-normcmp.
44635
44636         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
44637         tests/uninorm/test-u16-normcmp.c.
44638         * tests/uninorm/test-u16-normcmp.c: Include it.
44639         (test_nonascii): New function, extracted from main. Add some more
44640         tests.
44641         (main): Invoke test_ascii and test_nonascii.
44642         * modules/uninorm/u16-normcmp-tests (Files): Add
44643         tests/uninorm/test-u16-normcmp.h.
44644         (Depends-on): Remove uninorm/u16-normcmp.
44645
44646         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
44647         tests/uninorm/test-u8-normcmp.c.
44648         * tests/uninorm/test-u8-normcmp.c: Include it.
44649         (test_nonascii): New function, extracted from main. Add some more
44650         tests.
44651         (main): Invoke test_ascii and test_nonascii.
44652         * modules/uninorm/u8-normcmp-tests (Files): Add
44653         tests/uninorm/test-u8-normcmp.h.
44654         (Depends-on): Remove uninorm/u8-normcmp.
44655
44656 2009-03-07  Bruno Haible  <bruno@clisp.org>
44657
44658         New module 'uninorm/u32-normcoll'.
44659         * lib/uninorm/u32-normcoll.c: New file.
44660         * modules/uninorm/u32-normcoll: New file.
44661
44662         New module 'uninorm/u16-normcoll'.
44663         * lib/uninorm/u16-normcoll.c: New file.
44664         * modules/uninorm/u16-normcoll: New file.
44665
44666         New module 'uninorm/u8-normcoll'.
44667         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
44668         declarations.
44669         * lib/uninorm/u8-normcoll.c: New file.
44670         * lib/uninorm/u-normcoll.h: New file.
44671         * modules/uninorm/u8-normcoll: New file.
44672
44673         New module 'uninorm/u32-normxfrm'.
44674         * lib/uninorm/u32-normxfrm.c: New file.
44675         * modules/uninorm/u32-normxfrm: New file.
44676
44677         New module 'uninorm/u16-normxfrm'.
44678         * lib/uninorm/u16-normxfrm.c: New file.
44679         * modules/uninorm/u16-normxfrm: New file.
44680
44681         New module 'uninorm/u8-normxfrm'.
44682         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44683         declarations.
44684         * lib/uninorm/u8-normxfrm.c: New file.
44685         * lib/uninorm/u-normxfrm.h: New file.
44686         * modules/uninorm/u8-normxfrm: New file.
44687
44688 2009-03-07  Bruno Haible  <bruno@clisp.org>
44689
44690         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44691         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44692         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44693
44694 2009-03-07  Bruno Haible  <bruno@clisp.org>
44695
44696         New module 'memxfrm'.
44697         * lib/memxfrm.h: New file.
44698         * lib/memxfrm.c: New file.
44699         * modules/memxfrm: New file.
44700
44701 2009-03-07  Bruno Haible  <bruno@clisp.org>
44702
44703         New module 'memcmp2'.
44704         * lib/memcmp2.h: New file.
44705         * lib/memcmp2.c: New file.
44706         * modules/memcmp2: New file.
44707
44708 2009-03-07  Bruno Haible  <bruno@clisp.org>
44709
44710         Tests for module 'uninorm/decomposing-form'.
44711         * modules/uninorm/decomposing-form-tests: New file.
44712         * tests/uninorm/test-decomposing-form.c: New file.
44713
44714         New module 'uninorm/decomposing-form'.
44715         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44716         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44717         Add 'decomposing_variant' field.
44718         * lib/uninorm/decomposing-form.c: New file.
44719         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44720         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44721         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44722         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44723         * modules/uninorm/decomposing-form: New file.
44724         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44725         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44726
44727 2009-03-07  Bruno Haible  <bruno@clisp.org>
44728
44729         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44730         strings.
44731
44732 2009-03-06  Bruno Haible  <bruno@clisp.org>
44733
44734         Tests for module 'uninorm/u32-normcmp'.
44735         * tests/uninorm/test-u32-normcmp.c: New file.
44736         * modules/uninorm/u32-normcmp-tests: New file.
44737
44738         Tests for module 'uninorm/u16-normcmp'.
44739         * tests/uninorm/test-u16-normcmp.c: New file.
44740         * modules/uninorm/u16-normcmp-tests: New file.
44741
44742         Tests for module 'uninorm/u8-normcmp'.
44743         * tests/uninorm/test-u8-normcmp.c: New file.
44744         * modules/uninorm/u8-normcmp-tests: New file.
44745
44746         New module 'uninorm/u32-normcmp'.
44747         * lib/uninorm/u32-normcmp.c: New file.
44748         * modules/uninorm/u32-normcmp: New file.
44749
44750         New module 'uninorm/u16-normcmp'.
44751         * lib/uninorm/u16-normcmp.c: New file.
44752         * modules/uninorm/u16-normcmp: New file.
44753
44754         New module 'uninorm/u8-normcmp'.
44755         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44756         declarations.
44757         * lib/uninorm/u8-normcmp.c: New file.
44758         * lib/uninorm/u-normcmp.h: New file.
44759         * modules/uninorm/u8-normcmp: New file.
44760
44761 2009-03-06  Bruno Haible  <bruno@clisp.org>
44762
44763         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44764         Reported by Eric Blake.
44765
44766 2009-03-06  Eric Blake  <ebb9@byu.net>
44767             Bruno Haible  <bruno@clisp.org>
44768
44769         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44770         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44771         condition.
44772         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44773         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44774         condition.
44775         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44776
44777 2009-03-06  Eric Blake  <ebb9@byu.net>
44778
44779         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44780         to avoid compiler warnings.
44781         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44782
44783 2009-03-05  Bruno Haible  <bruno@clisp.org>
44784
44785         * tests/test-ftell.c (main): Disable test beyond end of file on
44786         FreeMiNT.
44787         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44788
44789 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44790
44791         * lib/filevercmp.c: Move hidden files up in ordering.
44792         * tests/test-filevercmp.c: Add tests for hidden files.
44793
44794 2009-03-04  Bruno Haible  <bruno@clisp.org>
44795
44796         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44797         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44798         AM_CFLAGS.
44799         Reported by Simon Josefsson.
44800
44801 2009-03-03  Bruno Haible  <bruno@clisp.org>
44802
44803         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44804         Reported by Simon Josefsson.
44805
44806         * doc/ld-version-script.texi: Update node reference.
44807
44808 2009-03-03  Bruno Haible  <bruno@clisp.org>
44809
44810         * modules/visibility (License): Change to 'unlimited'.
44811         Suggested by Simon Josefsson.
44812
44813 2009-03-03  Jim Meyering  <meyering@redhat.com>
44814
44815         unlinkdir: cannot_unlink_dir may modify process state
44816         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44817         it's neither thread-safe nor appropriate for use in a library.
44818
44819 2009-03-03  Eric Blake  <ebb9@byu.net>
44820
44821         test-closein: silence test under Darwin
44822         * tests/test-closein.sh: Ignore stderr from cat, since we don't
44823         care if it dies from EPIPE or EBADF.
44824
44825 2009-03-03  Bruno Haible  <bruno@clisp.org>
44826
44827         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
44828         earlier.
44829         * doc/visibility.texi: Fix @node and @section.
44830
44831 2009-03-03  Simon Josefsson  <simon@josefsson.org>
44832
44833         * doc/gnulib.texi: Link to sections for ld version script and
44834         visibility.
44835         * doc/visibility.texi: Add @node and @section.
44836         * modules/ld-version-script: New module.
44837         * m4/ld-version-script.m4: New file.
44838         * doc/ld-version-script.texi: New file.
44839
44840 2009-03-02  David Lutterkort  <lutter@redhat.com>
44841
44842         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
44843         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44844
44845 2009-03-02  Bruno Haible  <bruno@clisp.org>
44846
44847         * doc/visibility.texi: Mention libtool's -export-symbols option.
44848
44849 2009-03-02  Jim Meyering  <meyering@redhat.com>
44850
44851         announce-gen: new option: --no-print-checksums
44852         * build-aux/announce-gen (usage): Describe it.
44853         (print_checksums): Print a newline here, not in the [*] footnote.
44854         (main): Honor it.
44855
44856 2009-03-01  Bruno Haible  <bruno@clisp.org>
44857
44858         Use socklen_t in the native Windows replacements prototypes.
44859         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44860         instead of 'int'.
44861         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44862         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44863         * modules/getsockopt (Depends-on): Add socklen.
44864         * modules/setsockopt (Depends-on): Add socklen.
44865
44866 2009-03-01  Bruno Haible  <bruno@clisp.org>
44867
44868         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44869         least 4.2.
44870
44871 2009-03-01  Eric Blake  <ebb9@byu.net>
44872             Bruno Haible  <bruno@clisp.org>
44873
44874         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44875         error messages.
44876         * lib/wait-process.c (wait_subprocess): Omit error message about
44877         deadly signal sent to the child of termsigp != NULL.
44878
44879 2009-03-01  Eric Blake  <ebb9@byu.net>
44880
44881         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44882
44883 2009-03-01  Bruno Haible  <bruno@clisp.org>
44884
44885         Avoid a gcc warning.
44886         * tests/test-sched.c (b): Make global.
44887         Reported by Eric Blake.
44888
44889 2009-01-19  Martin Lambers  <marlam@marlam.de>
44890
44891         Provide POSIX semantics for socket timeout options on W32.
44892         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44893         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44894         * modules/setsockopt: Depend on sys_time module for struct timeval.
44895         * modules/getsockopt: Depend on sys_time module for struct timeval.
44896
44897 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44898
44899         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44900         __USE_GNU, for consistency with netdb.in.h.
44901         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44902
44903 2009-03-01  Bruno Haible  <bruno@clisp.org>
44904
44905         More support for FreeMiNT.
44906         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44907         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44908
44909 2009-03-01  Bruno Haible  <bruno@clisp.org>
44910
44911         More support for FreeMiNT.
44912         * lib/fpurge.c (fpurge): Correct last commit.
44913         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44914
44915 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44916
44917         Fix unportable awk script in vc-list-files.
44918         * build-aux/vc-list-files: In the replacement awk script, use
44919         substr with a second argument of 1, not zero.
44920         Report by Simon Josefsson.
44921
44922 2009-02-28  Bruno Haible  <bruno@clisp.org>
44923
44924         More support for FreeMiNT.
44925         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44926         to FreeMiNT today.
44927         * lib/fwriting.c (fwriting): Likewise.
44928         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44929
44930 2009-02-28  Bruno Haible  <bruno@clisp.org>
44931
44932         * tests/test-freadseek.c (main): Disable test beyond end of file on
44933         FreeMiNT.
44934         * tests/test-ftello.c (main): Likewise.
44935         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44936
44937 2009-02-28  Bruno Haible  <bruno@clisp.org>
44938
44939         Add tentative support for FreeMiNT.
44940         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44941         * lib/fpurge.c (fpurge): Likewise.
44942         * lib/freadable.c (freadable): Likewise.
44943         * lib/freading.c (freading): Likewise.
44944         * lib/freadptr.c (freadptr): Likewise.
44945         * lib/freadseek.c (freadptrinc): Likewise.
44946         * lib/fseeko.c (rpl_fseeko): Likewise.
44947         * lib/fseterr.c (fseterr): Likewise.
44948         * lib/fwritable.c (fwritable): Likewise.
44949         * lib/fwriting.c (fwriting): Likewise.
44950         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44951         Hourihane.
44952         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44953
44954 2009-02-28  Bruno Haible  <bruno@clisp.org>
44955
44956         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44957         SIGCHLD.
44958         Reported by Jim Meyering.
44959
44960 2009-02-28  Bruno Haible  <bruno@clisp.org>
44961
44962         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
44963         Mention the results of these tests on various platforms.
44964         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
44965         order.
44966         * doc/posix-functions/printf.texi: Likewise.
44967         * doc/posix-functions/snprintf.texi: Likewise.
44968         * doc/posix-functions/sprintf.texi: Likewise.
44969         * doc/posix-functions/vfprintf.texi: Likewise.
44970         * doc/posix-functions/vprintf.texi: Likewise.
44971         * doc/posix-functions/vsnprintf.texi: Likewise.
44972         * doc/posix-functions/vsprintf.texi: Likewise.
44973         * doc/glibc-functions/obstack_printf.texi: Likewise.
44974         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44975
44976 2009-02-28  Bruno Haible  <bruno@clisp.org>
44977
44978         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
44979         Reported by Loïc Minier <lool@dooz.org>.
44980
44981 2009-02-27  Bruno Haible  <bruno@clisp.org>
44982
44983         * gnulib-tool (func_import): Make the sed expression used to create the
44984         sed script for updating the .gitignore file POSIX compliant.
44985         Reported by Eric Blake.
44986
44987 2009-02-27  Bruno Haible  <bruno@clisp.org>
44988
44989         * gnulib-tool (sed): Don't alias as "sed --posix".
44990         Reported by Eric Blake.
44991
44992 2009-02-27  Bruno Haible  <bruno@clisp.org>
44993
44994         Avoid test link errors.
44995         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
44996         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
44997         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
44998         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
44999         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45000
45001 2009-02-27  Bruno Haible  <bruno@clisp.org>
45002
45003         Avoid spurious "(cached)" in configure output.
45004         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
45005         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
45006         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45007         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45008         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45009         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
45010         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45011         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
45012         Reported by Eric Blake.
45013
45014 2009-02-27  Eric Blake  <ebb9@byu.net>
45015
45016         printf: fix regression in previous patch
45017         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
45018
45019 2009-02-27  Bruno Haible  <bruno@clisp.org>
45020
45021         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
45022         value.
45023         * lib/stdint.in.h: Likewise.
45024         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
45025
45026 2009-02-27  Eric Blake  <ebb9@byu.net>
45027
45028         doc: mention more functions added in cygwin 1.7.0
45029         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
45030         addition.
45031         * doc/posix-functions/open_wmemstream.texi: Likewise.
45032         * doc/posix-functions/wcsnlen.texi: Likewise.
45033         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45034         * doc/posix-functions/wcstod.texi: Likewise.
45035         * doc/posix-functions/wcstof.texi: Likewise.
45036         * doc/posix-functions/wcstoimax.texi: Likewise.
45037         * doc/posix-functions/wcstok.texi: Likewise.
45038         * doc/posix-functions/wcstoumax.texi: Likewise.
45039
45040         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
45041         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
45042         * doc/posix-functions/fprintf.texi: Update.
45043         * doc/posix-functions/printf.texi: Update.
45044         * doc/posix-functions/snprintf.texi: Update.
45045         * doc/posix-functions/sprintf.texi: Update.
45046         * doc/posix-functions/vfprintf.texi: Update.
45047         * doc/posix-functions/vprintf.texi: Update.
45048         * doc/posix-functions/vsnprintf.texi: Update.
45049         * doc/posix-functions/vsprintf.texi: Update.
45050         * doc/glibc-functions/obstack_printf.texi: Update.
45051         * doc/glibc-functions/obstack_vprintf.texi: Update.
45052
45053 2009-02-26  Eric Blake  <ebb9@byu.net>
45054
45055         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
45056         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
45057         compilation bug by using runtime conversion.
45058         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
45059         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
45060         * modules/ceill-tests (Files): Use nan.h.
45061         * modules/floorl-tests (Files): Likewise.
45062         * modules/frexpl-tests (Files): Likewise.
45063         * modules/isnanl-tests (Files): Likewise.
45064         * modules/ldexpl-tests (Files): Likewise.
45065         * modules/roundl-tests (Files): Likewise.
45066         * modules/truncl-tests (Files): Likewise.
45067         * tests/test-ceill.c (main): Use a working NaN.
45068         * tests/test-floorl.c (main): Likewise.
45069         * tests/test-frexpl.c (main): Likewise.
45070         * tests/test-isnan.c (test_long_double): Likewise.
45071         * tests/test-isnanl.h (main): Likewise.
45072         * tests/test-ldexpl.h (main): Likewise.
45073         * tests/test-roundl.h (main): Likewise.
45074         * tests/test-truncl.h (main): Likewise.
45075         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
45076
45077 2009-02-26  Eric Blake  <ebb9@byu.net>
45078             Bruno Haible  <bruno@clisp.org>
45079
45080         Work around a *printf bug with %ls on Solaris.
45081         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
45082         precision is specified, sprintf stops converting the wide string
45083         argument when the number of bytes that have been produced by this
45084         conversion equals or exceeds the precision.
45085         * doc/posix-functions/fprintf.texi: Update.
45086         * doc/posix-functions/printf.texi: Update.
45087         * doc/posix-functions/snprintf.texi: Update.
45088         * doc/posix-functions/sprintf.texi: Update.
45089         * doc/posix-functions/vfprintf.texi: Update.
45090         * doc/posix-functions/vprintf.texi: Update.
45091         * doc/posix-functions/vsnprintf.texi: Update.
45092         * doc/posix-functions/vsprintf.texi: Update.
45093         * doc/glibc-functions/obstack_printf.texi: Update.
45094         * doc/glibc-functions/obstack_vprintf.texi: Update.
45095
45096 2009-02-26  Eric Blake  <ebb9@byu.net>
45097
45098         stdlib: favor compiler check of random.h
45099         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
45100         to avoid an ObjC random.h installed by Swarm.
45101
45102 2009-02-26  Bruno Haible  <bruno@clisp.org>
45103
45104         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
45105         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
45106         Reported by Gary V. Vaughan <gary@gnu.org>.
45107
45108 2009-02-26  Bruno Haible  <bruno@clisp.org>
45109
45110         Fix *printf behaviour regarding the %ls directive.
45111         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
45112         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
45113         NEED_PRINTF_DIRECTIVE_LS.
45114         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
45115         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45116         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45117         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
45118         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
45119         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
45120         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
45121         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45122         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45123         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45124         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45125         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
45126         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45127         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45128         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45129         * doc/posix-functions/fprintf.texi: Update.
45130         * doc/posix-functions/printf.texi: Update.
45131         * doc/posix-functions/snprintf.texi: Update.
45132         * doc/posix-functions/sprintf.texi: Update.
45133         * doc/posix-functions/vfprintf.texi: Update.
45134         * doc/posix-functions/vprintf.texi: Update.
45135         * doc/posix-functions/vsnprintf.texi: Update.
45136         * doc/posix-functions/vsprintf.texi: Update.
45137         * doc/glibc-functions/obstack_printf.texi: Update.
45138         * doc/glibc-functions/obstack_vprintf.texi: Update.
45139         Reported by Eric Blake.
45140
45141 2009-02-25  Bruno Haible  <bruno@clisp.org>
45142
45143         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
45144         with known value.
45145         Reported by Gary V. Vaughan <gary@gnu.org>.
45146
45147 2009-02-25  Bruno Haible  <bruno@clisp.org>
45148
45149         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
45150         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
45151         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
45152         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
45153         Reported by Gary V. Vaughan <gary@gnu.org>.
45154
45155 2009-02-25  Bruno Haible  <bruno@clisp.org>
45156
45157         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
45158         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
45159         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
45160         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
45161         Reported by Gary V. Vaughan <gary@gnu.org>.
45162
45163 2009-02-25  Eric Blake  <ebb9@byu.net>
45164
45165         tests: skip fseek/ftell tests if ungetc is broken
45166         * m4/ungetc.m4: New file.
45167         * modules/fseek-tests: Split test, so ungetc dependency is
45168         separate from rest of test.
45169         * modules/fseeko-tests: Likewise.
45170         * modules/ftell-tests: Likewise.
45171         * modules/ftello-tests: Likewise.
45172         * tests/test-fseek.c (main): Isolate ungetc dependency.
45173         * tests/test-fseeko.c (main): Likewise.
45174         * tests/test-ftell.c (main): Likewise.
45175         * tests/test-ftello.c (main): Likewise.
45176         * tests/test-fseek2.sh: New file.
45177         * tests/test-fseeko2.sh: Likewise.
45178         * tests/test-ftell2.sh: Likewise.
45179         * tests/test-ftello2.sh: Likewise.
45180
45181 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
45182
45183         test-getaddrinfo: fix usage of skip return code 77
45184         * tests/test-gettaddrinfo.c: Return skip code 77 only
45185         for first occurance of skip (4x77 is not 77)
45186
45187 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
45188
45189         strtod: avoid C99 decl-after-statement
45190         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
45191
45192 2009-02-24  Eric Blake  <ebb9@byu.net>
45193
45194         strtod: detect HP-UX 11.31 bug
45195         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
45196         Reported by Gary V. Vaughan.
45197
45198 2009-02-23  Bruno Haible  <bruno@clisp.org>
45199
45200         Fix invalid read past end of memory block.
45201         * lib/vasnprintf.c (DCHAR_SET): Define.
45202         (local_wcslen): Define only when needed.
45203         (local_strnlen, local_wcsnlen): New functions.
45204         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
45205         directives that involve a conversion ourselves.
45206         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
45207         wcsnlen, mbrtowc, wcrtomb.
45208         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
45209         * tests/test-vasprintf-posix.c (test_function): Likewise.
45210         * tests/test-snprintf-posix.h (test_function): Likewise.
45211         * tests/test-sprintf-posix.h (test_function): Likewise.
45212         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45213
45214 2009-02-22  Bruno Haible  <bruno@clisp.org>
45215
45216         Implement new clarified decomposition of Hangul syllables.
45217         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
45218         of type LTV, return only a pairwise decomposition.
45219         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
45220         Likewise.
45221         * tests/uninorm/test-decomposition.c (main): Updated expected result.
45222         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
45223         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
45224
45225 2009-02-22  Bruno Haible  <bruno@clisp.org>
45226
45227         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
45228         zero-length results and shrink excess allocated memory.
45229         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
45230         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
45231         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
45232         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
45233         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
45234         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
45235         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
45236         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
45237         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
45238         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
45239         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
45240         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
45241
45242 2009-02-21  Bruno Haible  <bruno@clisp.org>
45243
45244         * doc/gnulib.texi: Include safe-alloc.texi earlier.
45245         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
45246         spaces after a period. Put a space between a macro name and its
45247         argument list. Trivial rewordings.
45248         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
45249         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
45250         (main): Return 0 explicitly.
45251
45252 2009-02-21  Bruno Haible  <bruno@clisp.org>
45253
45254         Tests for module 'uninorm/filter'.
45255         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
45256         * modules/uninorm/filter-tests: New file.
45257
45258         New module 'uninorm/filter'.
45259         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
45260         uninorm_filter_flush, uninorm_filter_free): New declarations.
45261         * lib/uninorm/uninorm-filter.c: New file.
45262         * modules/uninorm/filter: New file.
45263
45264 2009-02-21  Bruno Haible  <bruno@clisp.org>
45265
45266         Tests for module 'uninorm/nfkc'.
45267         * tests/uninorm/test-nfkc.c: New file.
45268         * tests/uninorm/test-u8-nfkc.c: New file.
45269         * tests/uninorm/test-u16-nfkc.c: New file.
45270         * tests/uninorm/test-u32-nfkc.c: New file.
45271         * tests/uninorm/test-u32-nfkc-big.sh: New file.
45272         * tests/uninorm/test-u32-nfkc-big.c: New file.
45273         * modules/uninorm/nfkc-tests: New file.
45274
45275         New module 'uninorm/nfkc'.
45276         * lib/uninorm/nfkc.c: New file.
45277         * modules/uninorm/nfkc: New file.
45278
45279         Tests for module 'uninorm/nfkd'.
45280         * tests/uninorm/test-nfkd.c: New file.
45281         * tests/uninorm/test-u8-nfkd.c: New file.
45282         * tests/uninorm/test-u16-nfkd.c: New file.
45283         * tests/uninorm/test-u32-nfkd.c: New file.
45284         * tests/uninorm/test-u32-nfkd-big.sh: New file.
45285         * tests/uninorm/test-u32-nfkd-big.c: New file.
45286         * modules/uninorm/nfkd-tests: New file.
45287
45288         New module 'uninorm/nfkd'.
45289         * lib/uninorm/nfkd.c: New file.
45290         * modules/uninorm/nfkd: New file.
45291
45292         Tests for module 'uninorm/nfc'.
45293         * tests/uninorm/test-nfc.c: New file.
45294         * tests/uninorm/test-u8-nfc.c: New file.
45295         * tests/uninorm/test-u16-nfc.c: New file.
45296         * tests/uninorm/test-u32-nfc.c: New file.
45297         * tests/uninorm/test-u32-nfc-big.sh: New file.
45298         * tests/uninorm/test-u32-nfc-big.c: New file.
45299         * modules/uninorm/nfc-tests: New file.
45300
45301         New module 'uninorm/nfc'.
45302         * lib/uninorm/nfc.c: New file.
45303         * modules/uninorm/nfc: New file.
45304
45305         Tests for module 'uninorm/nfd'.
45306         * tests/uninorm/test-nfd.c: New file.
45307         * tests/uninorm/test-u8-nfd.c: New file.
45308         * tests/uninorm/test-u16-nfd.c: New file.
45309         * tests/uninorm/test-u32-nfd.c: New file.
45310         * tests/uninorm/test-u32-nfd-big.sh: New file.
45311         * tests/uninorm/test-u32-nfd-big.c: New file.
45312         * tests/uninorm/test-u32-normalize-big.h: New file.
45313         * tests/uninorm/test-u32-normalize-big.c: New file.
45314         * tests/uninorm/NormalizationTest.txt: New file, created from
45315         Unicode 5.1.0 NormalizationTest.txt.
45316         * modules/uninorm/nfd-tests: New file.
45317
45318         New module 'uninorm/nfd'.
45319         * lib/uninorm/nfd.c: New file.
45320         * modules/uninorm/nfd: New file.
45321
45322         New module 'uninorm/u32-normalize'.
45323         * lib/uninorm/u32-normalize.c: New file.
45324         * modules/uninorm/u32-normalize: New file.
45325
45326         New module 'uninorm/u16-normalize'.
45327         * lib/uninorm/u16-normalize.c: New file.
45328         * modules/uninorm/u16-normalize: New file.
45329
45330         New module 'uninorm/u8-normalize'.
45331         * lib/uninorm/u8-normalize.c: New file.
45332         * lib/uninorm/normalize-internal.h: New file.
45333         * lib/uninorm/u-normalize-internal.h: New file.
45334         * modules/uninorm/u8-normalize: New file.
45335
45336         New module 'uninorm/decompose-internal'.
45337         * lib/uninorm/decompose-internal.c: New file.
45338         * modules/uninorm/decompose-internal: New file.
45339
45340         Tests for module 'uninorm/composition'.
45341         * tests/uninorm/test-composition.c: New file.
45342         * modules/uninorm/composition-tests: New file.
45343
45344         New module 'uninorm/composition'.
45345         * lib/uninorm/composition.c: New file.
45346         * lib/uninorm/composition-table.gperf: New file, generated by
45347         gen-uni-tables.
45348         * modules/uninorm/composition: New file.
45349
45350         Tests for module 'uninorm/compat-decomposition'.
45351         * tests/uninorm/test-compat-decomposition.c: New file.
45352         * modules/uninorm/compat-decomposition-tests: New file.
45353
45354         New module 'uninorm/compat-decomposition'.
45355         * lib/uninorm/decompose-internal.h: New file.
45356         * lib/uninorm/compat-decomposition.c: New file.
45357         * modules/uninorm/compat-decomposition: New file.
45358
45359         Tests for module 'uninorm/canonical-decomposition'.
45360         * tests/uninorm/test-canonical-decomposition.c: New file.
45361         * modules/uninorm/canonical-decomposition-tests: New file.
45362
45363         New module 'uninorm/canonical-decomposition'.
45364         * lib/uninorm/canonical-decomposition.c: New file.
45365         * modules/uninorm/canonical-decomposition: New file.
45366
45367         Tests for module 'uninorm/decomposition'.
45368         * tests/uninorm/test-decomposition.c: New file.
45369         * modules/uninorm/decomposition-tests: New file.
45370
45371         New module 'uninorm/decomposition'.
45372         * lib/uninorm/decomposition.c: New file.
45373         * modules/uninorm/decomposition: New file.
45374
45375         New module 'uninorm/decomposition-table'.
45376         * lib/uninorm/decomposition-table.h: New file.
45377         * lib/uninorm/decomposition-table.c: New file.
45378         * lib/uninorm/decomposition-table1.h: New file, generated by
45379         gen-uni-tables.
45380         * lib/uninorm/decomposition-table2.h: New file, generated by
45381         gen-uni-tables.
45382         * modules/uninorm/decomposition-table: New file.
45383
45384         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
45385         (UC_DECOMP_*): New enumeration items.
45386         (get_decomposition): New function.
45387         (struct decomp_table): New type.
45388         (output_decomposition, output_decomposition_tables): New functions.
45389         (unicode_composition_exclusions): New variable.
45390         (fill_composition_exclusions, debug_output_composition_tables): New
45391         functions.
45392         (main): Accept one more argument. Invoke fill_composition_exclusions.
45393         Output decomposition and composition tables.
45394
45395         New module 'uninorm/base'.
45396         * lib/uninorm.h: New file.
45397         * lib/unictype.h: Update comment.
45398         * modules/uninorm/base: New file.
45399
45400 2009-02-21  David Lutterkort  <lutter@redhat.com>
45401
45402         Tests for module 'safe-alloc'.
45403         * tests/test-safe-alloc.c: New file.
45404         * modules/safe-alloc-tests: New file.
45405
45406         New module 'safe-alloc'.
45407         * lib/safe-alloc.h: New file.
45408         * lib/safe-alloc.c: New file.
45409         * m4/safe-alloc.m4: New file.
45410         * modules/safe-alloc: New file.
45411         * doc/safe-alloc.texi: New file.
45412         * doc/gnulib.texi: Include it.
45413         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
45414         safe-alloc.
45415
45416 2009-02-18  Bruno Haible  <bruno@clisp.org>
45417
45418         Fix link error on non-glibc systems.
45419         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
45420         variable.
45421         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45422
45423 2009-02-18  Jim Meyering  <meyering@redhat.com>
45424
45425         fts: avoid used-uninitialized error due to recent change
45426         * lib/fts.c (fts_read): Guard uses of the new member,
45427         parent->fts_n_dirs_remaining, since it's not relevant for
45428         the parent of a directory specified on the command-line.
45429
45430 2009-02-17  James Youngman  <jay@gnu.org>
45431             Bruno Haible  <bruno@clisp.org>
45432
45433         * m4/include_next.m4: Reformulate comment.
45434
45435 2009-02-16  Jim Meyering  <meyering@redhat.com>
45436
45437         fts: add #if guards so that the fts_lgpl module still builds
45438         * lib/fts.c: Guard just-added hash-table-using parts with
45439         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
45440         Reported by Simon Josefsson.
45441
45442 2009-02-15  Bruno Haible  <bruno@clisp.org>
45443
45444         * modules/array-mergesort-tests: New file.
45445         * tests/test-array-mergesort.c: New file.
45446
45447         New module 'array-mergesort'.
45448         * modules/array-mergesort: New file.
45449         * lib/array-mergesort.h: New file.
45450
45451 2009-02-15  Bruno Haible  <bruno@clisp.org>
45452
45453         Fix 2009-02-07 commit.
45454         * lib/gen-uni-tables.c (output_predicate, output_category,
45455         output_combclass, output_bidi_category, output_decimal_digit,
45456         output_digit, output_numeric, output_mirror, output_scripts,
45457         output_ident_category, output_simple_mapping): Fix format directives.
45458         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
45459
45460 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
45461
45462         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
45463         fixes are available from IBM.
45464
45465 2009-02-13  Jim Meyering  <meyering@redhat.com>
45466
45467         fts: arrange not to stat non-directories in more cases
45468         This makes GNU find (when it doesn't need to stat each file)
45469         *much* more efficient at traversing reiserfs file systems.
45470         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
45471         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
45472         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
45473         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
45474         (leaf_optimization_applies): New function.
45475         (LCO_hash, LCO_compare): New helper functions.
45476         (link_count_optimize_ok): New function.
45477         (fts_stat): Initialize new member (if dir).
45478         (fts_read): Decrement parent's fts_n_dirs_remaining count if
45479         we've just stat'ed a directory.  Skip the stat call when possible.
45480         ---
45481         Note this AFS-related exchange:
45482         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
45483         and note find's pioctl call in find/fstype.c.
45484         But that is necessary only if you want to enable the
45485         optimization for AFS, and for now, I don't.
45486
45487         fts: move a function definition "up" (no semantic change)
45488         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
45489         "up" to precede upcoming use of a related function.
45490
45491 2009-02-11  Jim Meyering  <meyering@redhat.com>
45492
45493         fts: correct internal computation of nlinks (optimization-related)
45494         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
45495         whether the current entry is a directory, so don't test it.
45496
45497 2009-02-10  Bruno Haible  <bruno@clisp.org>
45498
45499         Tests for module 'uniwbrk/ulc-wordbreaks'.
45500         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
45501         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
45502         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
45503
45504         Tests for module 'uniwbrk/u32-wordbreaks'.
45505         * modules/uniwbrk/u32-wordbreaks-tests: New file.
45506         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
45507
45508         Tests for module 'uniwbrk/u16-wordbreaks'.
45509         * modules/uniwbrk/u16-wordbreaks-tests: New file.
45510         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
45511
45512         Tests for module 'uniwbrk/u8-wordbreaks'.
45513         * modules/uniwbrk/u8-wordbreaks-tests: New file.
45514         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
45515
45516 2009-02-10  Bruno Haible  <bruno@clisp.org>
45517
45518         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
45519         property.
45520         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
45521         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
45522         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
45523
45524 2009-02-10  Simon Josefsson  <simon@josefsson.org>
45525
45526         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
45527         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
45528
45529 2009-02-10  Bruno Haible  <bruno@clisp.org>
45530
45531         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
45532         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
45533         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
45534         * lib/unilbrk/u8-possible-linebreaks.c: Update.
45535         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
45536         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
45537
45538 2009-02-09  Simon Josefsson  <simon@josefsson.org>
45539
45540         * lib/sockets.h (gl_fd_to_handle): New function.
45541
45542         * tests/test-sockets.c: Call gl_fd_to_handle.
45543
45544 2009-02-09  Bruno Haible  <bruno@clisp.org>
45545
45546         * doc/havelib.texi: Document the conventions on bi-arch systems.
45547
45548 2009-02-08  Bruno Haible  <bruno@clisp.org>
45549
45550         Document the AC_LIB_LINKFLAGS macro.
45551         * doc/havelib.texi: New file, mostly written on 2005-05-24.
45552         * doc/gnulib.texi: Include it.
45553
45554 2009-02-08  Bruno Haible  <bruno@clisp.org>
45555
45556         Fix wrong order of sections, compared to TOC.
45557         * doc/gnulib.texi: Include relocatable-maint.texi after the
45558         "Regular expressions" node, not before.
45559
45560 2009-02-08  Bruno Haible  <bruno@clisp.org>
45561
45562         Tests for module 'unicase/totitle'.
45563         * modules/unicase/totitle-tests: New file.
45564
45565         Tests for module 'unicase/tolower'.
45566         * modules/unicase/tolower-tests: New file.
45567
45568         Tests for module 'unicase/toupper'.
45569         * modules/unicase/toupper-tests: New file.
45570         * tests/unicase/test-mapping-part1.h: New file.
45571         * tests/unicase/test-mapping-part2.h: New file.
45572
45573         New module 'unicase/totitle'.
45574         * modules/unicase/totitle: New file.
45575         * lib/unicase/totitle.c: New file.
45576
45577         New module 'unicase/tolower'.
45578         * modules/unicase/tolower: New file.
45579         * lib/unicase/tolower.c: New file.
45580
45581         New module 'unicase/toupper'.
45582         * modules/unicase/toupper: New file.
45583         * lib/unicase/toupper.c: New file.
45584         * lib/unicase/simple-mapping.h: New file.
45585
45586         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
45587         (mapping_table): New structure.
45588         (output_simple_mapping): New function.
45589         (main): Invoke output_simple_mapping_test and output_simple_mapping.
45590         * modules/gen-uni-tables (Description): Update.
45591         * lib/unicase/toupper.h: New file, automatically generated by
45592         gen-uni-tables.
45593         * lib/unicase/tolower.h: New file, automatically generated by
45594         gen-uni-tables.
45595         * lib/unicase/totitle.h: New file, automatically generated by
45596         gen-uni-tables.
45597         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
45598         gen-uni-tables.
45599         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
45600         gen-uni-tables.
45601         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
45602         gen-uni-tables.
45603
45604         New module 'unicase/base'.
45605         * modules/unicase/base: New file.
45606         * lib/unicase.h: New file.
45607
45608 2009-02-08  Bruno Haible  <bruno@clisp.org>
45609
45610         New module 'uniwbrk/ulc-wordbreaks'.
45611         * modules/uniwbrk/ulc-wordbreaks: New file.
45612         * lib/uniwbrk/ulc-wordbreaks.c: New file.
45613
45614         New module 'uniwbrk/u32-wordbreaks'.
45615         * modules/uniwbrk/u32-wordbreaks: New file.
45616         * lib/uniwbrk/u32-wordbreaks.c: New file.
45617
45618         New module 'uniwbrk/u16-wordbreaks'.
45619         * modules/uniwbrk/u16-wordbreaks: New file.
45620         * lib/uniwbrk/u16-wordbreaks.c: New file.
45621
45622         New module 'uniwbrk/u8-wordbreaks'.
45623         * modules/uniwbrk/u8-wordbreaks: New file.
45624         * lib/uniwbrk/u8-wordbreaks.c: New file.
45625         * lib/uniwbrk/u-wordbreaks.h: New file.
45626
45627         New module 'uniwbrk/table'.
45628         * modules/uniwbrk/table: New file.
45629         * lib/uniwbrk/wbrktable.h: New file.
45630         * lib/uniwbrk/wbrktable.c: New file.
45631
45632         New module 'uniwbrk/wordbreak-property'.
45633         * modules/uniwbrk/wordbreak-property: New file.
45634         * lib/uniwbrk/wordbreak-property.c: New file.
45635
45636         * lib/gen-uni-tables.c (WBP_*): New enum items.
45637         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
45638         (unicode_org_wbp): New variable.
45639         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
45640         New functions.
45641         (wbp_table): New structure.
45642         (output_wbp, output_wbrk_tables): New functions.
45643         (main): Accept additional argument. Invoke fill_org_wbp,
45644         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
45645         output_wbrk_tables.
45646         * modules/gen-uni-tables (Description): Update.
45647         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
45648         gen-uni-tables.
45649
45650         New module 'uniwbrk/base'.
45651         * modules/uniwbrk/base: New file.
45652         * lib/uniwbrk.h: New file.
45653
45654 2009-02-08  Bruno Haible  <bruno@clisp.org>
45655
45656         Update to Unicode 5.1.0.
45657         * lib/gen-uni-tables.c (is_property_alphabetic): Include
45658         U+2185..U+2188.
45659         (is_property_default_ignorable_code_point): Don't include characters
45660         of category Cc or Cs and not-a-characters.
45661         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
45662         U+0D79, U+109E, U+109F, U+A60C.
45663         * lib/unictype/bidi_of.h: Regenerated.
45664         * lib/unictype/blocks.h: Regenerated.
45665         * lib/unictype/categ_C.h: Regenerated.
45666         * lib/unictype/categ_Cf.h: Regenerated.
45667         * lib/unictype/categ_Cn.h: Regenerated.
45668         * lib/unictype/categ_L.h: Regenerated.
45669         * lib/unictype/categ_Ll.h: Regenerated.
45670         * lib/unictype/categ_Lm.h: Regenerated.
45671         * lib/unictype/categ_Lo.h: Regenerated.
45672         * lib/unictype/categ_Lu.h: Regenerated.
45673         * lib/unictype/categ_M.h: Regenerated.
45674         * lib/unictype/categ_Mc.h: Regenerated.
45675         * lib/unictype/categ_Me.h: Regenerated.
45676         * lib/unictype/categ_Mn.h: Regenerated.
45677         * lib/unictype/categ_N.h: Regenerated.
45678         * lib/unictype/categ_Nd.h: Regenerated.
45679         * lib/unictype/categ_Nl.h: Regenerated.
45680         * lib/unictype/categ_No.h: Regenerated.
45681         * lib/unictype/categ_P.h: Regenerated.
45682         * lib/unictype/categ_Pd.h: Regenerated.
45683         * lib/unictype/categ_Pe.h: Regenerated.
45684         * lib/unictype/categ_Pf.h: Regenerated.
45685         * lib/unictype/categ_Pi.h: Regenerated.
45686         * lib/unictype/categ_Po.h: Regenerated.
45687         * lib/unictype/categ_Ps.h: Regenerated.
45688         * lib/unictype/categ_S.h: Regenerated.
45689         * lib/unictype/categ_Sk.h: Regenerated.
45690         * lib/unictype/categ_Sm.h: Regenerated.
45691         * lib/unictype/categ_So.h: Regenerated.
45692         * lib/unictype/categ_of.h: Regenerated.
45693         * lib/unictype/combining.h: Regenerated.
45694         * lib/unictype/ctype_alnum.h: Regenerated.
45695         * lib/unictype/ctype_alpha.h: Regenerated.
45696         * lib/unictype/ctype_graph.h: Regenerated.
45697         * lib/unictype/ctype_lower.h: Regenerated.
45698         * lib/unictype/ctype_print.h: Regenerated.
45699         * lib/unictype/ctype_punct.h: Regenerated.
45700         * lib/unictype/ctype_upper.h: Regenerated.
45701         * lib/unictype/decdigit.h: Regenerated.
45702         * lib/unictype/digit.h: Regenerated.
45703         * lib/unictype/mirror.h: Regenerated.
45704         * lib/unictype/numeric.h: Regenerated.
45705         * lib/unictype/pr_alphabetic.h: Regenerated.
45706         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45707         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45708         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45709         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45710         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45711         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45712         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45713         * lib/unictype/pr_combining.h: Regenerated.
45714         * lib/unictype/pr_dash.h: Regenerated.
45715         * lib/unictype/pr_decimal_digit.h: Regenerated.
45716         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45717         * lib/unictype/pr_deprecated.h: Regenerated.
45718         * lib/unictype/pr_diacritic.h: Regenerated.
45719         * lib/unictype/pr_extender.h: Regenerated.
45720         * lib/unictype/pr_format_control.h: Regenerated.
45721         * lib/unictype/pr_grapheme_base.h: Regenerated.
45722         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45723         * lib/unictype/pr_grapheme_link.h: Regenerated.
45724         * lib/unictype/pr_id_continue.h: Regenerated.
45725         * lib/unictype/pr_id_start.h: Regenerated.
45726         * lib/unictype/pr_ideographic.h: Regenerated.
45727         * lib/unictype/pr_ignorable_control.h: Regenerated.
45728         * lib/unictype/pr_lowercase.h: Regenerated.
45729         * lib/unictype/pr_math.h: Regenerated.
45730         * lib/unictype/pr_numeric.h: Regenerated.
45731         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45732         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45733         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45734         * lib/unictype/pr_other_id_continue.h: Regenerated.
45735         * lib/unictype/pr_other_lowercase.h: Regenerated.
45736         * lib/unictype/pr_other_math.h: Regenerated.
45737         * lib/unictype/pr_punctuation.h: Regenerated.
45738         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45739         * lib/unictype/pr_soft_dotted.h: Regenerated.
45740         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45741         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45742         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45743         * lib/unictype/pr_uppercase.h: Regenerated.
45744         * lib/unictype/pr_xid_continue.h: Regenerated.
45745         * lib/unictype/pr_xid_start.h: Regenerated.
45746         * lib/unictype/pr_zero_width.h: Regenerated.
45747         * lib/unictype/scripts.h: Regenerated.
45748         * lib/unictype/scripts_byname.gperf: Regenerated.
45749         * lib/unictype/sy_java_ident.h: Regenerated.
45750         * lib/unilbrk/lbrkprop1.h: Regenerated.
45751         * lib/unilbrk/lbrkprop2.h: Regenerated.
45752         * tests/unictype/test-categ_C.c: Regenerated.
45753         * tests/unictype/test-categ_Cf.c: Regenerated.
45754         * tests/unictype/test-categ_Cn.c: Regenerated.
45755         * tests/unictype/test-categ_L.c: Regenerated.
45756         * tests/unictype/test-categ_Ll.c: Regenerated.
45757         * tests/unictype/test-categ_Lm.c: Regenerated.
45758         * tests/unictype/test-categ_Lo.c: Regenerated.
45759         * tests/unictype/test-categ_Lu.c: Regenerated.
45760         * tests/unictype/test-categ_M.c: Regenerated.
45761         * tests/unictype/test-categ_Mc.c: Regenerated.
45762         * tests/unictype/test-categ_Me.c: Regenerated.
45763         * tests/unictype/test-categ_Mn.c: Regenerated.
45764         * tests/unictype/test-categ_N.c: Regenerated.
45765         * tests/unictype/test-categ_Nd.c: Regenerated.
45766         * tests/unictype/test-categ_Nl.c: Regenerated.
45767         * tests/unictype/test-categ_No.c: Regenerated.
45768         * tests/unictype/test-categ_P.c: Regenerated.
45769         * tests/unictype/test-categ_Pd.c: Regenerated.
45770         * tests/unictype/test-categ_Pe.c: Regenerated.
45771         * tests/unictype/test-categ_Pf.c: Regenerated.
45772         * tests/unictype/test-categ_Pi.c: Regenerated.
45773         * tests/unictype/test-categ_Po.c: Regenerated.
45774         * tests/unictype/test-categ_Ps.c: Regenerated.
45775         * tests/unictype/test-categ_S.c: Regenerated.
45776         * tests/unictype/test-categ_Sk.c: Regenerated.
45777         * tests/unictype/test-categ_Sm.c: Regenerated.
45778         * tests/unictype/test-categ_So.c: Regenerated.
45779         * tests/unictype/test-ctype_alnum.c: Regenerated.
45780         * tests/unictype/test-ctype_alpha.c: Regenerated.
45781         * tests/unictype/test-ctype_graph.c: Regenerated.
45782         * tests/unictype/test-ctype_lower.c: Regenerated.
45783         * tests/unictype/test-ctype_print.c: Regenerated.
45784         * tests/unictype/test-ctype_punct.c: Regenerated.
45785         * tests/unictype/test-ctype_upper.c: Regenerated.
45786         * tests/unictype/test-decdigit.h: Regenerated.
45787         * tests/unictype/test-digit.h: Regenerated.
45788         * tests/unictype/test-numeric.h: Regenerated.
45789         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45790         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45791         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45792         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45793         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45794         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45795         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45796         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45797         * tests/unictype/test-pr_combining.c: Regenerated.
45798         * tests/unictype/test-pr_dash.c: Regenerated.
45799         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45800         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45801         * tests/unictype/test-pr_deprecated.c: Regenerated.
45802         * tests/unictype/test-pr_diacritic.c: Regenerated.
45803         * tests/unictype/test-pr_extender.c: Regenerated.
45804         * tests/unictype/test-pr_format_control.c: Regenerated.
45805         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45806         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45807         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45808         * tests/unictype/test-pr_id_continue.c: Regenerated.
45809         * tests/unictype/test-pr_id_start.c: Regenerated.
45810         * tests/unictype/test-pr_ideographic.c: Regenerated.
45811         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45812         * tests/unictype/test-pr_lowercase.c: Regenerated.
45813         * tests/unictype/test-pr_math.c: Regenerated.
45814         * tests/unictype/test-pr_numeric.c: Regenerated.
45815         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45816         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45817         Regenerated.
45818         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45819         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
45820         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
45821         * tests/unictype/test-pr_other_math.c: Regenerated.
45822         * tests/unictype/test-pr_punctuation.c: Regenerated.
45823         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
45824         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
45825         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
45826         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
45827         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
45828         * tests/unictype/test-pr_uppercase.c: Regenerated.
45829         * tests/unictype/test-pr_xid_continue.c: Regenerated.
45830         * tests/unictype/test-pr_xid_start.c: Regenerated.
45831         * tests/unictype/test-pr_zero_width.c: Regenerated.
45832
45833         Update to Unicode 5.1.0.
45834         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
45835         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
45836         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
45837         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
45838         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
45839         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
45840         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
45841         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
45842         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
45843         (nonspacing_table_ind): Update.
45844         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45845
45846         Update to Unicode 5.1.0.
45847         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45848         code transform.
45849         * lib/uniname/uniname.c (unicode_character_name,
45850         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45851         * lib/uniname/uninames.h: Regenerated.
45852         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45853
45854 2009-02-07  Bruno Haible  <bruno@clisp.org>
45855
45856         Merge gen-ctype and gen-lbrk into a single program.
45857         * lib/gen-uni-tables.c: New file, incorporating
45858         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45859         Add directory prefixes to the names of the generated files.
45860         * lib/unictype/gen-ctype.c: Remove file.
45861         * lib/unilbrk/gen-lbrk.c: Remove file.
45862         * modules/gen-uni-tables: New file.
45863         * modules/unictype/gen-ctype: Remove file.
45864         * modules/unilbrk/gen-lbrk: Remove file.
45865
45866 2009-02-07  Bruno Haible  <bruno@clisp.org>
45867
45868         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45869
45870         New module 'unistr/u32-strcoll'.
45871         * modules/unistr/u32-strcoll: New file.
45872         * lib/unistr/u32-strcoll.c: New file.
45873
45874         New module 'unistr/u16-strcoll'.
45875         * modules/unistr/u16-strcoll: New file.
45876         * lib/unistr/u16-strcoll.c: New file.
45877
45878         New module 'unistr/u8-strcoll'.
45879         * modules/unistr/u8-strcoll: New file.
45880         * lib/unistr/u8-strcoll.c: New file.
45881         * lib/unistr/u-strcoll.h: New file.
45882
45883 2009-02-07  Bruno Haible  <bruno@clisp.org>
45884
45885         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45886         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45887         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45888         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45889         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45890         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45891
45892 2009-02-07  Bruno Haible  <bruno@clisp.org>
45893
45894         Make 64-bit clean.
45895         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45896         output_combclass, output_bidi_category, output_decimal_digit,
45897         output_digit, output_numeric, output_mirror, output_scripts,
45898         output_ident_category): Use proper width specifier in format strings.
45899
45900 2009-02-07  Bruno Haible  <bruno@clisp.org>
45901
45902         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45903         failure behaviour.
45904
45905 2009-02-07  Jim Meyering  <meyering@redhat.com>
45906
45907         regex: avoid compilation failure with upcoming gcc-4.4
45908         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45909         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45910         "... error: integer overflow in preprocessor expression".
45911
45912 2009-02-05  Ben Pfaff  <blp@gnu.org>
45913
45914         Fix link errors on Windows when close module is used.
45915         * modules/close: Add $(LIB_CLOSE) to Link section.
45916         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45917         $(LIB_CLOSE) on Windows.
45918
45919 2009-02-05  Jim Meyering  <meyering@redhat.com>
45920
45921         still avoid unused-parameter warnings, but do it cleanly
45922         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45923         (get_fs_usage): Cast to void instead.
45924         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45925         (dev_from_mount_options, read_file_system_list): Cast to void.
45926         Prompted by Bruno Haible.
45927
45928 2009-02-04  Jim Meyering  <meyering@redhat.com>
45929
45930         fsusage.c: correct copyright year
45931         * lib/fsusage.c: Reflect year in which the change is pushed into
45932
45933         avoid misc. warnings
45934         * lib/fsusage.c (UNUSED_PARAM): Define.
45935         (get_fs_usage): Mark parameter "disk" as unused.
45936         * lib/getugroups.c (getgrent): Use "void" in prototype.
45937         * lib/mountlist.c: Mark unused parameters.
45938         (read_file_system_list): Declare a local with "const".
45939         * lib/nanosleep.c (getnow): Declare static.
45940         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45941
45942         dirfd: set errno upon failure
45943         * lib/dirfd.c: Include <errno.h>.
45944         Set errno to ENOTSUP when returning -1.
45945         * modules/dirfd (Depends-on): Add errno.
45946         Suggested by John Kodis <kodis@comcast.net>.
45947
45948 2009-02-01  Bruno Haible  <bruno@clisp.org>
45949
45950         Don't assume sizeof (long) >= sizeof (void *).
45951         * lib/memcmp.c: Include stdint.h.
45952         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45953         srcp2 to 'const byte *'.
45954         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45955         types to uintptr_t.
45956         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45957         * modules/memcmp (Depends-on): Add stdint.
45958         Reported by Ozkan Sezer <sezeroz@gmail.com>.
45959
45960 2009-01-30  Eric Blake  <ebb9@byu.net>
45961
45962         fix more require-before-expand issues
45963         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
45964         expand, AC_PROG_AWK.
45965         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
45966
45967 2009-01-28  Eric Blake  <ebb9@byu.net>
45968
45969         version-etc: use consistent URL formatting
45970         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
45971         Improve formatting.  Use fputs for string without %.
45972
45973 2009-01-28  Jim Meyering  <meyering@redhat.com>
45974
45975         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
45976         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
45977         "underquoted definition of NAME" from autoconf-2.59.
45978
45979 2009-01-28  Bruno Haible  <bruno@clisp.org>
45980
45981         * doc/gnulib.texi: Add "Obsolete modules" to index.
45982
45983 2009-01-28  Jim Meyering  <meyering@redhat.com>
45984
45985         useless-if-before-free: recognize more variants
45986         * build-aux/useless-if-before-free: Also recognize e.g.,
45987         if (NULL != p) free (p);
45988
45989 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
45990
45991         test-getaddrinfo: skip (don't fail) this test when there's no network
45992         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
45993         on the presumption that it means you lack network access.
45994
45995 2009-01-26  Jim Meyering  <meyering@redhat.com>
45996
45997         fflush: avoid warnings on modern systems
45998         * lib/fflush.c (rpl_fflush): Move declarations of locals,
45999         pos and result, into scopes where they're used.
46000
46001 2009-01-26  Eric Blake  <ebb9@byu.net>
46002
46003         Silence warning reintroduced by recent extensions patch.
46004         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
46005         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
46006         autoconf.
46007
46008         Backport improved autoconf semantics of AC_DEFUN_ONCE.
46009         * m4/00gnulib.m4: New file.
46010         * gnulib-tool (func_get_filelist): Always use it.
46011         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
46012         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
46013
46014 2009-01-25  Bruno Haible  <bruno@clisp.org>
46015
46016         Make test-quotearg work on MacOS X and AIX.
46017         * tests/test-quotearg.sh: New file.
46018         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
46019         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
46020         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
46021         include <libintl.h>.
46022         (fake_locale): Remove variable.
46023         (gettext, dgettext, dcgettext): Remove functions.
46024         (main): Instead of setting a fake locale, set a real locale. Call
46025         textdomain and bindtextdomain.
46026         * modules/quotearg-tests (Files): Add the new files.
46027         (Depends-on): Add gettext, setenv, unsetenv.
46028         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
46029         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
46030         Augment TESTS_ENVIRONMENT.
46031
46032 2009-01-25  Bruno Haible  <bruno@clisp.org>
46033
46034         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
46035         fr_FR.ISO8859-1 locale on MacOS X.
46036         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
46037         ja_JP.eucJP locale on MacOS X.
46038         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
46039         zh_CN.GB18030 locale on MacOS X.
46040
46041 2009-01-25  Bruno Haible  <bruno@clisp.org>
46042
46043         Avoid link errors on MacOS X 10.3.
46044         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
46045         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46046
46047 2009-01-25  Bruno Haible  <bruno@clisp.org>
46048
46049         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46050         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
46051         * modules/pipe (Files): Remove m4/posix_spawn.m4.
46052         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46053         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
46054         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46055         posix_spawnattr_init, posix_spawnattr_setsigmask,
46056         posix_spawnattr_setflags, posix_spawnattr_destroy.
46057
46058         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46059         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
46060         * modules/execute (Files): Remove m4/posix_spawn.m4.
46061         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46062         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46063         posix_spawnattr_init, posix_spawnattr_setsigmask,
46064         posix_spawnattr_setflags, posix_spawnattr_destroy.
46065
46066 2009-01-25  Bruno Haible  <bruno@clisp.org>
46067
46068         * lib/glthread/threadlib.c: Include <stdlib.h>.
46069
46070 2009-01-25  Bruno Haible  <bruno@clisp.org>
46071
46072         * lib/glthread/threadlib.c (dummy): New declaration.
46073
46074 2009-01-25  Bruno Haible  <bruno@clisp.org>
46075
46076         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
46077         multibyte characters also for the GB18030 encoding. Don't crash when
46078         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
46079
46080 2009-01-25  Bruno Haible  <bruno@clisp.org>
46081
46082         Avoid redefining 'struct random_data' on OSF/1 5.1.
46083         * lib/stdlib.in.h: Include <random.h> if it exists.
46084         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
46085         HAVE_RANDOM_H. Include <random.h> when testing whether
46086         'struct random_data' exists.
46087         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
46088
46089 2009-01-25  Bruno Haible  <bruno@clisp.org>
46090
46091         Don't install charset.alias on MacOS X >= 10.3.
46092         * lib/localcharset.c (DARWIN7): New macro.
46093         (get_charset_aliases): Hardcode the result for Darwin7.
46094         * modules/localcharset (install-exec-local): Don't install
46095         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
46096
46097 2009-01-25  Bruno Haible  <bruno@clisp.org>
46098
46099         Don't install charset.alias on mingw and Cygwin.
46100         * modules/localcharset (install-exec-local): Don't install
46101         charset.alias on mingw and Cygwin, if the file does not yet exist.
46102         The result for these platforms is hardcoded in localcharset.c.
46103
46104 2009-01-25  Bruno Haible  <bruno@clisp.org>
46105
46106         Make it possible again to use AC_GNU_SOURCE together with gnulib.
46107         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
46108         before requiring AC_USE_SYSTEM_EXTENSIONS.
46109
46110 2009-01-25  Jim Meyering  <meyering@redhat.com>
46111
46112         c-strtod: avoid warnings
46113         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
46114         "assignment discards qualifiers from pointer target type" warnings.
46115
46116 2009-01-24  Bruno Haible  <bruno@clisp.org>
46117
46118         Add support for non-UTF-8 locales on MacOS X.
46119         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
46120         canonical encodings. For Darwin 7 and newer, don't map traditional
46121         encodings to UTF-8.
46122         Reported by Vincent Lefevre <vincent@vinc17.org>
46123         at <http://savannah.gnu.org/bugs/?25235>.
46124
46125 2009-01-24  Bruno Haible  <bruno@clisp.org>
46126
46127         * doc/gnulib.texi (Obsolete modules): New section.
46128         Reported by Mike Frysinger <vapier@gentoo.org>.
46129
46130 2009-01-24  Bruno Haible  <bruno@clisp.org>
46131
46132         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
46133         (%.dvi): New rule.
46134
46135 2009-01-24  Bruno Haible  <bruno@clisp.org>
46136
46137         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
46138         Reported by Eric Blake.
46139
46140 2009-01-24  Bruno Haible  <bruno@clisp.org>
46141
46142         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
46143         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
46144         Reported by Gary V. Vaughan <gary@gnu.org>.
46145
46146 2009-01-24  Bruno Haible  <bruno@clisp.org>
46147
46148         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
46149
46150 2009-01-23  Bruno Haible  <bruno@clisp.org>
46151
46152         Make c-strtod, c-strtold usable in libraries.
46153         * lib/c-strtod.c: Include string.h instead of xalloc.h.
46154         (C_STRTOD): Call strdup instead of xstrdup.
46155         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
46156         * modules/c-strtold (Depends-on): Likewise.
46157         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
46158         * NEWS: Mention the change.
46159         Reported by Michael Gold <mgold@ncf.ca>.
46160
46161 2009-01-23  Jim Meyering  <meyering@redhat.com>
46162
46163         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
46164         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
46165         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
46166
46167 2009-01-23  Simon Josefsson  <simon@josefsson.org>
46168
46169         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
46170         GNU CoreUtils.
46171         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
46172         * modules/version-etc (Description): Update.
46173
46174 2009-01-22  Bruno Haible  <bruno@clisp.org>
46175
46176         Cache the C locale object.
46177         * lib/c-strtod.c (c_locale_cache): New variable.
46178         (c_locale): New function.
46179         (C_STRTOD): Use it, and don't call freelocale.
46180         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
46181         Suggested by Paolo Bonzini.
46182
46183 2009-01-21  Bruno Haible  <bruno@clisp.org>
46184
46185         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
46186         conditions other than overflow.
46187
46188 2009-01-21  Bruno Haible  <bruno@clisp.org>
46189
46190         * lib/c-strtod.c: Include errno.h.
46191         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
46192         value from STRTOD_L and STRTOD.
46193
46194 2009-01-21  Bruno Haible  <bruno@clisp.org>
46195         and Jim Meyering  <meyering@redhat.com>
46196
46197         nanosleep: skip configure test (fail it) for apple universal builds
46198         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
46199         universal builds, assume that nanosleep does not work.
46200         * modules/nanosleep (Depends-on): Add multiarch.
46201
46202         mktime: skip configure test (fail it) for apple universal builds
46203         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
46204         universal builds, assume that mktime does not work.
46205         * modules/mktime (Depends-on): Add multiarch.
46206
46207 2009-01-21  Eric Blake  <ebb9@byu.net>
46208
46209         multiarch: avoid expand-before-require warning
46210         * modules/multiarch (configure.ac): Require, rather than expand,
46211         gl_MULTIARCH.
46212         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
46213         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
46214         enforce that all clients require it.  Partial reversion of
46215         2008-12-29 patch.
46216
46217         error: avoid expand-before-require warning
46218         * modules/errno (configure.ac): Require, rather than expand,
46219         gl_HEADER_ERRNO_H.
46220         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
46221         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
46222         enforce that all clients require it.
46223
46224         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
46225         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
46226         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
46227         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
46228
46229 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
46230
46231         Revert:
46232         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46233
46234         regex: do not depend on obsolete modules.
46235         * modules/regex: Remove memcmp and memmove.
46236
46237 2009-01-20  Bruno Haible  <bruno@clisp.org>
46238
46239         Make the 'link' module link on Windows NT 4.
46240         * lib/link.c (_WIN32_WINNT): Don't define.
46241         (CreateHardLinkFuncType): New type.
46242         (CreateHardLinkFunc, initialized): New variables.
46243         (initialize): New function.
46244         (link): Invoke CreateHardLink indirectly through the function pointer.
46245
46246 2009-01-20  Bruno Haible  <bruno@clisp.org>
46247
46248         Fix compilation failure on mingw.
46249         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
46250
46251 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
46252
46253         * doc/c-strtod.texi: Mention a couple of restrictions.
46254
46255 2009-01-20  Jim Meyering  <meyering@redhat.com>
46256
46257         gettimeofday: move more declarations out of functions
46258         * lib/gettimeofday.c: Move extern declarations of tzset and
46259         gmtime out of containing functions.  Prompted by Bruno Haible.
46260
46261 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46262
46263         regex: do not depend on obsolete modules.
46264         * modules/regex: Remove memcmp and memmove.
46265
46266 2009-01-19  Bruno Haible  <bruno@clisp.org>
46267
46268         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46269         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
46270         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46271         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
46272         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
46273
46274 2009-01-19  Bruno Haible  <bruno@clisp.org>
46275
46276         * tests/test-link.c: Include <errno.h>.
46277         (main): Exit with code 77 when a hard link cannot be created due to
46278         the file system.
46279         * tests/test-link.sh: Skip test when a hard link cannot be created due
46280         to the file system.
46281         Suggested by Eric Blake.
46282
46283 2009-01-19  Martin Lambers  <marlam@marlam.de>
46284
46285         * modules/link-tests: New file.
46286         * tests/test-link.sh: New file.
46287         * tests/test-link.c: New file.
46288
46289 2009-01-19  Eric Blake  <ebb9@byu.net>
46290
46291         doc: mention another function added in cygwin 1.7.0
46292         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
46293         Another new function in cygwin 1.7.
46294
46295 2009-01-19  Bruno Haible  <bruno@clisp.org>
46296
46297         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46298         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
46299         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
46300         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46301         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46302         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
46303         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46304         * m4/md4.m4 (gl_MD4): Likewise.
46305         * m4/md5.m4 (gl_MD5): Likewise.
46306         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
46307         * m4/sha1.m4 (gl_SHA1): Likewise.
46308         * m4/sha256.m4 (gl_SHA256): Likewise.
46309         * m4/sha512.m4 (gl_SHA512): Likewise.
46310
46311 2009-01-19  Bruno Haible  <bruno@clisp.org>
46312
46313         * modules/uniname/uniname-tests (Depends-on): Add progname.
46314         * tests/uniname/test-uninames.c: Include progname.h.
46315         (main): Call set_program_name.
46316
46317         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
46318         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
46319         (main): Call set_program_name.
46320
46321         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
46322         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
46323         (main): Call set_program_name.
46324
46325         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
46326         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
46327         (main): Call set_program_name.
46328
46329         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
46330         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
46331         (main): Call set_program_name.
46332
46333         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
46334         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
46335         (main): Call set_program_name.
46336
46337         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
46338         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
46339         (main): Call set_program_name.
46340
46341         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
46342         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
46343         (main): Call set_program_name.
46344
46345         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
46346         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
46347         (main): Call set_program_name.
46348
46349 2009-01-19  Eric Blake  <ebb9@byu.net>
46350
46351         test-unistd: test previous patch
46352         * tests/test-unistd.c: Test *_FILENO macros.
46353
46354         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
46355         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46356         Guarantee a definition.
46357         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
46358         * modules/unistd-safer (Depends-on): Add dependency on unistd.
46359         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
46360         * lib/dup-safer.c (STDERR_FILENO): Likewise.
46361         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46362         Likewise.
46363         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
46364         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
46365         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46366         Likewise.
46367         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
46368         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
46369         (STDERR_FILENO): Likewise.
46370         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
46371         (STDERR_FILENO): Likewise.
46372         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
46373         (STDERR_FILENO): Likewise.
46374         Reported by Elbert Pol.
46375
46376 2009-01-19  Eric Blake  <ebb9@byu.net>
46377
46378         doc: mention more functions added in cygwin 1.7.0
46379         * doc/posix-functions/abort.texi (abort): Update wording related
46380         to cygwin.
46381         * doc/posix-functions/daylight.texi (daylight): Likewise.
46382         * doc/posix-functions/optarg.texi (optarg): Likewise.
46383         * doc/posix-functions/optarg.texi (opterr): Likewise.
46384         * doc/posix-functions/optarg.texi (optind): Likewise.
46385         * doc/posix-functions/optarg.texi (optopt): Likewise.
46386         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
46387         worked in 1.5.x, and was withdrawn in 1.7.
46388         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
46389         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
46390         cygwin versions.
46391         * doc/posix-functions/perror.texi (perror): Likewise.
46392         * doc/posix-functions/printf.texi (printf): Likewise.
46393         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
46394         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
46395         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
46396         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
46397         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
46398         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
46399         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46400         Likewise.
46401         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46402         Likewise.
46403         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
46404         this function.
46405         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
46406         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
46407         Likewise.
46408         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
46409         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
46410         * doc/posix-functions/confstr.texi (confstr): Likewise.
46411         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
46412         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
46413         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
46414         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
46415         * doc/posix-functions/fputws.texi (fputws): Likewise.
46416         * doc/posix-functions/fwide.texi (fwide): Likewise.
46417         * doc/posix-functions/getwc.texi (getwc): Likewise.
46418         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
46419         * doc/posix-functions/putwc.texi (putwc): Likewise.
46420         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
46421         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
46422         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
46423         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
46424         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
46425         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
46426         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
46427         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
46428         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
46429         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
46430         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
46431
46432 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46433
46434         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
46435         * lib/ioctl.c: Include <sys/ioctl.h>.
46436
46437 2009-01-19  Simon Josefsson  <simon@josefsson.org>
46438
46439         * modules/getdate-tests (Depends-on): Add progname.
46440         * tests/test-getdate.c: Use progname module, to avoid link errors
46441         on non-glibc systems.
46442
46443 2009-01-18  Simon Josefsson  <simon@josefsson.org>
46444
46445         * modules/filenamecat-tests (Depends-on): Add progname.
46446         * modules/fstrcmp-tests (Depends-on): Likewise.
46447
46448         * tests/test-filenamecat.c: Use progname module, to avoid link
46449         errors on non-glibc systems.
46450         * tests/test-fstrcmp.c: Likewise.
46451
46452 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46453
46454         gettimeofday: avoid warning: nested extern declaration of 'localtime'
46455         * lib/gettimeofday.c: Move extern declaration out of function.
46456
46457 2009-01-18  Bruno Haible  <bruno@clisp.org>
46458
46459         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
46460         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
46461         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
46462
46463 2009-01-18  Bruno Haible  <bruno@clisp.org>
46464
46465         * lib/strftime.c (MEMPCPY): Remove unused macro.
46466         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
46467
46468 2009-01-18  Martin Lambers  <marlam@marlam.de>
46469
46470         New module 'link'.
46471         * lib/unistd.in.h (link): New declaration.
46472         * lib/link.c: New file.
46473         * m4/link.m4: New file.
46474         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
46475         HAVE_LINK.
46476         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
46477         * modules/link: New file.
46478         * doc/posix-functions/link.texi: Mention the new module.
46479
46480 2009-01-18  Bruno Haible  <bruno@clisp.org>
46481
46482         * tests/test-avltree_list.c (main): Call set_program_name.
46483         * tests/test-avltree_oset.c (main): Likewise.
46484         * tests/test-obstack-printf.c: Include progname.h.
46485         (main): Call set_program_name.
46486         * tests/test-quotearg.c: Include progname.h.
46487         (main): Call set_program_name.
46488         * tests/test-xmemdup0.c: Include progname.h.
46489         (main): Call set_program_name.
46490
46491 2009-01-18  Bruno Haible  <bruno@clisp.org>
46492
46493         New module 'alphasort'.
46494         * lib/dirent.in.h (alphasort): New declaration.
46495         * lib/alphasort.c: New file, from glibc with modifications.
46496         * m4/alphasort.m4: New file.
46497         * modules/alphasort: New file.
46498         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
46499         HAVE_ALPHASORT.
46500         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
46501         HAVE_ALPHASORT.
46502         * doc/posix-functions/alphasort.texi: Mention the new module and the
46503         portability problems.
46504
46505 2009-01-18  Bruno Haible  <bruno@clisp.org>
46506
46507         New module 'scandir'.
46508         * lib/dirent.in.h (scandir): New declaration.
46509         * lib/scandir.c: New file, from glibc with modifications.
46510         * m4/scandir.m4: New file.
46511         * modules/scandir: New file.
46512         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
46513         HAVE_SCANDIR.
46514         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
46515         HAVE_SCANDIR.
46516         * doc/posix-functions/scandir.texi: Mention the new module and the
46517         portability problems.
46518
46519 2009-01-17  Bruno Haible  <bruno@clisp.org>
46520
46521         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
46522         Update documentation.
46523         (func_remove_suffix): Escape all dots in the suffix. Update
46524         documentation.
46525         (func_filter_filelist): Update documentation.
46526         Reported by Ralf Wildenhues.
46527
46528 2009-01-17  Bruno Haible  <bruno@clisp.org>
46529
46530         * modules/dprintf-posix-tests: New file.
46531         * tests/test-dprintf-posix.sh: New file.
46532         * tests/test-dprintf-posix.c: New file.
46533
46534         New modules 'dprintf', 'dprintf-posix'.
46535         * lib/stdio.in.h (dprintf): New declaration.
46536         * lib/dprintf.c: New file.
46537         * m4/dprintf.m4: New file.
46538         * m4/dprintf-posix.m4: New file.
46539         * modules/dprintf: New file.
46540         * modules/dprintf-posix: New file.
46541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
46542         HAVE_DPRINTF, REPLACE_DPRINTF.
46543         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
46544         HAVE_DPRINTF, REPLACE_DPRINTF.
46545         * doc/posix-functions/dprintf.texi: Mention the new modules.
46546
46547 2009-01-17  Bruno Haible  <bruno@clisp.org>
46548
46549         * modules/vdprintf-posix-tests: New file.
46550         * tests/test-vdprintf-posix.sh: New file.
46551         * tests/test-vdprintf-posix.c: New file.
46552
46553         New modules 'vdprintf', 'vdprintf-posix'.
46554         * lib/stdio.in.h (vdprintf): New declaration.
46555         * lib/vdprintf.c: New file.
46556         * m4/vdprintf.m4: New file.
46557         * m4/vdprintf-posix.m4: New file.
46558         * modules/vdprintf: New file.
46559         * modules/vdprintf-posix: New file.
46560         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
46561         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46562         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
46563         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46564         * doc/posix-functions/vdprintf.texi: Mention the new modules.
46565
46566 2009-01-17  Bruno Haible  <bruno@clisp.org>
46567
46568         Fix replacement of fopen on mingw.
46569         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
46570         mingw.
46571
46572 2009-01-17  Bruno Haible  <bruno@clisp.org>
46573
46574         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
46575         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
46576
46577 2009-01-17  Bruno Haible  <bruno@clisp.org>
46578
46579         Avoid test-fflush2.sh failure on mingw.
46580         * tests/test-fflush2.c: Include binary-io.h.
46581         (main): Put standard input into binary mode.
46582         * modules/fflush-tests (Depends-on): Add binary-io.
46583
46584 2009-01-17  Bruno Haible  <bruno@clisp.org>
46585
46586         * lib/wchar.in.h: In another particular situation, include only the
46587         system's <wchar.h> file.
46588         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
46589         Reported by Albert Chin-A-Young <china@thewrittenword.com>
46590         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
46591
46592 2009-01-17  Bruno Haible  <bruno@clisp.org>
46593
46594         Support for stripping executables in --enable-relocatable.
46595         * build-aux/install-reloc: Expect one more argument, or an environment
46596         variable RELOC_STRIP_PROG. If set, strip the destination program and
46597         its wrapper.
46598         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
46599         RELOC_STRIP_PROG.
46600         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
46601         to set RELOCATABLE_STRIP.
46602         * NEWS: Mention the new Makefile requirement.
46603
46604 2009-01-17  Bruno Haible  <bruno@clisp.org>
46605
46606         * build-aux/install-reloc: Remove debugging information left over by
46607         C compiler on MacOS X.
46608
46609 2009-01-17  Bruno Haible  <bruno@clisp.org>
46610
46611         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
46612         * lib/progreloc.c (find_executable): Fix type of pointer passed to
46613         _NSGetExecutablePath.
46614
46615 2009-01-16  Jim Meyering  <meyering@redhat.com>
46616
46617         strerror: avoid warnings about discarding "const"
46618         * lib/strerror.c (rpl_strerror): Instead of returning a const
46619         string from each and every "case", use a variable, and add a single
46620         cast after the switch.
46621
46622 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
46623
46624         * lib/arpa_inet.in.h: Add extern "C" block for C++.
46625
46626 2009-01-16  Bruno Haible  <bruno@clisp.org>
46627
46628         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
46629         array initializer syntax that also works in C++ mode.
46630         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46631
46632 2009-01-16  Jim Meyering  <meyering@redhat.com>
46633
46634         poll: suppress a warning
46635         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
46636         to ignore "...unsigned expression < 0 is always false" warnings.
46637
46638 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
46639
46640         poll: remove declarations of unused variables
46641         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
46642         sockbuf and optlen.
46643
46644 2009-01-15  Bruno Haible  <bruno@clisp.org>
46645
46646         Make fflush-after-ungetc POSIX compliant on BSD systems.
46647         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
46648         (clear_ungetc_buffer): Implement also for other systems.
46649         (rpl_fflush): On glibc systems, invoke
46650         clear_ungetc_buffer_preserving_position. Otherwise, invoke
46651         clear_ungetc_buffer after fetching the stream's position, not before.
46652
46653 2009-01-15  Bruno Haible  <bruno@clisp.org>
46654
46655         Make fflush-after-ungetc POSIX compliant on glibc systems.
46656         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
46657         after ungetc.
46658         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
46659         (rpl_fflush): On glibc systems, simply call the system's fflush
46660         function after clearing the ungetc buffer.
46661         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
46662         Instead, lseek only to the end of file, then use the system's fseeko
46663         for the rest. On glibc systems, reset the EOF indicator bit.
46664
46665 2009-01-15  Jim Meyering  <meyering@redhat.com>
46666
46667         openmp.m4: revert quote-adding change, for portability to older autoconf
46668         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
46669         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
46670         Simon Josefsson noticed the problem when using autoconf-2.61.
46671
46672 2009-01-15  Bruno Haible  <bruno@clisp.org>
46673
46674         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
46675         * tests/test-fflush2.c (ASSERT): Always fail.
46676         (main): Add two tests for fflush() after ungetc(), taking into account
46677         the Austin Group's clarification.
46678         Suggested by Eric Blake.
46679
46680 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46681
46682         mktime.m4: remove K&R-style function prototypes
46683         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46684         for the Sun C++ compiler.
46685
46686 2009-01-14  Bruno Haible  <bruno@clisp.org>
46687
46688         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46689         while including <wchar.h>.
46690         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46691         the system's <wchar.h> file.
46692         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46693
46694 2009-01-14  Bruno Haible  <bruno@clisp.org>
46695
46696         * m4/csharp.m4: Don't mention gettext on the serial number line.
46697         * m4/csharpexec.m4: Likewise.
46698         * m4/eaccess.m4: Likewise.
46699         * m4/javaexec.m4: Likewise.
46700         * m4/sig_atomic_t.m4: Likewise.
46701         * m4/tmpdir.m4: Likewise.
46702         * m4/intldir.m4: Bump gettext version.
46703         * m4/lib-ld.m4: Likewise.
46704
46705 2009-01-14  Bruno Haible  <bruno@clisp.org>
46706
46707         * lib/progname.c (set_program_name): Add more comments.
46708         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46709
46710 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46711
46712         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46713         were sys/stat.h does not define it.
46714
46715 2009-01-14  Jim Meyering  <meyering@redhat.com>
46716
46717         many *.m4 files: improve m4 quoting
46718         99% of this change was performed by running the following commands:
46719         git ls-files | grep '\.m4$' | xargs perl -pi \
46720           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46721           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46722           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46723           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46724         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46725         The remainder were to add Copyright dates, increment serial numbers,
46726         undo some changes in comments, exclude m4/intl.m4, and add quotes
46727         around the "1" in ",1" where the unusual spacing prohibited the
46728         above regexps from doing the job.  For more details, see
46729         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46730         * m4/acl.m4: Modified.
46731         * m4/afs.m4: Likewise.
46732         * m4/alloca.m4: Likewise.
46733         * m4/argp.m4: Likewise.
46734         * m4/argz.m4: Likewise.
46735         * m4/atexit.m4: Likewise.
46736         * m4/bison-i18n.m4: Likewise.
46737         * m4/bison.m4: Likewise.
46738         * m4/byteswap.m4: Likewise.
46739         * m4/c-stack.m4: Likewise.
46740         * m4/c-strtod.m4: Likewise.
46741         * m4/calloc.m4: Likewise.
46742         * m4/canonicalize-lgpl.m4: Likewise.
46743         * m4/chown.m4: Likewise.
46744         * m4/clock_time.m4: Likewise.
46745         * m4/codeset.m4: Likewise.
46746         * m4/copy-file.m4: Likewise.
46747         * m4/csharp.m4: Likewise.
46748         * m4/csharpcomp.m4: Likewise.
46749         * m4/csharpexec.m4: Likewise.
46750         * m4/d-ino.m4: Likewise.
46751         * m4/d-type.m4: Likewise.
46752         * m4/dirfd.m4: Likewise.
46753         * m4/double-slash-root.m4: Likewise.
46754         * m4/eaccess.m4: Likewise.
46755         * m4/eealloc.m4: Likewise.
46756         * m4/environ.m4: Likewise.
46757         * m4/errno_h.m4: Likewise.
46758         * m4/euidaccess.m4: Likewise.
46759         * m4/execute.m4: Likewise.
46760         * m4/fatal-signal.m4: Likewise.
46761         * m4/fchdir.m4: Likewise.
46762         * m4/fcntl_h.m4: Likewise.
46763         * m4/fileblocks.m4: Likewise.
46764         * m4/filenamecat.m4: Likewise.
46765         * m4/findprog.m4: Likewise.
46766         * m4/flexmember.m4: Likewise.
46767         * m4/fnmatch.m4: Likewise.
46768         * m4/fopen.m4: Likewise.
46769         * m4/fpending.m4: Likewise.
46770         * m4/fprintf-posix.m4: Likewise.
46771         * m4/free.m4: Likewise.
46772         * m4/frexp.m4: Likewise.
46773         * m4/frexpl.m4: Likewise.
46774         * m4/fsusage.m4: Likewise.
46775         * m4/ftruncate.m4: Likewise.
46776         * m4/gc-camellia.m4: Likewise.
46777         * m4/gc-random.m4: Likewise.
46778         * m4/gc.m4: Likewise.
46779         * m4/getaddrinfo.m4: Likewise.
46780         * m4/getcwd-abort-bug.m4: Likewise.
46781         * m4/getcwd-path-max.m4: Likewise.
46782         * m4/getdate.m4: Likewise.
46783         * m4/getdomainname.m4: Likewise.
46784         * m4/getgroups.m4: Likewise.
46785         * m4/gethostname.m4: Likewise.
46786         * m4/gethrxtime.m4: Likewise.
46787         * m4/getline.m4: Likewise.
46788         * m4/getloadavg.m4: Likewise.
46789         * m4/getndelim2.m4: Likewise.
46790         * m4/getpass.m4: Likewise.
46791         * m4/gettext.m4: Likewise.
46792         * m4/gettime.m4: Likewise.
46793         * m4/gettimeofday.m4: Likewise.
46794         * m4/gnulib-common.m4: Likewise.
46795         * m4/group-member.m4: Likewise.
46796         * m4/host-os.m4: Likewise.
46797         * m4/iconv.m4: Likewise.
46798         * m4/iconv_open.m4: Likewise.
46799         * m4/inet_ntop.m4: Likewise.
46800         * m4/inet_pton.m4: Likewise.
46801         * m4/inline.m4: Likewise.
46802         * m4/intldir.m4: Likewise.
46803         * m4/intlmacosx.m4: Likewise.
46804         * m4/intmax.m4: Likewise.
46805         * m4/intmax_t.m4: Likewise.
46806         * m4/inttypes.m4: Likewise.
46807         * m4/inttypes_h.m4: Likewise.
46808         * m4/inttypes-pri.m4: Likewise.
46809         * m4/isapipe.m4: Likewise.
46810         * m4/isnand.m4: Likewise.
46811         * m4/isnanf.m4: Likewise.
46812         * m4/isnanl.m4: Likewise.
46813         * m4/javacomp.m4: Likewise.
46814         * m4/javaexec.m4: Likewise.
46815         * m4/jm-winsz1.m4: Likewise.
46816         * m4/jm-winsz2.m4: Likewise.
46817         * m4/lchown.m4: Likewise.
46818         * m4/lcmessage.m4: Likewise.
46819         * m4/ldexpl.m4: Likewise.
46820         * m4/lib-ld.m4: Likewise.
46821         * m4/lib-link.m4: Likewise.
46822         * m4/libsigsegv.m4: Likewise.
46823         * m4/link-follow.m4: Likewise.
46824         * m4/localcharset.m4: Likewise.
46825         * m4/locale-fr.m4: Likewise.
46826         * m4/locale-ja.m4: Likewise.
46827         * m4/locale-tr.m4: Likewise.
46828         * m4/locale-zh.m4: Likewise.
46829         * m4/lock.m4: Likewise.
46830         * m4/longlong.m4: Likewise.
46831         * m4/ls-mntd-fs.m4: Likewise.
46832         * m4/lstat.m4: Likewise.
46833         * m4/malloc.m4: Likewise.
46834         * m4/mathl.m4: Likewise.
46835         * m4/mbrtowc.m4: Likewise.
46836         * m4/mbstate_t.m4: Likewise.
46837         * m4/mbswidth.m4: Likewise.
46838         * m4/memchr.m4: Likewise.
46839         * m4/memcmp.m4: Likewise.
46840         * m4/memcpy.m4: Likewise.
46841         * m4/memmem.m4: Likewise.
46842         * m4/memmove.m4: Likewise.
46843         * m4/mempcpy.m4: Likewise.
46844         * m4/memrchr.m4: Likewise.
46845         * m4/memset.m4: Likewise.
46846         * m4/minmax.m4: Likewise.
46847         * m4/mkdir-slash.m4: Likewise.
46848         * m4/mkdtemp.m4: Likewise.
46849         * m4/mktime.m4: Likewise.
46850         * m4/mmap-anon.m4: Likewise.
46851         * m4/mountlist.m4: Likewise.
46852         * m4/nanosleep.m4: Likewise.
46853         * m4/nls.m4: Likewise.
46854         * m4/nocrash.m4: Likewise.
46855         * m4/open.m4: Likewise.
46856         * m4/openat.m4: Likewise.
46857         * m4/openmp.m4: Likewise.
46858         * m4/pathmax.m4: Likewise.
46859         * m4/perl.m4: Likewise.
46860         * m4/physmem.m4: Likewise.
46861         * m4/pipe.m4: Likewise.
46862         * m4/po.m4: Likewise.
46863         * m4/poll.m4: Likewise.
46864         * m4/posixtm.m4: Likewise.
46865         * m4/posixver.m4: Likewise.
46866         * m4/printf-frexp.m4: Likewise.
46867         * m4/printf-frexpl.m4: Likewise.
46868         * m4/printf-posix.m4: Likewise.
46869         * m4/printf-posix-rpl.m4: Likewise.
46870         * m4/printf.m4: Likewise.
46871         * m4/progtest.m4: Likewise.
46872         * m4/putenv.m4: Likewise.
46873         * m4/readline.m4: Likewise.
46874         * m4/readlink.m4: Likewise.
46875         * m4/readutmp.m4: Likewise.
46876         * m4/realloc.m4: Likewise.
46877         * m4/regex.m4: Likewise.
46878         * m4/relocatable.m4: Likewise.
46879         * m4/relocatable-lib.m4: Likewise.
46880         * m4/rename-dest-slash.m4: Likewise.
46881         * m4/rename.m4: Likewise.
46882         * m4/rmdir-errno.m4: Likewise.
46883         * m4/rmdir.m4: Likewise.
46884         * m4/roundf.m4: Likewise.
46885         * m4/roundl.m4: Likewise.
46886         * m4/rpmatch.m4: Likewise.
46887         * m4/save-cwd.m4: Likewise.
46888         * m4/selinux-selinux-h.m4: Likewise.
46889         * m4/setenv.m4: Likewise.
46890         * m4/settime.m4: Likewise.
46891         * m4/sig2str.m4: Likewise.
46892         * m4/sig_atomic_t.m4: Likewise.
46893         * m4/signalblocking.m4: Likewise.
46894         * m4/signbit.m4: Likewise.
46895         * m4/sigpipe.m4: Likewise.
46896         * m4/sockets.m4: Likewise.
46897         * m4/sockpfaf.m4: Likewise.
46898         * m4/st_dm_mode.m4: Likewise.
46899         * m4/stat-time.m4: Likewise.
46900         * m4/stdbool.m4: Likewise.
46901         * m4/stdint.m4: Likewise.
46902         * m4/stdint_h.m4: Likewise.
46903         * m4/stpcpy.m4: Likewise.
46904         * m4/stpncpy.m4: Likewise.
46905         * m4/strcase.m4: Likewise.
46906         * m4/strchrnul.m4: Likewise.
46907         * m4/strcspn.m4: Likewise.
46908         * m4/strdup.m4: Likewise.
46909         * m4/strftime.m4: Likewise.
46910         * m4/strndup.m4: Likewise.
46911         * m4/strnlen.m4: Likewise.
46912         * m4/strpbrk.m4: Likewise.
46913         * m4/strptime.m4: Likewise.
46914         * m4/strsep.m4: Likewise.
46915         * m4/strtod.m4: Likewise.
46916         * m4/strtoimax.m4: Likewise.
46917         * m4/strtok_r.m4: Likewise.
46918         * m4/strtol.m4: Likewise.
46919         * m4/strtoll.m4: Likewise.
46920         * m4/strtoul.m4: Likewise.
46921         * m4/strtoull.m4: Likewise.
46922         * m4/strtoumax.m4: Likewise.
46923         * m4/strverscmp.m4: Likewise.
46924         * m4/threadlib.m4: Likewise.
46925         * m4/timegm.m4: Likewise.
46926         * m4/tm_gmtoff.m4: Likewise.
46927         * m4/tmpdir.m4: Likewise.
46928         * m4/tmpfile.m4: Likewise.
46929         * m4/tzset.m4: Likewise.
46930         * m4/uintmax_t.m4: Likewise.
46931         * m4/unlinkdir.m4: Likewise.
46932         * m4/unlocked-io.m4: Likewise.
46933         * m4/uptime.m4: Likewise.
46934         * m4/userspec.m4: Likewise.
46935         * m4/utimbuf.m4: Likewise.
46936         * m4/utime.m4: Likewise.
46937         * m4/utimes-null.m4: Likewise.
46938         * m4/utimes.m4: Likewise.
46939         * m4/vararrays.m4: Likewise.
46940         * m4/vasnprintf.m4: Likewise.
46941         * m4/vfprintf-posix.m4: Likewise.
46942         * m4/vprintf-posix.m4: Likewise.
46943         * m4/wait-process.m4: Likewise.
46944         * m4/wchar_t.m4: Likewise.
46945         * m4/wint_t.m4: Likewise.
46946         * m4/write-any-file.m4: Likewise.
46947         * m4/yield.m4: Likewise.
46948
46949 2009-01-13  Bruno Haible  <bruno@clisp.org>
46950
46951         Avoid test-copy-file.sh failures when ACL support insufficient.
46952         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46953         TESTS_ENVIRONMENT.
46954         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46955         Reported by Jim Meyering.
46956
46957 2009-01-13  Bruno Haible  <bruno@clisp.org>
46958
46959         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
46960         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
46961         * modules/unistdio/u8-printf-parse (Files): Likewise.
46962         * modules/unistdio/u32-printf-parse (Files): Likewise.
46963         * modules/unistdio/ulc-printf-parse (Files): Likewise.
46964
46965 2009-01-13  Simon Josefsson  <simon@josefsson.org>
46966
46967         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
46968         and m4/inttypes_h.m4 too.
46969
46970 2009-01-12  Eric Blake  <ebb9@byu.net>
46971
46972         tests: IRIX 6.2 cc can't compile -0.0 into .data
46973         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
46974         rather than at compile-time.
46975         * tests/test-floorl.c (minus_zero): Likewise.
46976         * tests/test-frexpl.c (minus_zero): Likewise.
46977         * tests/test-isnan.c (minus_zerol): Likewise.
46978         * tests/test-isnanl.h (minus_zero): Likewise.
46979         * tests/test-ldexpl.c (minus_zero): Likewise.
46980         * tests/test-roundl.c (minus_zero): Likewise.
46981         * tests/test-signbit.c (minus_zerol): Likewise.
46982         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46983         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46984         * tests/test-truncl.c (minus_zero): Likewise.
46985         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46986         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46987         Reported by Tom G. Christensen and Nelson H. F. Beebe.
46988
46989 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46990
46991         regex: fix glibc bug 9697
46992         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
46993         handling.
46994
46995 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46996
46997         regex: fix glibc bug 697
46998         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
46999         being NULL also if there are no backreferences.
47000
47001 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47002
47003         regex: merge glibc changes
47004         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
47005         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
47006         re_string_skip_chars, re_string_reconstruct): Likewise.
47007         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
47008
47009 2009-01-07  Jim Meyering  <meyering@redhat.com>
47010
47011         poll: filter through cppi
47012         * lib/poll.c: Indent cpp directives to reflect nesting.
47013
47014 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
47015
47016         poll: don't return uninitialized
47017         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
47018
47019 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
47020
47021         avoid compile failure on AIX 6.1
47022         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
47023         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
47024
47025 2009-01-04  Jim Meyering  <meyering@redhat.com>
47026
47027         remove duplicate inclusion of <stdio.h>
47028         * tests/test-fprintf-posix.c: Likewise.
47029         * tests/test-printf-posix.c: Likewise.
47030         * tests/test-snprintf-posix.c: Likewise.
47031         * tests/test-sprintf-posix.c: Likewise.
47032         * tests/test-vasprintf-posix.c: Likewise.
47033         * tests/test-vfprintf-posix.c: Likewise.
47034         * tests/test-vprintf-posix.c: Likewise.
47035         * tests/test-vsnprintf-posix.c: Likewise.
47036         * tests/test-vsprintf-posix.c: Likewise.
47037
47038 2009-01-03  Jim Meyering  <meyering@redhat.com>
47039
47040         gnulib-tool: fix sed-based filtering
47041         * gnulib-tool (func_filter_filelist): Remove extra backslash
47042         in sed_fff_filter definition.
47043
47044 2009-01-02  Jim Meyering  <meyering@redhat.com>
47045
47046         strftime: avoid compilation failure on Solaris 2.6
47047         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
47048         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
47049         Don't #define mbrlen or mbsinit, since now they're guaranteed to
47050         be available.  Reported by Tom G. Christensen.  Details in
47051         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
47052
47053 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47054             Bruno Haible  <bruno@clisp.org>
47055
47056         Speed up gnulib-tool by doing more string processing through shell
47057         built-ins.
47058         * gnulib-tool (fast_func_append): New variable.
47059         (func_remove_prefix, func_remove_suffix): New functions.
47060         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
47061         (func_filter_filelist): New function.
47062         (func_get_dependencies): Use func_remove_suffix instead of sed.
47063         (func_get_automake_snippet): Use func_filter_filelist instead of a
47064         subshell and sed invocation.
47065
47066 2009-01-01  Bruno Haible  <bruno@clisp.org>
47067
47068         Fix a security bug.
47069         * gnulib-tool (func_import, import, update): Don't allow the characters
47070         '"', '$', '`', '\' in macro arguments that become part of commands that
47071         are evaluated.
47072
47073 2009-01-01  Bruno Haible  <bruno@clisp.org>
47074
47075         * gnulib-tool (func_reset_sigpipe): Add more comments.
47076
47077 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47078
47079         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
47080         func_emit_tests_Makefile_am, func_import): Abort loops early if we
47081         already know the answer.
47082
47083 2009-01-01  Jim Meyering  <meyering@redhat.com>
47084
47085         * lib/version-etc.c (version_etc_va): Update copyright year.
47086
47087 2008-12-30  Bruno Haible  <bruno@clisp.org>
47088
47089         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
47090         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
47091         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
47092
47093 2008-12-29  Eric Blake  <ebb9@byu.net>
47094
47095         multiarch: avoid autoconf AC_REQUIRE bug
47096         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
47097         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
47098         2.63 and older.
47099         Reported by Bruno Haible, and analyzed in
47100         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
47101
47102 2008-12-29  Bruno Haible  <bruno@clisp.org>
47103
47104         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
47105         files in subdirectories correctly.
47106         Reported by Ralf Wildenhues.
47107
47108 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47109
47110         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
47111         rather than 'join FILE -', for Solaris join.
47112
47113 2008-12-29  Bruno Haible  <bruno@clisp.org>
47114
47115         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
47116         quoting.
47117         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
47118         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
47119         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
47120         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
47121         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
47122         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
47123         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
47124         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
47125         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47126         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
47127         * m4/nls.m4 (AM_NLS): Likewise.
47128         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
47129         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
47130         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47131         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
47132         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
47133         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
47134         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
47135         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
47136         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
47137         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
47138         * m4/xsize.m4 (gl_XSIZE): Likewise.
47139         Suggested by Jim Meyering.
47140
47141 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47142
47143         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
47144         * lib/parse-duration.c: use a switch instead of cascading if's.
47145
47146 2008-12-29  Eric Blake  <ebb9@byu.net>
47147
47148         wchar.h: supply WEOF on Irix 5.3
47149         * lib/wchar.in.h (wint_t): Also supply WEOF.
47150         * lib/wctype.in.h (wint_t): Likewise.
47151         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
47152         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
47153         Reported by Tom G. Christensen.
47154
47155 2008-12-26  Bruno Haible  <bruno@clisp.org>
47156
47157         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
47158         i486, i586, i686.
47159
47160 2008-12-26  Bruno Haible  <bruno@clisp.org>
47161
47162         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
47163
47164 2008-12-26  Bruno Haible  <bruno@clisp.org>
47165
47166         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
47167         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
47168         not __STDC_CONSTANT_MACROS.
47169         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47170
47171 2008-12-25  Bruno Haible  <bruno@clisp.org>
47172
47173         Add support for universal builds to vasnprintf.
47174         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
47175         universal builds, guess no.
47176         * modules/vasnprintf-posix (Depends-on): Add multiarch.
47177         * modules/vasprintf-posix (Depends-on): Likewise.
47178         * modules/fprintf-posix (Depends-on): Likewise.
47179         * modules/vfprintf-posix (Depends-on): Likewise.
47180         * modules/snprintf-posix (Depends-on): Likewise.
47181         * modules/vsnprintf-posix (Depends-on): Likewise.
47182         * modules/sprintf-posix (Depends-on): Likewise.
47183         * modules/vsprintf-posix (Depends-on): Likewise.
47184         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47185         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47186         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47187         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47188         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47189         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47190         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47191
47192         Add support for universal builds to <inttypes.h>.
47193         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
47194         _SCNu64_PREFIX): In Apple
47195         universal builds, define directly, using _LP64.
47196         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
47197         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
47198         * modules/inttypes (Depends-on): Add multiarch.
47199         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47200
47201         Add support for universal builds to <stdint.h>.
47202         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
47203         universal builds, define directly, using _LP64.
47204         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
47205         Apple universal builds, don't test for the size and suffix of ptrdiff_t
47206         and size_t.
47207         * modules/stdint (Depends-on): Add multiarch.
47208         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47209
47210         New module 'multiarch'.
47211         * modules/multiarch: New file.
47212         * m4/multiarch.m4: New file.
47213
47214 2008-12-25  Bruno Haible  <bruno@clisp.org>
47215
47216         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
47217
47218 2008-12-25  Bruno Haible  <bruno@clisp.org>
47219
47220         * modules/btowc (License): Relicense under LGPLv2+.
47221         * modules/mbsinit (License): Likewise.
47222         * modules/mbrtowc (License): Likewise.
47223         * modules/wcrtomb (License): Likewise.
47224         * modules/streq (License): Likewise.
47225         Reported by David Lutterkort <lutter@redhat.com>.
47226
47227 2008-12-23  Bruno Haible  <bruno@clisp.org>
47228
47229         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
47230
47231 2008-12-23  Bruno Haible  <bruno@clisp.org>
47232
47233         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
47234         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
47235         GETADDRINFO_LIB, not in LIBS.
47236         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
47237         * modules/canon-host (Link): Likewise.
47238         * NEWS: Mention the change.
47239         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
47240         GETADDRINFO_LIB.
47241
47242 2008-12-22  Bruno Haible  <bruno@clisp.org>
47243
47244         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
47245         * doc/posix-functions/iswalpha_l.texi: Likewise.
47246         * doc/posix-functions/iswblank_l.texi: Likewise.
47247         * doc/posix-functions/iswcntrl_l.texi: Likewise.
47248         * doc/posix-functions/iswctype_l.texi: Likewise.
47249         * doc/posix-functions/iswdigit_l.texi: Likewise.
47250         * doc/posix-functions/iswgraph_l.texi: Likewise.
47251         * doc/posix-functions/iswlower_l.texi: Likewise.
47252         * doc/posix-functions/iswprint_l.texi: Likewise.
47253         * doc/posix-functions/iswpunct_l.texi: Likewise.
47254         * doc/posix-functions/iswspace_l.texi: Likewise.
47255         * doc/posix-functions/iswupper_l.texi: Likewise.
47256         * doc/posix-functions/iswxdigit_l.texi: Likewise.
47257         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
47258         * doc/posix-functions/open_wmemstream.texi: Likewise.
47259         * doc/posix-functions/swscanf.texi: Likewise.
47260         * doc/posix-functions/towctrans_l.texi: Likewise.
47261         * doc/posix-functions/towlower.texi: Likewise.
47262         * doc/posix-functions/towlower_l.texi: Likewise.
47263         * doc/posix-functions/towupper.texi: Likewise.
47264         * doc/posix-functions/towupper_l.texi: Likewise.
47265         * doc/posix-functions/vfwprintf.texi: Likewise.
47266         * doc/posix-functions/vfwscanf.texi: Likewise.
47267         * doc/posix-functions/vswscanf.texi: Likewise.
47268         * doc/posix-functions/vwprintf.texi: Likewise.
47269         * doc/posix-functions/vwscanf.texi: Likewise.
47270         * doc/posix-functions/wcpcpy.texi: Likewise.
47271         * doc/posix-functions/wcpncpy.texi: Likewise.
47272         * doc/posix-functions/wcscasecmp.texi: Likewise.
47273         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
47274         * doc/posix-functions/wcscoll_l.texi: Likewise.
47275         * doc/posix-functions/wcsdup.texi: Likewise.
47276         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47277         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
47278         * doc/posix-functions/wcsnlen.texi: Likewise.
47279         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47280         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
47281         * doc/posix-functions/wctrans_l.texi: Likewise.
47282         * doc/posix-functions/wctype_l.texi: Likewise.
47283         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
47284         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
47285         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
47286         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
47287         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
47288         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
47289         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
47290         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
47291         * doc/glibc-functions/wcschrnul.texi: Likewise.
47292         * doc/glibc-functions/wcsftime_l.texi: Likewise.
47293         * doc/glibc-functions/wcstod_l.texi: Likewise.
47294         * doc/glibc-functions/wcstof_l.texi: Likewise.
47295         * doc/glibc-functions/wcstol_l.texi: Likewise.
47296         * doc/glibc-functions/wcstold_l.texi: Likewise.
47297         * doc/glibc-functions/wcstoll_l.texi: Likewise.
47298         * doc/glibc-functions/wcstoq.texi: Likewise.
47299         * doc/glibc-functions/wcstoul_l.texi: Likewise.
47300         * doc/glibc-functions/wcstoull_l.texi: Likewise.
47301         * doc/glibc-functions/wcstouq.texi: Likewise.
47302         * doc/glibc-functions/wmempcpy.texi: Likewise.
47303
47304 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
47305             Eric Blake  <ebb9@byu.net>
47306             Paolo Bonzini  <bonzini@gnu.org>
47307             Bruno Haible  <bruno@clisp.org>
47308
47309         Make c-stack work on Haiku.
47310         * lib/c-stack.c (SA_ONSTACK): Define fallback.
47311         (c_stack_action): Use SA_ONSTACK flag.
47312
47313 2008-12-22  Bruno Haible  <bruno@clisp.org>
47314
47315         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
47316
47317 2008-12-22  Bruno Haible  <bruno@clisp.org>
47318
47319         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
47320         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
47321         being overridden.
47322         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
47323         New macros.
47324         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
47325         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
47326         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
47327         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
47328
47329 2008-12-22  Bruno Haible  <bruno@clisp.org>
47330
47331         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
47332         from test code.
47333
47334 2008-12-22  Eric Blake  <ebb9@byu.net>
47335
47336         Avoid gcc warnings on cygwin.
47337         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
47338         Avoid unused variable.
47339         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
47340         Likewise.
47341
47342 2008-12-22  Bruno Haible  <bruno@clisp.org>
47343
47344         Remove HAVE_MBRTOWC conditionals.
47345         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
47346         (mbscasecmp): Assume mbrtowc function.
47347         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
47348         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
47349         * lib/mbschr.c: Include mbuiter.h unconditionally.
47350         (mbschr): Assume mbrtowc function.
47351         * lib/mbscspn.c: Include mbuiter.h unconditionally.
47352         (mbscspn): Assume mbrtowc function.
47353         * lib/mbslen.c: Include mbuiter.h unconditionally.
47354         (mbslen): Assume mbrtowc function.
47355         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
47356         (mbsncasecmp): Assume mbrtowc function.
47357         * lib/mbsnlen.c: Include mbiter.h unconditionally.
47358         (mbsnlen): Assume mbrtowc function.
47359         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
47360         (mbspbrk): Assume mbrtowc function.
47361         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
47362         (mbspcasecmp): Assume mbrtowc function.
47363         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
47364         (mbsrchr): Assume mbrtowc function.
47365         * lib/mbssep.c: Include mbuiter.h unconditionally.
47366         (mbssep): Assume mbrtowc function.
47367         * lib/mbsspn.c: Include mbuiter.h unconditionally.
47368         (mbsspn): Assume mbrtowc function.
47369         * lib/mbsstr.c: Include mbuiter.h unconditionally.
47370         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
47371         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
47372         (mbstok_r): Assume mbrtowc function.
47373         * lib/propername.c: Include mbuiter.h unconditionally.
47374         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
47375         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
47376         (trim2): Assume mbrtowc function.
47377         * lib/mbswidth.c (mbsinit): Remove fallback definition.
47378         (mbsnwidth): Assume mbrtowc function.
47379         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
47380         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
47381         fallback definitions.
47382         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
47383
47384 2008-12-22  Bruno Haible  <bruno@clisp.org>
47385
47386         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
47387
47388 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
47389
47390         * modules/regex: Request emulations for the mb*/wc* functions we need.
47391         * m4/regex.m4: Don't look for those functions here.
47392         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
47393
47394 2008-12-22  Bruno Haible  <bruno@clisp.org>
47395
47396         * modules/fnmatch (Depends-on): Remove duplicated dependency.
47397
47398 2008-12-21  Bruno Haible  <bruno@clisp.org>
47399
47400         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
47401         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
47402         (Include): Remove conditionalization.
47403         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
47404         (Include): Remove conditionalization.
47405         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
47406         (Include): Remove conditionalization.
47407         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
47408         * m4/mbfile.m4 (gl_MBFILE): Likewise.
47409         * NEWS: Mention the change.
47410         Reported by Alan Hourihane <alanh@fairlite.co.uk>
47411         via Sergey Poznyakoff <gray@gnu.org.ua>.
47412
47413 2008-12-21  Bruno Haible  <bruno@clisp.org>
47414
47415         * MODULES.html.sh (Extended multibyte and wide character utilities
47416         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
47417         wcrtomb, wcsrtombs.
47418         (Support for systems lacking POSIX:2008): Add accept, bind, close,
47419         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
47420         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
47421         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
47422
47423 2008-12-21  Bruno Haible  <bruno@clisp.org>
47424
47425         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
47426
47427 2008-12-21  Bruno Haible  <bruno@clisp.org>
47428
47429         * modules/wcsnrtombs-tests: New file.
47430         * tests/test-wcsnrtombs1.sh: New file.
47431         * tests/test-wcsnrtombs2.sh: New file.
47432         * tests/test-wcsnrtombs3.sh: New file.
47433         * tests/test-wcsnrtombs4.sh: New file.
47434         * tests/test-wcsnrtombs.c: New file.
47435
47436         New module 'wcsnrtombs'.
47437         * lib/wchar.in.h (wcsnrtombs): New declaration.
47438         * lib/wcsnrtombs.c: New file.
47439         * lib/wcsrtombs-state.c: New file.
47440         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
47441         (internal_state): Remove variable.
47442         * m4/wcsnrtombs.m4: New file.
47443         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
47444         compilation units.
47445         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
47446         HAVE_WCSNRTOMBS.
47447         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
47448         HAVE_WCSNRTOMBS.
47449         * modules/wcsnrtombs: New file.
47450         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
47451         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
47452
47453 2008-12-21  Bruno Haible  <bruno@clisp.org>
47454
47455         * modules/wcsrtombs-tests: New file.
47456         * tests/test-wcsrtombs1.sh: New file.
47457         * tests/test-wcsrtombs2.sh: New file.
47458         * tests/test-wcsrtombs3.sh: New file.
47459         * tests/test-wcsrtombs4.sh: New file.
47460         * tests/test-wcsrtombs.c: New file.
47461
47462         New module 'wcsrtombs'.
47463         * lib/wchar.in.h (wcsrtombs): New declaration.
47464         * lib/wcsrtombs.c: New file.
47465         * m4/wcsrtombs.m4: New file.
47466         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
47467         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47468         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
47469         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47470         * modules/wcsrtombs: New file.
47471         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
47472         bugs.
47473
47474 2008-12-21  Bruno Haible  <bruno@clisp.org>
47475
47476         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
47477         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
47478         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
47479         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
47480         if not correct.
47481         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
47482         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
47483         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47484         m4/locale-zh.m4, m4/codeset.m4.
47485         * doc/posix-functions/wcrtomb.texi: Document the bug.
47486
47487 2008-12-21  Bruno Haible  <bruno@clisp.org>
47488
47489         Work around a btowc() bug on IRIX 6.5.
47490         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
47491         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
47492         REPLACE_WTOBC if not.
47493         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
47494         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
47495         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
47496
47497 2008-12-21  Bruno Haible  <bruno@clisp.org>
47498
47499         * modules/wcrtomb-tests: New file.
47500         * tests/test-wcrtomb.sh: New file.
47501         * tests/test-wcrtomb.c: New file.
47502
47503         New module 'wcrtomb'.
47504         * lib/wchar.in.h (wcrtomb): New declaration.
47505         * lib/wcrtomb.c: New file.
47506         * m4/wcrtomb.m4: New file.
47507         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
47508         HAVE_WCRTOMB.
47509         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
47510         HAVE_WCRTOMB.
47511         * modules/wcrtomb: New file.
47512         * doc/posix-functions/wcrtomb.texi: Mention the new module.
47513
47514 2008-12-21  Bruno Haible  <bruno@clisp.org>
47515
47516         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
47517         * modules/mbsrtowcs (Files): Likewise.
47518         * modules/wctob (Files): Likewise.
47519         * modules/c-strcase-tests (Files): Likewise.
47520         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
47521         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
47522         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
47523         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
47524         * modules/vasnprintf-posix-tests (Files): Likewise.
47525
47526 2008-12-21  William Pursell  <bill.pursell@gmail.com>
47527
47528         gitlog-to-changelog: pass all command-line arguments to git-log
47529         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
47530         it is sometimes convenient to filter the commits in various ways.
47531         gitlog-to-changelog only allows --since to specify a start date,
47532         but git-log itself supports many other filtering mechanisms.
47533         At the moment, I want to filter by branch name.  Rather than
47534         adding a --branch option to gitlog-to-changelog, it seems more
47535         flexible to simply pass all options directly to git-log and let
47536         git do the work.  Notice that this effectively makes --since a
47537         redundant option for gitlog-to-changelog, but removing it would
47538         require current usage to change since calls would then require
47539         an additional '--'.
47540
47541 2008-12-21  Bruno Haible  <bruno@clisp.org>
47542
47543         * modules/mbsnrtowcs-tests: New file.
47544         * tests/test-mbsnrtowcs1.sh: New file.
47545         * tests/test-mbsnrtowcs2.sh: New file.
47546         * tests/test-mbsnrtowcs3.sh: New file.
47547         * tests/test-mbsnrtowcs4.sh: New file.
47548         * tests/test-mbsnrtowcs.c: New file.
47549
47550         New module 'mbsnrtowcs'.
47551         * lib/wchar.in.h (mbsnrtowcs): New declaration.
47552         * lib/mbsnrtowcs.c: New file.
47553         * lib/mbsrtowcs-state.c: New file.
47554         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
47555         (internal_state): Remove variable.
47556         * m4/mbsnrtowcs.m4: New file.
47557         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
47558         compilation units.
47559         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
47560         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47561         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
47562         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47563         * modules/mbsnrtowcs: New file.
47564         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
47565         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
47566         portability problem.
47567
47568 2008-12-21  Bruno Haible  <bruno@clisp.org>
47569
47570         Work around mbsrtowcs bug.
47571         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
47572         (gl_FUNC_MBSRTOWCS): Invoke it.
47573         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47574         m4/locale-zh.m4.
47575         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
47576
47577 2008-12-21  Bruno Haible  <bruno@clisp.org>
47578
47579         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
47580
47581 2008-12-21  Bruno Haible  <bruno@clisp.org>
47582
47583         Update doc for AIX.
47584         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
47585         16-bit wchar_t type.
47586         * doc/posix-functions/btowc.texi: Likewise.
47587         * doc/posix-functions/fgetwc.texi: Likewise.
47588         * doc/posix-functions/fgetws.texi: Likewise.
47589         * doc/posix-functions/fputwc.texi: Likewise.
47590         * doc/posix-functions/fputws.texi: Likewise.
47591         * doc/posix-functions/fwide.texi: Likewise.
47592         * doc/posix-functions/fwprintf.texi: Likewise.
47593         * doc/posix-functions/fwscanf.texi: Likewise.
47594         * doc/posix-functions/getwchar.texi: Likewise.
47595         * doc/posix-functions/getwc.texi: Likewise.
47596         * doc/posix-functions/iswalnum.texi: Likewise.
47597         * doc/posix-functions/iswalpha.texi: Likewise.
47598         * doc/posix-functions/iswblank.texi: Likewise.
47599         * doc/posix-functions/iswcntrl.texi: Likewise.
47600         * doc/posix-functions/iswctype.texi: Likewise.
47601         * doc/posix-functions/iswdigit.texi: Likewise.
47602         * doc/posix-functions/iswgraph.texi: Likewise.
47603         * doc/posix-functions/iswlower.texi: Likewise.
47604         * doc/posix-functions/iswprint.texi: Likewise.
47605         * doc/posix-functions/iswpunct.texi: Likewise.
47606         * doc/posix-functions/iswspace.texi: Likewise.
47607         * doc/posix-functions/iswupper.texi: Likewise.
47608         * doc/posix-functions/iswxdigit.texi: Likewise.
47609         * doc/posix-functions/mbrtowc.texi: Likewise.
47610         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47611         * doc/posix-functions/mbstowcs.texi: Likewise.
47612         * doc/posix-functions/mbtowc.texi: Likewise.
47613         * doc/posix-functions/putwchar.texi: Likewise.
47614         * doc/posix-functions/putwc.texi: Likewise.
47615         * doc/posix-functions/swprintf.texi: Likewise.
47616         * doc/posix-functions/tolower.texi: Likewise.
47617         * doc/posix-functions/toupper.texi: Likewise.
47618         * doc/posix-functions/towctrans.texi: Likewise.
47619         * doc/posix-functions/ungetwc.texi: Likewise.
47620         * doc/posix-functions/vswprintf.texi: Likewise.
47621         * doc/posix-functions/wcrtomb.texi: Likewise.
47622         * doc/posix-functions/wcscat.texi: Likewise.
47623         * doc/posix-functions/wcschr.texi: Likewise.
47624         * doc/posix-functions/wcscmp.texi: Likewise.
47625         * doc/posix-functions/wcscoll.texi: Likewise.
47626         * doc/posix-functions/wcscpy.texi: Likewise.
47627         * doc/posix-functions/wcscspn.texi: Likewise.
47628         * doc/posix-functions/wcsftime.texi: Likewise.
47629         * doc/posix-functions/wcslen.texi: Likewise.
47630         * doc/posix-functions/wcsncat.texi: Likewise.
47631         * doc/posix-functions/wcsncmp.texi: Likewise.
47632         * doc/posix-functions/wcsncpy.texi: Likewise.
47633         * doc/posix-functions/wcspbrk.texi: Likewise.
47634         * doc/posix-functions/wcsrchr.texi: Likewise.
47635         * doc/posix-functions/wcsrtombs.texi: Likewise.
47636         * doc/posix-functions/wcsspn.texi: Likewise.
47637         * doc/posix-functions/wcsstr.texi: Likewise.
47638         * doc/posix-functions/wcstod.texi: Likewise.
47639         * doc/posix-functions/wcstof.texi: Likewise.
47640         * doc/posix-functions/wcstoimax.texi: Likewise.
47641         * doc/posix-functions/wcstok.texi: Likewise.
47642         * doc/posix-functions/wcstold.texi: Likewise.
47643         * doc/posix-functions/wcstoll.texi: Likewise.
47644         * doc/posix-functions/wcstol.texi: Likewise.
47645         * doc/posix-functions/wcstombs.texi: Likewise.
47646         * doc/posix-functions/wcstoull.texi: Likewise.
47647         * doc/posix-functions/wcstoul.texi: Likewise.
47648         * doc/posix-functions/wcstoumax.texi: Likewise.
47649         * doc/posix-functions/wcswidth.texi: Likewise.
47650         * doc/posix-functions/wcsxfrm.texi: Likewise.
47651         * doc/posix-functions/wctob.texi: Likewise.
47652         * doc/posix-functions/wctomb.texi: Likewise.
47653         * doc/posix-functions/wctrans.texi: Likewise.
47654         * doc/posix-functions/wctype.texi: Likewise.
47655         * doc/posix-functions/wcwidth.texi: Likewise.
47656         * doc/posix-functions/wmemchr.texi: Likewise.
47657         * doc/posix-functions/wmemcmp.texi: Likewise.
47658         * doc/posix-functions/wmemcpy.texi: Likewise.
47659         * doc/posix-functions/wmemmove.texi: Likewise.
47660         * doc/posix-functions/wmemset.texi: Likewise.
47661         * doc/posix-functions/wprintf.texi: Likewise.
47662         * doc/posix-functions/wscanf.texi: Likewise.
47663
47664 2008-12-21  Bruno Haible  <bruno@clisp.org>
47665
47666         Update doc for HP-UX 11.11.
47667         * doc/posix-functions/btowc.texi: Clarify that the function is missing
47668         in HP-UX version 11.00, not in all versions of HP-UX 11.
47669         * doc/posix-functions/fwide.texi: Likewise.
47670         * doc/posix-functions/fwprintf.texi: Likewise.
47671         * doc/posix-functions/fwscanf.texi: Likewise.
47672         * doc/posix-functions/inet_ntop.texi: Likewise.
47673         * doc/posix-functions/inet_pton.texi: Likewise.
47674         * doc/posix-functions/mbrlen.texi: Likewise.
47675         * doc/posix-functions/mbrtowc.texi: Likewise.
47676         * doc/posix-functions/mbsinit.texi: Likewise.
47677         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47678         * doc/posix-functions/swprintf.texi: Likewise.
47679         * doc/posix-functions/swscanf.texi: Likewise.
47680         * doc/posix-functions/towctrans.texi: Likewise.
47681         * doc/posix-functions/vfwprintf.texi: Likewise.
47682         * doc/posix-functions/vswprintf.texi: Likewise.
47683         * doc/posix-functions/vwprintf.texi: Likewise.
47684         * doc/posix-functions/wcrtomb.texi: Likewise.
47685         * doc/posix-functions/wcsrtombs.texi: Likewise.
47686         * doc/posix-functions/wcsstr.texi: Likewise.
47687         * doc/posix-functions/wctob.texi: Likewise.
47688         * doc/posix-functions/wctrans.texi: Likewise.
47689         * doc/posix-functions/wmemchr.texi: Likewise.
47690         * doc/posix-functions/wmemcmp.texi: Likewise.
47691         * doc/posix-functions/wmemcpy.texi: Likewise.
47692         * doc/posix-functions/wmemmove.texi: Likewise.
47693         * doc/posix-functions/wmemset.texi: Likewise.
47694         * doc/posix-functions/wprintf.texi: Likewise.
47695         * doc/posix-functions/wscanf.texi: Likewise.
47696
47697 2008-12-21  Bruno Haible  <bruno@clisp.org>
47698
47699         Work around a portability problem.
47700         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47701         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47702
47703 2008-12-20  Bruno Haible  <bruno@clisp.org>
47704
47705         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47706         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47707         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47708         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47709         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47710
47711         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47712         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47713         set.
47714         (GNULIB_defined_mbstate_t): New macro.
47715         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47716         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47717         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47718         reuses the system's mbrtowc function but works around the bugs.
47719         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47720         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47721         macros.
47722         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47723         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47724         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47725         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47726         REPLACE_MBSINIT if mbsinit needs to be overridden.
47727         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47728         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47729         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47730         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47731         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47732         m4/locale-zh.m4.
47733         (Depends): Add mbsinit.
47734         * modules/mbsinit (Depends): Add mbrtowc.
47735         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47736
47737 2008-12-20  Bruno Haible  <bruno@clisp.org>
47738
47739         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47740         so that there are no conversion errors on AIX.
47741         * tests/test-mbsrtowcs.c (main): LIkewise.
47742
47743 2008-12-20  Bruno Haible  <bruno@clisp.org>
47744
47745         Work around wctob bug on Solaris <= 9.
47746         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47747         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47748         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47749         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47750         * modules/wctob (Files): Add m4/locale-fr.m4.
47751         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47752
47753 2008-12-20  Bruno Haible  <bruno@clisp.org>
47754
47755         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47756         /dev/null.
47757         * tests/test-select-in.sh: Likewise.
47758         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47759
47760 2008-12-20  Bruno Haible  <bruno@clisp.org>
47761
47762         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47763         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47764         Cygwin 1.5.x.
47765
47766 2008-12-20  Bruno Haible  <bruno@clisp.org>
47767
47768         Ensure mbstate_t is defined on HP-UX 11.11.
47769         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47770         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47771         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47772         AC_USE_SYSTEM_EXTENSIONS.
47773         * modules/fnmatch (Depends-on): Add extensions.
47774         * modules/mbrlen (Depends-on): Likewise.
47775         * modules/mbrtowc (Depends-on): Likewise.
47776         * modules/mbsinit (Depends-on): Likewise.
47777         * modules/mbsrtowcs (Depends-on): Likewise.
47778         * modules/mbswidth (Depends-on): Likewise.
47779         * modules/quotearg (Depends-on): Likewise.
47780         * modules/strftime (Depends-on): Likewise.
47781
47782 2008-12-20  Bruno Haible  <bruno@clisp.org>
47783
47784         Ensure wctob is declared on IRIX 6.5.
47785         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47786         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47787         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47788         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47789         of HAVE_WCTOB.
47790         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47791         HAVE_WCTOB.
47792         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47793
47794 2008-12-19  Bruno Haible  <bruno@clisp.org>
47795
47796         * modules/mbsrtowcs-tests: New file.
47797         * tests/test-mbsrtowcs1.sh: New file.
47798         * tests/test-mbsrtowcs2.sh: New file.
47799         * tests/test-mbsrtowcs3.sh: New file.
47800         * tests/test-mbsrtowcs4.sh: New file.
47801         * tests/test-mbsrtowcs.c: New file.
47802
47803         New module 'mbsrtowcs'.
47804         * lib/wchar.in.h (mbsrtowcs): New declaration.
47805         * lib/mbsrtowcs.c: New file.
47806         * m4/mbsrtowcs.m4: New file.
47807         * modules/mbsrtowcs: New file.
47808         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47809         HAVE_MBSRTOWCS.
47810         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47811         HAVE_MBSRTOWCS.
47812         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47813
47814 2008-12-19  Bruno Haible  <bruno@clisp.org>
47815
47816         New module 'mbrlen'.
47817         * lib/wchar.in.h (mbrlen): New declaration.
47818         * lib/mbrlen.c: New file.
47819         * m4/mbrlen.m4: New file.
47820         * modules/mbrlen: New file.
47821         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
47822         HAVE_MBRLEN.
47823         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
47824         HAVE_MBRLEN.
47825         * doc/posix-functions/mbrlen.texi: Document the new module.
47826
47827 2008-12-19  Bruno Haible  <bruno@clisp.org>
47828
47829         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
47830         * modules/mbrtowc (Depends-on): Add verify.
47831         Suggested by Paul Eggert.
47832
47833 2008-12-18  Bruno Haible  <bruno@clisp.org>
47834
47835         * modules/mbsinit-tests: New file.
47836         * tests/test-mbsinit.sh: New file.
47837         * tests/test-mbsinit.c: New file.
47838
47839 2008-12-18  Bruno Haible  <bruno@clisp.org>
47840
47841         * modules/mbrtowc-tests: New file.
47842         * tests/test-mbrtowc1.sh: New file.
47843         * tests/test-mbrtowc2.sh: New file.
47844         * tests/test-mbrtowc3.sh: New file.
47845         * tests/test-mbrtowc4.sh: New file.
47846         * tests/test-mbrtowc.c: New file.
47847
47848         New module 'mbrtowc'.
47849         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47850         mbsinit and mbrtowc.
47851         (mbrtowc): New declaration.
47852         * lib/mbrtowc.c: New file.
47853         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47854         * modules/mbrtowc: New file.
47855         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47856         HAVE_MBRTOWC.
47857         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47858         HAVE_MBRTOWC.
47859         * doc/posix-functions/mbrtowc.texi: Document the new module.
47860
47861 2008-12-18  Bruno Haible  <bruno@clisp.org>
47862
47863         New module 'wctob'.
47864         * lib/wchar.in.h (wctob): New declaration.
47865         * lib/wctob.c: New file.
47866         * m4/wctob.m4: New file.
47867         * modules/wctob: New file.
47868         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47869         HAVE_WCTOB.
47870         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47871         * doc/posix-functions/wctob.texi: Document the new module.
47872
47873 2008-12-18  Bruno Haible  <bruno@clisp.org>
47874
47875         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47876         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47877
47878 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47879
47880         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47881         G. Christensen" <tgc@jupiterrise.com>.
47882
47883         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47884         G. Christensen" <tgc@jupiterrise.com>.
47885
47886         * lib/flock.c: Need to include string.h.  Reported by "Tom
47887         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47888         <ebb9@byu.net>.
47889
47890 2008-12-18  Bruno Haible  <bruno@clisp.org>
47891
47892         * m4/locale-ja.m4: New file, from GNU gettext.
47893
47894 2008-12-17  Bruno Haible  <bruno@clisp.org>
47895
47896         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47897         Suggested by Eric Blake.
47898
47899 2008-12-17  Bruno Haible  <bruno@clisp.org>
47900
47901         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47902
47903 2008-12-17  Bruno Haible  <bruno@clisp.org>
47904
47905         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47906         * modules/mbsinit (Depends-on): Add verify.
47907         Suggested by Paul Eggert.
47908
47909 2008-12-17  Bruno Haible  <bruno@clisp.org>
47910
47911         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47912         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47913         gl_FUNC_MBRTOWC.
47914         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47915         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47916         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47917         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47918         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47919         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47920         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47921         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47922         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47923         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47924         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47925         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47926         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47927         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47928         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47929         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47930         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47931         * modules/trim (configure.ac): Likewise.
47932
47933 2008-12-17  Bruno Haible  <bruno@clisp.org>
47934
47935         * modules/btowc-tests: New file.
47936         * tests/test-btowc1.sh: New file.
47937         * tests/test-btowc2.sh: New file.
47938         * tests/test-btowc.c: New file.
47939
47940         New module 'btowc'.
47941         * lib/wchar.in.h (btowc): New declaration.
47942         * lib/btowc.c: New file.
47943         * m4/btowc.m4: New file.
47944         * modules/btowc: New file.
47945         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47946         HAVE_BTOWC.
47947         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47948         * doc/posix-functions/btowc.texi: Document the new module.
47949
47950 2008-12-17  Bruno Haible  <bruno@clisp.org>
47951
47952         New module 'mbsinit'.
47953         * lib/wchar.in.h (mbsinit): New declaration.
47954         * lib/mbsinit.c: New file.
47955         * m4/mbsinit.m4: New file.
47956         * modules/mbsinit: New file.
47957         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47958         HAVE_MBSINIT.
47959         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
47960         HAVE_MBSINIT.
47961         * doc/posix-functions/mbsinit.texi: Document the new module.
47962
47963 2008-12-16  Bruno Haible  <bruno@clisp.org>
47964
47965         * lib/unistd.in.h: Add comment.
47966         * tests/test-environ.c: Don't include <stdlib.h>.
47967
47968 2008-12-16  Bruno Haible  <bruno@clisp.org>
47969
47970         * lib/parse-duration.h (parse_duration): Document return value
47971         convention.
47972         * lib/parse-duration.c: Include specification header first. Add
47973         comments.
47974         (_): Remove macro.
47975         (parse_year_month_day, parse_hour_minute_second): Move side effects
47976         outside of strchr call.
47977         (parse_non_iso8601): Move side effects outside of isspace call.
47978         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
47979         call.
47980
47981 2008-12-16  Bruno Haible  <bruno@clisp.org>
47982
47983         * tests/test-parse-duration.sh: Produce no output when the test
47984         succeeds.
47985
47986 2008-12-16  Bruno Haible  <bruno@clisp.org>
47987
47988         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
47989         expressions.
47990
47991 2008-12-15  Bruno Haible  <bruno@clisp.org>
47992
47993         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
47994         * doc/glibc-functions/flistxattr.texi: Likewise.
47995         * doc/glibc-functions/fopencookie.texi: Likewise.
47996         * doc/glibc-functions/fremovexattr.texi: Likewise.
47997         * doc/glibc-functions/fsetxattr.texi: Likewise.
47998         * doc/glibc-functions/getxattr.texi: Likewise.
47999         * doc/glibc-functions/lgetxattr.texi: Likewise.
48000         * doc/glibc-functions/listxattr.texi: Likewise.
48001         * doc/glibc-functions/llistxattr.texi: Likewise.
48002         * doc/glibc-functions/lremovexattr.texi: Likewise.
48003         * doc/glibc-functions/lsetxattr.texi: Likewise.
48004         * doc/glibc-functions/removexattr.texi: Likewise.
48005         * doc/glibc-functions/setxattr.texi: Likewise.
48006         * doc/posix-functions/open_memstream.texi: Likewise.
48007
48008 2008-12-15  Eric Blake  <ebb9@byu.net>
48009
48010         Update doc for cygwin 1.7.
48011         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
48012         functions.
48013         * doc/posix-functions/fchmodat.texi: Likewise.
48014         * doc/posix-functions/fchownat.texi: Likewise.
48015         * doc/posix-functions/fdopendir.texi: Likewise.
48016         * doc/posix-functions/fmemopen.texi: Likewise.
48017         * doc/posix-functions/freeaddrinfo.texi: Likewise.
48018         * doc/posix-functions/fstatat.texi: Likewise.
48019         * doc/posix-functions/futimens.texi: Likewise.
48020         * doc/posix-functions/gai_strerror.texi: Likewise.
48021         * doc/posix-functions/getaddrinfo.texi: Likewise.
48022         * doc/posix-functions/getnameinfo.texi: Likewise.
48023         * doc/posix-functions/if_freenameindex.texi: Likewise.
48024         * doc/posix-functions/if_indextoname.texi: Likewise.
48025         * doc/posix-functions/if_nameindex.texi: Likewise.
48026         * doc/posix-functions/if_nametoindex.texi: Likewise.
48027         * doc/posix-functions/insque.texi: Likewise.
48028         * doc/posix-functions/linkat.texi: Likewise.
48029         * doc/posix-functions/llrint.texi: Likewise.
48030         * doc/posix-functions/llrintf.texi: Likewise.
48031         * doc/posix-functions/llrintl.texi: Likewise.
48032         * doc/posix-functions/lockf.texi: Likewise.
48033         * doc/posix-functions/lrintl.texi: Likewise.
48034         * doc/posix-functions/mkdirat.texi: Likewise.
48035         * doc/posix-functions/mkfifoat.texi: Likewise.
48036         * doc/posix-functions/mknodat.texi: Likewise.
48037         * doc/posix-functions/mq_close.texi: Likewise.
48038         * doc/posix-functions/mq_getattr.texi: Likewise.
48039         * doc/posix-functions/mq_notify.texi: Likewise.
48040         * doc/posix-functions/mq_open.texi: Likewise.
48041         * doc/posix-functions/mq_receive.texi: Likewise.
48042         * doc/posix-functions/mq_send.texi: Likewise.
48043         * doc/posix-functions/mq_setattr.texi: Likewise.
48044         * doc/posix-functions/mq_timedreceive.texi: Likewise.
48045         * doc/posix-functions/mq_timedsend.texi: Likewise.
48046         * doc/posix-functions/mq_unlink.texi: Likewise.
48047         * doc/posix-functions/open_memstream.texi: Likewise.
48048         * doc/posix-functions/openat.texi: Likewise.
48049         * doc/posix-functions/posix_fadvise.texi: Likewise.
48050         * doc/posix-functions/posix_fallocate.texi: Likewise.
48051         * doc/posix-functions/posix_madvise.texi: Likewise.
48052         * doc/posix-functions/posix_memalign.texi: Likewise.
48053         * doc/posix-functions/posix_openpt.texi: Likewise.
48054         * doc/posix-functions/readlinkat.texi: Likewise.
48055         * doc/posix-functions/remque.texi: Likewise.
48056         * doc/posix-functions/renameat.texi: Likewise.
48057         * doc/posix-functions/rintl.texi: Likewise.
48058         * doc/posix-functions/sem_unlink.texi: Likewise.
48059         * doc/posix-functions/shm_open.texi: Likewise.
48060         * doc/posix-functions/shm_unlink.texi: Likewise.
48061         * doc/posix-functions/signgam.texi: Likewise.
48062         * doc/posix-functions/sigset.texi: Likewise.
48063         * doc/posix-functions/stpcpy.texi: Likewise.
48064         * doc/posix-functions/stpncpy.texi: Likewise.
48065         * doc/posix-functions/strerror.texi: Likewise.
48066         * doc/posix-functions/strtod.texi: Likewise.
48067         * doc/posix-functions/symlinkat.texi: Likewise.
48068         * doc/posix-functions/unlinkat.texi: Likewise.
48069         * doc/posix-functions/utimensat.texi: Likewise.
48070         * doc/glibc-functions/bindresvport.texi: Likewise.
48071         * doc/glibc-functions/dn_expand.texi: Likewise.
48072         * doc/glibc-functions/exp10.texi: Likewise.
48073         * doc/glibc-functions/exp10f.texi: Likewise.
48074         * doc/glibc-functions/fgetxattr.texi: Likewise.
48075         * doc/glibc-functions/flistxattr.texi: Likewise.
48076         * doc/glibc-functions/fopencookie.texi: Likewise.
48077         * doc/glibc-functions/freeifaddrs.texi: Likewise.
48078         * doc/glibc-functions/fremovexattr.texi: Likewise.
48079         * doc/glibc-functions/fsetxattr.texi: Likewise.
48080         * doc/glibc-functions/getifaddrs.texi: Likewise.
48081         * doc/glibc-functions/getxattr.texi: Likewise.
48082         * doc/glibc-functions/lgetxattr.texi: Likewise.
48083         * doc/glibc-functions/listxattr.texi: Likewise.
48084         * doc/glibc-functions/llistxattr.texi: Likewise.
48085         * doc/glibc-functions/lremovexattr.texi: Likewise.
48086         * doc/glibc-functions/lsetxattr.texi: Likewise.
48087         * doc/glibc-functions/pow10.texi: Likewise.
48088         * doc/glibc-functions/pow10f.texi: Likewise.
48089         * doc/glibc-functions/rcmd_af.texi: Likewise.
48090         * doc/glibc-functions/removexattr.texi: Likewise.
48091         * doc/glibc-functions/res_init.texi: Likewise.
48092         * doc/glibc-functions/res_mkquery.texi: Likewise.
48093         * doc/glibc-functions/res_query.texi: Likewise.
48094         * doc/glibc-functions/res_querydomain.texi: Likewise.
48095         * doc/glibc-functions/res_send.texi: Likewise.
48096         * doc/glibc-functions/rresvport_af.texi: Likewise.
48097         * doc/glibc-functions/setxattr.texi: Likewise.
48098         * doc/glibc-functions/strcasestr.texi: Likewise.
48099
48100 2008-12-15  Bruno Haible  <bruno@clisp.org>
48101
48102         Fix compilation error on OSF/1 4.0.
48103         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
48104         <sys/time.h>, simply delegate to the system header.
48105         Reported by Daniel Richard G. <oss@teragram.com>.
48106
48107 2008-12-15  Bruno Haible  <bruno@clisp.org>
48108
48109         * doc/posix-functions/openat.texi: Mention the 'openat' module.
48110         * doc/posix-functions/fchmodat.texi: Likewise.
48111         * doc/posix-functions/fchownat.texi: Likewise.
48112         * doc/posix-functions/fdopendir.texi: Likewise.
48113         * doc/posix-functions/fstatat.texi: Likewise.
48114         * doc/posix-functions/mkdirat.texi: Likewise.
48115         * doc/posix-functions/unlinkat.texi: Likewise.
48116
48117 2008-12-14  Bruno Haible  <bruno@clisp.org>
48118
48119         Update doc for POSIX:2008.
48120         * doc/posix-functions/faccessat.texi: New file.
48121         * doc/posix-functions/fchmodat.texi: New file.
48122         * doc/posix-functions/fchownat.texi: New file.
48123         * doc/posix-functions/fdopendir.texi: New file.
48124         * doc/posix-functions/fstatat.texi: New file.
48125         * doc/posix-functions/futimens.texi: New file.
48126         * doc/posix-functions/linkat.texi: New file.
48127         * doc/posix-functions/mkdirat.texi: New file.
48128         * doc/posix-functions/mkfifoat.texi: New file.
48129         * doc/posix-functions/mknodat.texi: New file.
48130         * doc/posix-functions/open_wmemstream.texi: New file.
48131         * doc/posix-functions/openat.texi: New file.
48132         * doc/posix-functions/psiginfo.texi: New file.
48133         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
48134         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
48135         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
48136         * doc/posix-functions/readlinkat.texi: New file.
48137         * doc/posix-functions/renameat.texi: New file.
48138         * doc/posix-functions/strerror_l.texi: New file.
48139         * doc/posix-functions/symlinkat.texi: New file.
48140         * doc/posix-functions/unlinkat.texi: New file.
48141         * doc/posix-functions/utimensat.texi: New file.
48142         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48143
48144 2008-12-14  Bruno Haible  <bruno@clisp.org>
48145
48146         Update doc for POSIX:2008.
48147         * doc/posix-functions/alphasort.texi: Renamed from
48148         doc/glibc-functions/alphasort.texi.
48149         * doc/posix-functions/dirfd.texi: Renamed from
48150         doc/glibc-functions/dirfd.texi.
48151         * doc/posix-functions/dprintf.texi: Renamed from
48152         doc/glibc-functions/dprintf.texi.
48153         * doc/posix-functions/duplocale.texi: Renamed from
48154         doc/glibc-functions/duplocale.texi.
48155         * doc/posix-functions/fexecve.texi: Renamed from
48156         doc/glibc-functions/fexecve.texi.
48157         * doc/posix-functions/fmemopen.texi: Renamed from
48158         doc/glibc-functions/fmemopen.texi.
48159         * doc/posix-functions/freelocale.texi: Renamed from
48160         doc/glibc-functions/freelocale.texi.
48161         * doc/posix-functions/getdate_err.texi: Renamed from
48162         doc/glibc-functions/getdate_err.texi.
48163         * doc/posix-functions/isalnum_l.texi: Renamed from
48164         doc/glibc-functions/isalnum_l.texi.
48165         * doc/posix-functions/isalpha_l.texi: Renamed from
48166         doc/glibc-functions/isalpha_l.texi.
48167         * doc/posix-functions/isblank_l.texi: Renamed from
48168         doc/glibc-functions/isblank_l.texi.
48169         * doc/posix-functions/iscntrl_l.texi: Renamed from
48170         doc/glibc-functions/iscntrl_l.texi.
48171         * doc/posix-functions/isdigit_l.texi: Renamed from
48172         doc/glibc-functions/isdigit_l.texi.
48173         * doc/posix-functions/isgraph_l.texi: Renamed from
48174         doc/glibc-functions/isgraph_l.texi.
48175         * doc/posix-functions/islower_l.texi: Renamed from
48176         doc/glibc-functions/islower_l.texi.
48177         * doc/posix-functions/isprint_l.texi: Renamed from
48178         doc/glibc-functions/isprint_l.texi.
48179         * doc/posix-functions/ispunct_l.texi: Renamed from
48180         doc/glibc-functions/ispunct_l.texi.
48181         * doc/posix-functions/isspace_l.texi: Renamed from
48182         doc/glibc-functions/isspace_l.texi.
48183         * doc/posix-functions/isupper_l.texi: Renamed from
48184         doc/glibc-functions/isupper_l.texi.
48185         * doc/posix-functions/iswalnum_l.texi: Renamed from
48186         doc/glibc-functions/iswalnum_l.texi.
48187         * doc/posix-functions/iswalpha_l.texi: Renamed from
48188         doc/glibc-functions/iswalpha_l.texi.
48189         * doc/posix-functions/iswblank_l.texi: Renamed from
48190         doc/glibc-functions/iswblank_l.texi.
48191         * doc/posix-functions/iswcntrl_l.texi: Renamed from
48192         doc/glibc-functions/iswcntrl_l.texi.
48193         * doc/posix-functions/iswctype_l.texi: Renamed from
48194         doc/glibc-functions/iswctype_l.texi.
48195         * doc/posix-functions/iswdigit_l.texi: Renamed from
48196         doc/glibc-functions/iswdigit_l.texi.
48197         * doc/posix-functions/iswgraph_l.texi: Renamed from
48198         doc/glibc-functions/iswgraph_l.texi.
48199         * doc/posix-functions/iswlower_l.texi: Renamed from
48200         doc/glibc-functions/iswlower_l.texi.
48201         * doc/posix-functions/iswprint_l.texi: Renamed from
48202         doc/glibc-functions/iswprint_l.texi.
48203         * doc/posix-functions/iswpunct_l.texi: Renamed from
48204         doc/glibc-functions/iswpunct_l.texi.
48205         * doc/posix-functions/iswspace_l.texi: Renamed from
48206         doc/glibc-functions/iswspace_l.texi.
48207         * doc/posix-functions/iswupper_l.texi: Renamed from
48208         doc/glibc-functions/iswupper_l.texi.
48209         * doc/posix-functions/iswxdigit_l.texi: Renamed from
48210         doc/glibc-functions/iswxdigit_l.texi.
48211         * doc/posix-functions/isxdigit_l.texi: Renamed from
48212         doc/glibc-functions/isxdigit_l.texi.
48213         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
48214         doc/glibc-functions/mbsnrtowcs.texi.
48215         * doc/posix-functions/mkdtemp.texi: Renamed from
48216         doc/glibc-functions/mkdtemp.texi.
48217         * doc/posix-functions/newlocale.texi: Renamed from
48218         doc/glibc-functions/newlocale.texi.
48219         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
48220         doc/glibc-functions/nl_langinfo_l.texi.
48221         * doc/posix-functions/open_memstream.texi: Renamed from
48222         doc/glibc-functions/open_memstream.texi.
48223         * doc/posix-functions/opterr.texi: Renamed from
48224         doc/glibc-functions/opterr.texi.
48225         * doc/posix-functions/optind.texi: Renamed from
48226         doc/glibc-functions/optind.texi.
48227         * doc/posix-functions/optopt.texi: Renamed from
48228         doc/glibc-functions/optopt.texi.
48229         * doc/posix-functions/psignal.texi: Renamed from
48230         doc/glibc-functions/psignal.texi.
48231         * doc/posix-functions/scandir.texi: Renamed from
48232         doc/glibc-functions/scandir.texi.
48233         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
48234         doc/glibc-functions/sched_get_priority_min.texi.
48235         * doc/posix-functions/signgam.texi: Renamed from
48236         doc/glibc-functions/signgam.texi.
48237         * doc/posix-functions/stpcpy.texi: Renamed from
48238         doc/glibc-functions/stpcpy.texi.
48239         * doc/posix-functions/stpncpy.texi: Renamed from
48240         doc/glibc-functions/stpncpy.texi.
48241         * doc/posix-functions/strcasecmp_l.texi: Renamed from
48242         doc/glibc-functions/strcasecmp_l.texi.
48243         * doc/posix-functions/strcoll_l.texi: Renamed from
48244         doc/glibc-functions/strcoll_l.texi.
48245         * doc/posix-functions/strfmon_l.texi: Renamed from
48246         doc/glibc-functions/strfmon_l.texi.
48247         * doc/posix-functions/strftime_l.texi: Renamed from
48248         doc/glibc-functions/strftime_l.texi.
48249         * doc/posix-functions/strncasecmp_l.texi: Renamed from
48250         doc/glibc-functions/strncasecmp_l.texi.
48251         * doc/posix-functions/strndup.texi: Renamed from
48252         doc/glibc-functions/strndup.texi.
48253         * doc/posix-functions/strnlen.texi: Renamed from
48254         doc/glibc-functions/strnlen.texi.
48255         * doc/posix-functions/strsignal.texi: Renamed from
48256         doc/glibc-functions/strsignal.texi.
48257         * doc/posix-functions/strxfrm_l.texi: Renamed from
48258         doc/glibc-functions/strxfrm_l.texi.
48259         * doc/posix-functions/timer_gettime.texi: Renamed from
48260         doc/glibc-functions/timer_gettime.texi.
48261         * doc/posix-functions/tolower_l.texi: Renamed from
48262         doc/glibc-functions/tolower_l.texi.
48263         * doc/posix-functions/toupper_l.texi: Renamed from
48264         doc/glibc-functions/toupper_l.texi.
48265         * doc/posix-functions/towctrans_l.texi: Renamed from
48266         doc/glibc-functions/towctrans_l.texi.
48267         * doc/posix-functions/towlower_l.texi: Renamed from
48268         doc/glibc-functions/towlower_l.texi.
48269         * doc/posix-functions/towupper_l.texi: Renamed from
48270         doc/glibc-functions/towupper_l.texi.
48271         * doc/posix-functions/uselocale.texi: Renamed from
48272         doc/glibc-functions/uselocale.texi.
48273         * doc/posix-functions/vdprintf.texi: Renamed from
48274         doc/glibc-functions/vdprintf.texi.
48275         * doc/posix-functions/wcpcpy.texi:
48276         Renamed from doc/glibc-functions/wcpcpy.texi.
48277         * doc/posix-functions/wcpncpy.texi: Renamed from
48278         doc/glibc-functions/wcpncpy.texi.
48279         * doc/posix-functions/wcscasecmp.texi: Renamed from
48280         doc/glibc-functions/wcscasecmp.texi.
48281         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
48282         doc/glibc-functions/wcscasecmp_l.texi.
48283         * doc/posix-functions/wcscoll_l.texi: Renamed from
48284         doc/glibc-functions/wcscoll_l.texi.
48285         * doc/posix-functions/wcsdup.texi: Renamed from
48286         doc/glibc-functions/wcsdup.texi.
48287         * doc/posix-functions/wcsncasecmp.texi: Renamed from
48288         doc/glibc-functions/wcsncasecmp.texi.
48289         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
48290         doc/glibc-functions/wcsncasecmp_l.texi.
48291         * doc/posix-functions/wcsnlen.texi: Renamed from
48292         doc/glibc-functions/wcsnlen.texi.
48293         * doc/posix-functions/wcsnrtombs.texi: Renamed from
48294         doc/glibc-functions/wcsnrtombs.texi.
48295         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
48296         doc/glibc-functions/wcsxfrm_l.texi.
48297         * doc/posix-functions/wctrans_l.texi: Renamed from
48298         doc/glibc-functions/wctrans_l.texi.
48299         * doc/posix-functions/wctype_l.texi: Renamed from
48300         doc/glibc-functions/wctype_l.texi.
48301         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48302         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
48303         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
48304         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
48305         these subsections.
48306         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
48307         Remove sections.
48308
48309 2008-12-14  Bruno Haible  <bruno@clisp.org>
48310
48311         Update doc for POSIX:2008.
48312         * doc/posix-functions/*.texi: Update URL of POSIX specification.
48313
48314 2008-12-14  Bruno Haible  <bruno@clisp.org>
48315
48316         Update doc for POSIX:2008.
48317         * doc/pastposix-functions/bcmp.texi: Renamed from
48318         doc/posix-functions/bcmp.texi.
48319         * doc/pastposix-functions/bcopy.texi: Renamed from
48320         doc/posix-functions/bcopy.texi.
48321         * doc/pastposix-functions/bsd_signal.texi: Renamed from
48322         doc/posix-functions/bsd_signal.texi.
48323         * doc/pastposix-functions/bzero.texi: Renamed from
48324         doc/posix-functions/bzero.texi.
48325         * doc/pastposix-functions/ecvt.texi: Renamed from
48326         doc/posix-functions/ecvt.texi.
48327         * doc/pastposix-functions/fcvt.texi: Renamed from
48328         doc/posix-functions/fcvt.texi.
48329         * doc/pastposix-functions/ftime.texi: Renamed from
48330         doc/posix-functions/ftime.texi.
48331         * doc/pastposix-functions/gcvt.texi: Renamed from
48332         doc/posix-functions/gcvt.texi.
48333         * doc/pastposix-functions/getcontext.texi: Renamed from
48334         doc/posix-functions/getcontext.texi.
48335         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
48336         doc/posix-functions/gethostbyaddr.texi.
48337         * doc/pastposix-functions/gethostbyname.texi: Renamed from
48338         doc/posix-functions/gethostbyname.texi.
48339         * doc/pastposix-functions/getwd.texi: Renamed from
48340         doc/posix-functions/getwd.texi.
48341         * doc/pastposix-functions/h_errno.texi: Renamed from
48342         doc/posix-functions/h_errno.texi.
48343         * doc/pastposix-functions/index.texi: Renamed from
48344         doc/posix-functions/index.texi.
48345         * doc/pastposix-functions/makecontext.texi: Renamed from
48346         doc/posix-functions/makecontext.texi.
48347         * doc/pastposix-functions/mktemp.texi: Renamed from
48348         doc/posix-functions/mktemp.texi.
48349         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
48350         doc/posix-functions/pthread_attr_getstackaddr.texi.
48351         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
48352         doc/posix-functions/pthread_attr_setstackaddr.texi.
48353         * doc/pastposix-functions/rindex.texi: Renamed from
48354         doc/posix-functions/rindex.texi.
48355         * doc/pastposix-functions/scalb.texi: Renamed from
48356         doc/posix-functions/scalb.texi.
48357         * doc/pastposix-functions/setcontext.texi: Renamed from
48358         doc/posix-functions/setcontext.texi.
48359         * doc/pastposix-functions/swapcontext.texi: Renamed from
48360         doc/posix-functions/swapcontext.texi.
48361         * doc/pastposix-functions/ualarm.texi: Renamed from
48362         doc/posix-functions/ualarm.texi.
48363         * doc/pastposix-functions/usleep.texi: Renamed from
48364         doc/posix-functions/usleep.texi.
48365         * doc/pastposix-functions/vfork.texi: Renamed from
48366         doc/posix-functions/vfork.texi.
48367         * doc/pastposix-functions/wcswcs.texi: Renamed from
48368         doc/posix-functions/wcswcs.texi.
48369         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
48370         (Function Substitutes): Update.
48371
48372 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48373
48374         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
48375         m4/strerror.m4.
48376
48377 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48378             Bruno Haible  <bruno@clisp.org>
48379
48380         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
48381
48382 2008-12-13  Bruno Haible  <bruno@clisp.org>
48383
48384         * modules/strtoull (Depends-on): Remove unistd.
48385
48386 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48387
48388         * modules/strtoull (Depends-on): Add stdlib.
48389
48390 2008-12-11  Simon Josefsson  <simon@josefsson.org>
48391
48392         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
48393
48394 2008-12-10  Jim Meyering  <meyering@redhat.com>
48395
48396         gl_ASSERT: don't say assertions are disabled when they're not
48397         * m4/assert.m4 (gl_ASSERT): Do not make configure report
48398         "checking whether to enable assertions... no", when they are in
48399         fact enabled.  This is solely a bug in the output of configure.
48400         In spite of saying "no", NDEBUG was not defined in that case.
48401         Also, as noted by Eric Blake, leave assertions enabled upon
48402         --enable-assert=INVALID.
48403
48404 2008-12-10  Bruno Haible  <bruno@clisp.org>
48405
48406         Change MODULES.html to refer to POSIX:2008 where possible.
48407         * MODULES.html.sh (POSIX2008_URL): New variable.
48408         (posix_headers): Remove sys/timeb, ucontext.
48409         (posix2001_headers): New variable.
48410         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
48411         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
48412         index, makecontext, mktemp, pthread_attr_getstackaddr,
48413         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
48414         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
48415         (posix2001_functions): New variable.
48416         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
48417         otherwise.
48418
48419 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48420
48421         add missing include to parse-duration.c
48422         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
48423         * modules/parse-duration (Depends-on): Add xalloc.
48424
48425         fix sed script reading maint.mk
48426         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
48427         (syntax-check-rules): Use it.
48428
48429 2008-12-09  Bruno Haible  <bruno@clisp.org>
48430
48431         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
48432         MacOS X 10.4/PowerPC.
48433         Reported by Simon Josefsson.
48434
48435 2008-12-08  Jim Meyering  <meyering@redhat.com>
48436
48437         work around mingw's lack of some S_IF definitions
48438         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
48439         Reported by Simon Josefsson.
48440
48441 2008-12-08  Bruno Haible  <bruno@clisp.org>
48442
48443         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
48444         applied to variables. Needed on MacOS X 10.4/PowerPC.
48445         Reported by Simon Josefsson.
48446
48447 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
48448         and Eric Blake  <ebb9@byu.net>
48449
48450         assert: honor --enable-assert
48451         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
48452         order to honor --enable-assert, rather than treating it as a
48453         synonym for --disable-assert.
48454
48455 2008-12-08  Jim Meyering  <meyering@redhat.com>
48456
48457         * lib/posixtm.c: Remove now-useless declaration of mktime.
48458
48459         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
48460
48461 2008-12-07  Bruno Haible  <bruno@clisp.org>
48462
48463         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
48464         test_once): Mark functions as static.
48465         * tests/test-tls.c (test_tls): Likewise.
48466
48467 2008-12-07  Bruno Haible  <bruno@clisp.org>
48468
48469         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
48470         iconv_register_autodetect.
48471
48472 2008-12-07  Jim Meyering  <meyering@redhat.com>
48473
48474         posixtm.c: avoid a warning
48475         * lib/posixtm.c (posixtime): Don't initialize tm0.
48476         It's no longer needed to placate gcc4's -Wuninitialized,
48477         and the attempt to placate would elicit a new warning.
48478
48479         unicodeio.c: mark unused parameters
48480         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48481         (fallback_failure_callback): Likewise.
48482
48483 2008-12-07  Bruno Haible  <bruno@clisp.org>
48484
48485         * gnulib-tool (func_create_testdir): When building the tests
48486         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
48487         Reported by Simon Josefsson.
48488
48489 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48490
48491         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
48492
48493 2008-12-06  Bruno Haible  <bruno@clisp.org>
48494
48495         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
48496         Suggested by Eric Blake.
48497
48498 2008-12-06  Bruno Haible  <bruno@clisp.org>
48499
48500         Fix a c-stack test failure on MacOS X.
48501         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
48502         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
48503         handler for SIGBUS as well.
48504         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
48505         install a signal handler for SIGBUS as well.
48506         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
48507
48508 2008-12-06  Bruno Haible  <bruno@clisp.org>
48509
48510         Advocacy documentation.
48511         * doc/gnulib-intro.texi (Benefits): New section.
48512         * doc/gnulib.texi: Update.
48513
48514 2008-12-06  Bruno Haible  <bruno@clisp.org>
48515
48516         Document the 'manywarnings' module.
48517         * doc/manywarnings.texi: New file.
48518         * doc/gnulib.texi: Include it.
48519
48520 2008-12-05  Eric Blake  <ebb9@byu.net>
48521
48522         tests: silence some gcc warnings
48523         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
48524         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
48525         type mismatches.
48526
48527 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48528             Bruno Haible  <bruno@clisp.org>
48529
48530         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
48531
48532 2008-11-29  Jim Meyering  <meyering@redhat.com>
48533
48534         unicodeio.c: mark unused parameters
48535         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48536         (fallback_failure_callback): Likewise.
48537
48538         fts: fix a thinko
48539         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
48540         (set_stat_type): Return S_IF*-valued "type" directly.
48541         Prompted by James Youngman's spotting a related bug.
48542         Confirmed by further testing through find.
48543
48544         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
48545         * lib/fts.c (D_TYPE): Define.
48546         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
48547         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
48548         (s_ifmt_shift_bits): New function.
48549         (set_stat_type): New function.
48550         (fts_build): When not calling fts_stat, call set_stat_type
48551         to propagate dirent.d_type info to fts_read caller.
48552         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
48553         fts_statp->st_mode type information may be valid.
48554
48555 2008-11-28  Simon Josefsson  <simon@josefsson.org>
48556
48557         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
48558         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
48559         <sds@gnu.org>.
48560
48561 2008-11-20  Bruno Haible  <bruno@clisp.org>
48562
48563         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
48564         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
48565         INCLUDE_NEXT.
48566         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
48567         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
48568         * modules/math (Makefile.am): Substitute
48569         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
48570         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48571
48572 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
48573             Bruno Haible  <bruno@clisp.org>
48574
48575         * lib/stdint.in.h: Define all type macros so that their expansion is
48576         a single typedef'ed token. Fixes a compilation failure in Boost which
48577         does "using ::int8_t;".
48578
48579 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48580
48581         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
48582         gl_MANYWARN_ALL_GCC.
48583         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
48584         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
48585         * modules/manywarnings: New file.
48586         * MODULES.html.sh: Mention manywarnings module.
48587
48588 2008-11-18  Bruno Haible  <bruno@clisp.org>
48589
48590         * doc/gnulib-tool.texi (Unit tests): New section.
48591
48592 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48593
48594         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
48595         paths like 'lib/po/foo.po'.
48596
48597 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48598
48599         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
48600         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
48601
48602 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48603
48604         * m4/warnings.m4: Use CPPFLAGS to really check whether the
48605         parameter works.
48606
48607 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48608
48609         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
48610
48611 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48612
48613         * modules/parse-duration-tests: New file.
48614         * tests/test-parse-duration.sh: New file.
48615         * tests/test-parse-duration.c: New file.
48616
48617         New module 'parse-duration'.
48618         * lib/parse-duration.h: New file.
48619         * lib/parse-duration.c: New file.
48620         * modules/parse-duration: New file.
48621
48622 2008-11-17  Bruno Haible  <bruno@clisp.org>
48623
48624         * tests/test-select-out.sh: Comment out the first pipe test.
48625         Reported by Simon Josefsson.
48626
48627 2008-11-17  Bruno Haible  <bruno@clisp.org>
48628
48629         * modules/getaddrinfo (Depends-on): Add servent, hostent.
48630         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
48631         gl_HOSTENT.
48632
48633 2008-11-17  Bruno Haible  <bruno@clisp.org>
48634
48635         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
48636         -lnetwork and -lnet. Needed for Haiku and BeOS.
48637
48638 2008-11-16  Bruno Haible  <bruno@clisp.org>
48639
48640         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
48641
48642 2008-11-16  Bruno Haible  <bruno@clisp.org>
48643
48644         Avoid test failure on Haiku.
48645         * tests/test-fsync.c: Include <errno.h>.
48646         (main): Don't require that fsync (0) fails.
48647
48648 2008-11-15  Bruno Haible  <bruno@clisp.org>
48649
48650         New module 'hostent'.
48651         * modules/hostent: New file.
48652         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
48653
48654 2008-11-15  Bruno Haible  <bruno@clisp.org>
48655
48656         New module 'servent'.
48657         * modules/servent: New file.
48658         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
48659
48660 2008-11-15  Bruno Haible  <bruno@clisp.org>
48661
48662         Avoid generating same test program with two different rules.
48663         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
48664         test-frexp to test-frexp-nolibm.
48665         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
48666         test-frexpl to test-frexpl-nolibm.
48667
48668 2008-11-15  Bruno Haible  <bruno@clisp.org>
48669
48670         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
48671         $(FREXPL_LIBM).
48672
48673 2008-11-15  Bruno Haible  <bruno@clisp.org>
48674
48675         * lib/netdb.in.h: Activate the definitions also when the system's
48676         <netdb.h> has 'struct addrinfo'.
48677         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
48678         EAI_OVERFLOW or AI_NUMERICSERV.
48679         * doc/posix-headers/netdb.texi: Document the problem.
48680
48681 2008-11-15  Bruno Haible  <bruno@clisp.org>
48682
48683         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48684
48685         Make the 'sched' module work on platforms where <sched.h> exists but
48686         is incomplete (such as Haiku).
48687         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48688         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48689         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48690         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48691         HAVE_STRUCT_SCHED_PARAM.
48692         * modules/sched (Depends-on): Add include_next.
48693         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48694         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48695         * doc/posix-headers/sched.texi: Document the issue.
48696
48697 2008-11-13  Jim Meyering  <meyering@redhat.com>
48698
48699         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48700         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48701         test would fail due to the difference in the Report bugs to ...
48702         line.  The expected address is empty, "<>", while the actual
48703         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48704
48705 2008-11-12  Bruno Haible  <bruno@clisp.org>
48706
48707         lstat: don't compile lstat.c on systems lacking lstat
48708         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48709         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48710         Reported by Daniel P. Berrange via Jim Meyering.
48711
48712 2008-11-12  Jim Meyering  <meyering@redhat.com>
48713
48714         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48715
48716 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48717
48718         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48719         instead.
48720
48721 2008-11-12  Bruno Haible  <bruno@clisp.org>
48722
48723         * lib/unicodeio.c: Include unistr.h.
48724         (utf8_wctomb): Remove function.
48725         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48726
48727 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48728
48729         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48730         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48731         <bruno@clisp.org>.
48732         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48733
48734 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48735
48736         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48737         * doc/gnulib.texi: Add section for warnings.
48738
48739 2008-11-11  Bruno Haible  <bruno@clisp.org>
48740
48741         * lib/sockets.h: Add a comment.
48742
48743 2008-11-11  Karl Berry  <karl@gnu.org>
48744
48745         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48746
48747 2008-11-11  Eric Blake  <ebb9@byu.net>
48748
48749         fdl.texi: avoid git symlinks
48750         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48751
48752 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48753
48754         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48755
48756 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48757
48758         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48759         (gl_WARN_ADD): Substitute $2 if literal.
48760
48761 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48762
48763         * m4/warning.m4: Remove.
48764
48765 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48766
48767         * m4/warnings.m4: Almost complete rewrite. :-)
48768
48769 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48770
48771         * modules/warnings: New module.
48772         * m4/warnings.m4: New file.
48773         * MODULES.html.sh: Mention warnings module.
48774         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48775         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48776
48777 2008-11-10  Eric Blake  <ebb9@byu.net>
48778
48779         fdl.texi: make a symlink to the latest version
48780         * doc/standards.texi: Revert today's earlier change.
48781         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48782         * doc/fdl.texi: ...and replace this with a symlink to the newer
48783         fdl-1.3.texi.
48784
48785 2008-11-10  Bruno Haible  <bruno@clisp.org>
48786
48787         * tests/test-select-fd.c (main): Accept the result file name as fourth
48788         argument.
48789         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48790         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48791
48792 2008-11-10  Bruno Haible  <bruno@clisp.org>
48793
48794         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48795         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48796         as autoconf-substituted macros.
48797         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48798         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48799         gl_NETDB_H_DEFAULTS. Set these variables.
48800         * modules/netdb (Makefile.am): Substitute these variables.
48801
48802 2008-11-10  Eric Blake  <ebb9@byu.net>
48803
48804         standards.texi: include correct file for FDL 1.3
48805         * doc/standards.texi (GNU Free Documentation License): Change
48806         include file to pull in FDL 1.3, not 1.2.
48807
48808         fdl.texi: revert accidental change to license
48809         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48810
48811 2008-11-10  Bruno Haible  <bruno@clisp.org>
48812
48813         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48814         cross-compiling guesses also when the native compile gives no result.
48815
48816 2008-11-10  Bruno Haible  <bruno@clisp.org>
48817
48818         * lib/spawni.c (__spawni): Force variable into the stack.
48819
48820 2008-11-10  Bruno Haible  <bruno@clisp.org>
48821
48822         Add support for Haiku.
48823         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
48824         glibc and BeOS, but also on Haiku.
48825         * lib/fpurge.c (fpurge): Likewise.
48826         * lib/freadable.c (freadable): Likewise.
48827         * lib/freadahead.c (freadahead): Likewise.
48828         * lib/freading.c (freading): Likewise.
48829         * lib/freadptr.c (freadptr): Likewise.
48830         * lib/freadseek.c (freadptrinc): Likewise.
48831         * lib/fseeko.c (rpl_fseeko): Likewise.
48832         * lib/fseterr.c (fseterr): Likewise.
48833         * lib/fwritable.c (fwritable): Likewise.
48834         * lib/fwriting.c (fwriting): Likewise.
48835         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
48836
48837 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48838
48839         * lib/config.charset: Treat Haiku like BeOS.
48840
48841 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48842
48843         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
48844         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48845
48846 2008-11-08  Bruno Haible  <bruno@clisp.org>
48847
48848         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48849         AC_CACHE_CHECK.
48850
48851 2008-11-08  Bruno Haible  <bruno@clisp.org>
48852
48853         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48854
48855 2008-11-08  Bruno Haible  <bruno@clisp.org>
48856
48857         * tests/test-select-fd.c: New file.
48858         * tests/test-select-in.sh: New file.
48859         * tests/test-select-out.sh: New file.
48860         * tests/test-select-stdin.c: New file.
48861         * modules/select-tests (Files): Add the new files.
48862         (Depends-on): Add gettimeofday.
48863         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48864         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48865         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48866
48867 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48868             Bruno Haible  <bruno@clisp.org>
48869
48870         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48871
48872 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48873
48874         * build-aux/pmccabe2html: Added support for C++ source files.
48875
48876 2008-11-05  Ben Pfaff  <blp@gnu.org>
48877
48878         Fix lib/close.c build on Windows.
48879         * modules/close (Files): Add lib/w32sock.h.
48880
48881 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48882
48883         Accept Bison's NEWS format.
48884         * build-aux/announce-gen (print_news_deltas): Tweak
48885         $re_prefix.
48886
48887 2008-11-04  Bruno Haible  <bruno@clisp.org>
48888
48889         * modules/random_r (Maintainer): Add glibc.
48890
48891 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48892
48893         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48894         by karl@freefriends.org (Karl Berry).
48895         * doc/alloca.texi: Likewise.
48896         * doc/c-ctype.texi: Likewise.
48897         * doc/c-strcase.texi: Likewise.
48898         * doc/c-strcaseeq.texi: Likewise.
48899         * doc/c-strcasestr.texi: Likewise.
48900         * doc/c-strstr.texi: Likewise.
48901         * doc/c-strtod.texi: Likewise.
48902         * doc/c-strtold.texi: Likewise.
48903         * doc/ctime.texi: Likewise.
48904         * doc/error.texi: Likewise.
48905         * doc/fdl.texi: Likewise.
48906         * doc/gcd.texi: Likewise.
48907         * doc/getdate.texi: Likewise.
48908         * doc/gnulib-intro.texi: Likewise.
48909         * doc/gnulib-tool.texi: Likewise.
48910         * doc/gnulib.texi: Likewise.
48911         * doc/inet_ntoa.texi: Likewise.
48912         * doc/maintain.texi: Likewise.
48913         * doc/make-stds.texi: Likewise.
48914         * doc/quote.texi: Likewise.
48915         * doc/regexprops-generic.texi: Likewise.
48916         * doc/standards.texi: Likewise.
48917         * doc/verify.texi: Likewise.
48918         * doc/visibility.texi: Likewise.
48919         * doc/gnulib.texi (GNU Free Documentation License): Include
48920         fdl-1.3.texi instead of fdl.texi.
48921
48922 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48923
48924         * doc/fdl-1.3.texi: New file, from
48925         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48926         * modules/fdl-1.3: Add.
48927         * MODULES.html.sh: Add fdl-1.3.
48928
48929 2008-11-03  Bruno Haible  <bruno@clisp.org>
48930
48931         Make determination of absolute name of header file work with AIX xlc.
48932         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48933         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48934         preprocessing.
48935         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48936         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48937
48938 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48939
48940         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48941         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48942         <ludo@gnu.org>.
48943
48944 2008-11-02  Bruno Haible  <bruno@clisp.org>
48945
48946         Mark 'strpbrk' obsolete.
48947         * modules/strpbrk (Status, Notice): New sections.
48948         * modules/strtok_r (Depends-on): Add strpbrk.
48949
48950 2008-11-02  Bruno Haible  <bruno@clisp.org>
48951
48952         Mark 'strdup' obsolete.
48953         * modules/strdup (Status, Notice): New sections.
48954         * modules/findprog (Depends-on): Add strdup.
48955         * modules/getaddrinfo (Depends-on): Likewise.
48956         * modules/localename (Depends-on): Likewise.
48957         * modules/relocatable-lib (Depends-on): Likewise.
48958         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
48959         * modules/relocatable-prog (Depends-on): Likewise.
48960         * modules/trim (Depends-on): Likewise.
48961         * modules/unictype/gen-ctype (Depends-on): Likewise.
48962         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48963
48964 2008-11-02  Bruno Haible  <bruno@clisp.org>
48965
48966         Mark 'strcspn' obsolete.
48967         * modules/strcspn (Status, Notice): New sections.
48968
48969 2008-11-02  Bruno Haible  <bruno@clisp.org>
48970
48971         Mark 'rmdir' obsolete.
48972         * modules/rmdir (Status, Notice): New sections.
48973         * modules/clean-temp (Depends-on): Add rmdir.
48974         * modules/openat (Depends-on): Likewise.
48975
48976 2008-11-02  Bruno Haible  <bruno@clisp.org>
48977
48978         Mark 'raise' obsolete.
48979         * modules/raise (Status, Notice): New sections.
48980         (Include): Specify <signal.h>.
48981         * modules/stdio (Depends-on): Add raise.
48982         * modules/write (Depends-on): Likewise.
48983
48984 2008-11-02  Bruno Haible  <bruno@clisp.org>
48985
48986         Mark 'memset' obsolete.
48987         * modules/memset (Status, Notice): New sections.
48988
48989 2008-11-02  Bruno Haible  <bruno@clisp.org>
48990
48991         Mark 'memmove' obsolete.
48992         * modules/memmove (Status, Notice): New sections.
48993         * modules/argp (Depends-on): Add memmove.
48994         * modules/argz (Depends-on): Likewise.
48995         * modules/canonicalize (Depends-on): Likewise.
48996         * modules/canonicalize-lgpl (Depends-on): Likewise.
48997         * modules/fts (Depends-on): Likewise.
48998         * modules/getcwd (Depends-on): Likewise.
48999         * modules/human (Depends-on): Likewise.
49000         * modules/regex (Depends-on): Likewise.
49001         * modules/striconveh (Depends-on): Likewise.
49002         * modules/trim (Depends-on): Likewise.
49003         * modules/unistr/u8-move (Depends-on): Likewise.
49004         * modules/unistr/u16-move (Depends-on): Likewise.
49005         * modules/unistr/u32-move (Depends-on): Likewise.
49006
49007 2008-11-02  Bruno Haible  <bruno@clisp.org>
49008
49009         Mark 'memcpy' obsolete.
49010         * modules/memcpy (Status, Notice): New sections.
49011
49012 2008-11-02  Bruno Haible  <bruno@clisp.org>
49013
49014         Mark 'memcmp' obsolete.
49015         * modules/memcmp (Status, Notice): New sections.
49016         * modules/argmatch (Depends-on): Add memchr.
49017         * modules/backupfile (Depends-on): Likewise.
49018         * modules/c-strcasestr (Depends-on): Likewise.
49019         * modules/crypto/des (Depends-on): Likewise.
49020         * modules/csharpcomp (Depends-on): Likewise.
49021         * modules/fnmatch (Depends-on): Likewise.
49022         * modules/git-merge-changelog (Depends-on): Likewise.
49023         * modules/isnand (Depends-on): Likewise.
49024         * modules/isnand-nolibm (Depends-on): Likewise.
49025         * modules/isnanf (Depends-on): Likewise.
49026         * modules/isnanf-nolibm (Depends-on): Likewise.
49027         * modules/isnanl (Depends-on): Likewise.
49028         * modules/isnanl-nolibm (Depends-on): Likewise.
49029         * modules/mbchar (Depends-on): Likewise.
49030         * modules/memcoll (Depends-on): Likewise.
49031         * modules/quotearg (Depends-on): Likewise.
49032         * modules/regex (Depends-on): Likewise.
49033         * modules/relocatable-prog (Depends-on): Likewise.
49034         * modules/same (Depends-on): Likewise.
49035         * modules/signbit (Depends-on): Likewise.
49036         * modules/strcasestr-simple (Depends-on): Likewise.
49037         * modules/unictype/gen-ctype (Depends-on): Likewise.
49038         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49039         * modules/uniname/uniname (Depends-on): Likewise.
49040         * modules/unistr/u8-cmp (Depends-on): Likewise.
49041
49042 2008-11-02  Bruno Haible  <bruno@clisp.org>
49043
49044         Mark 'memchr' obsolete.
49045         * modules/memchr (Status, Notice): New sections.
49046         * modules/argp (Depends-on): Add memchr.
49047         * modules/base64 (Depends-on): Likewise.
49048         * modules/c-strcasestr (Depends-on): Likewise.
49049         * modules/chdir-long (Depends-on): Likewise.
49050         * modules/fnmatch (Depends-on): Likewise.
49051         * modules/getsubopt (Depends-on): Likewise.
49052         * modules/git-merge-changelog (Depends-on): Likewise.
49053         * modules/glob (Depends-on): Likewise.
49054         * modules/strcasestr-simple (Depends-on): Likewise.
49055         * modules/strnlen (Depends-on): Likewise.
49056
49057 2008-11-02  Bruno Haible  <bruno@clisp.org>
49058
49059         Mark 'atexit' obsolete.
49060         * modules/atexit (Status, Notice): New sections.
49061         * modules/chdir-long (Depends-on): Add atexit.
49062         * modules/wait-process (Depends-on): Likewise.
49063
49064 2008-11-02  Bruno Haible  <bruno@clisp.org>
49065
49066         * gnulib-tool: New option --with-obsolete.
49067         (func_usage): Document it.
49068         (func_modules_transitive_closure): Drop obsolete dependencies if
49069         incobsolete is not true.
49070         (func_import): Read and save the incobsolete variable to the cache.
49071
49072 2008-11-02  Bruno Haible  <bruno@clisp.org>
49073
49074         * modules/TEMPLATE-EXTENDED: New field 'Status'.
49075         * gnulib-tool: New option --extract-status.
49076         (func_usage): Document it.
49077         (sed_extract_prog): Recognize it.
49078         (func_get_status): New function.
49079
49080 2008-10-30  Simon Josefsson  <simon@josefsson.org>
49081
49082         * modules/sockets (License): Change from LGPL to LGPLv2+.
49083
49084 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49085
49086         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
49087
49088 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49089
49090         * MODULES.html.sh (Support for systems lacking POSIX:2001):
49091         Mention times and sys_times.
49092         * modules/sys_times, modules/sys_times-tests: New modules.
49093         * modules/times, modules/times-tests: Likewise
49094         * m4/sys_times_h.m4: New file.
49095         * lib/sys_times.in.h: Likewise
49096         * lib/times.c: Likewise.
49097         * tests/test-sys_times.c: Likewise.
49098         * tests/test-times.c: Likewise.
49099         * doc/posix-headers/sys_times.texi: Update.
49100         * doc/posix-functions/times.texi: Update.
49101
49102 2008-10-28  Jim Meyering  <meyering@redhat.com>
49103
49104         * modules/tempname (Depends-on): Add lstat.
49105
49106         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
49107
49108 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49109
49110         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
49111         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
49112         using idiom used elsewhere in gnulib.
49113
49114 2008-10-27  Jim Meyering  <meyering@redhat.com>
49115
49116         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
49117
49118 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49119
49120         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
49121         TESTS_ENVIRONMENT, for shell scripts that needs to call built
49122         programs.
49123         * tests/test-argp-2.sh: Use $EXEEXT when needed.
49124
49125 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49126
49127         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
49128
49129 2008-10-27  Bruno Haible  <bruno@clisp.org>
49130
49131         * tests/test-lstat.c: Include <stdio.h>.
49132
49133 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49134
49135         * modules/lstat-tests: New module.
49136         * tests/test-lstat.c: New file.
49137
49138 2008-10-26  Jim Meyering  <meyering@redhat.com>
49139
49140         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
49141
49142 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49143             Bruno Haible  <bruno@clisp.org>
49144
49145         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
49146         * modules/configmake (Include): Add a note that the include must come
49147         after all system headers.
49148         * lib/javaversion.c: Include configmake.h after all other includes.
49149
49150 2008-10-26  Bruno Haible  <bruno@clisp.org>
49151
49152         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
49153         HAVE_STRUCT_RANDOM_DATA to 1.
49154         (gl_STDLIB_H): Simplify.
49155
49156 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49157
49158         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
49159         substitute HAVE_STRUCT_RANDOM_DATA.
49160         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
49161         random_data.
49162         * modules/stdlib (Makefile.am): Substitute
49163         HAVE_STRUCT_RANDOM_DATA.
49164
49165 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49166
49167         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
49168         * doc/gnulib-intro.texi (Copyright): Likewise.
49169
49170 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49171
49172         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
49173         findings.
49174
49175 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
49176             Bruno Haible  <bruno@clisp.org>
49177
49178         * lib/unistd.in.h: Include <winsock2.h>.
49179         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
49180         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
49181         Provide dummy declarations.
49182         (gethostname): Override.
49183         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
49184         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
49185         gl_PREREQ_SYS_H_WINSOCK2.
49186         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
49187         * doc/posix-functions/gethostname.texi: More details.
49188
49189 2008-10-25  Bruno Haible  <bruno@clisp.org>
49190
49191         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49192         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
49193         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
49194
49195         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
49196         here ...
49197         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
49198         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
49199         gl_UNISTD_H_DEFAULTS.
49200
49201 2008-10-25  Eric Blake  <ebb9@byu.net>
49202
49203         signbit: avoid spurious compiler failure
49204         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
49205         declarations inside function.
49206
49207 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49208             Bruno Haible  <bruno@clisp.org>
49209
49210         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
49211         * modules/random_r (Depends-on): Add stdint.
49212
49213 2008-10-24  Bruno Haible  <bruno@clisp.org>
49214
49215         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
49216         Eggert.
49217         * modules/strerror (License): Likewise.
49218
49219 2008-10-24  Jim Meyering  <meyering@redhat.com>
49220
49221         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
49222         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
49223
49224 2008-10-24  Eric Blake  <ebb9@byu.net>
49225
49226         getgroups: fix compilation when getgroups is available
49227         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
49228         but with <config.h> override of getgroups disabled.
49229
49230 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49231
49232         * doc/gnulib.texi (Header files): Add note about C++ problems.
49233         Explained by Bruno Haible <bruno@clisp.org>.
49234
49235 2008-10-23  Bruno Haible  <bruno@clisp.org>
49236
49237         Define a dummy SA_NODEFER macro on Interix.
49238         * lib/signal.in.h (SA_NODEFER): Define fallback.
49239         Reported by Aleksey Cheusov <cheusov@tut.by> via
49240         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
49241
49242 2008-10-23  Bruno Haible  <bruno@clisp.org>
49243
49244         * modules/freadahead (License): Change to LGPLv2+.
49245         Suggested by Simon Josefsson.
49246
49247 2008-10-23  Jim Meyering  <meyering@redhat.com>
49248
49249         random_r: new module
49250         * modules/random_r: New file.
49251         * m4/random_r.m4: New file.
49252         * lib/random_r.c: New file, from glibc.
49253         * modules/random_r-tests: New file.
49254         * tests/test-random_r.c: New file.
49255         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
49256          Declare.
49257         (RAND_MAX): Define.
49258         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
49259         * modules/stdlib: Substitute them, too.
49260         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
49261         * doc/glibc-functions/initstate_r.texi: Mention the new module.
49262         * doc/glibc-functions/random_r.texi: Likewise.
49263         * doc/glibc-functions/setstate_r.texi: Likewise.
49264         * doc/glibc-functions/srandom_r.texi: Likewise.
49265         * config/srclist.txt: Mention it.
49266
49267 2008-10-23  David Lutterkort  <lutter@redhat.com>
49268
49269         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
49270         link requirement
49271
49272 2008-10-23  Jim Meyering  <meyering@redhat.com>
49273
49274         selinux-h: mark parameters of stub functions as intentionally unused
49275         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
49276         * lib/se-context.in.h: Likewise.
49277
49278 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49279
49280         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
49281
49282 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49283
49284         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
49285
49286 2008-10-22  Eric Blake  <ebb9@byu.net>
49287
49288         glthread/thread: avoid compiler warning
49289         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
49290         Add unreachable abort to silence compiler.
49291
49292 2008-10-22  Eric Blake  <ebb9@byu.net>
49293
49294         netdb: also supply struct addrinfo for cygwin 1.5.x
49295         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
49296         older cygwin.
49297         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
49298         cygwin.
49299         * doc/posix-headers/netdb.texi (netdb.h): Document this.
49300
49301 2008-10-22  Bruno Haible  <bruno@clisp.org>
49302
49303         * users.txt: Update entry about pspp.
49304
49305 2008-10-21  Bruno Haible  <bruno@clisp.org>
49306
49307         Simplification.
49308         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
49309         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
49310
49311         Simplification.
49312         * lib/ioctl.c (ioctl): Don't undefine.
49313         * lib/socket.c (socket): Don't undefine.
49314
49315         Remove unused module indicator macros.
49316         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
49317         GNULIB_$1 as a C macro.
49318
49319         * doc/posix-functions/close.texi: Undo last change.
49320         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
49321         Windows platforms.
49322
49323 2008-10-21  Bruno Haible  <bruno@clisp.org>
49324
49325         Add gethostname() declaration to <unistd.h>.
49326         * lib/unistd.in.h (gethostname): New declaration.
49327         * lib/gethostname.c: Include <unistd.h>.
49328         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
49329         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
49330         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
49331         and HAVE_GETHOSTNAME.
49332         * modules/gethostname (Depends-on): Add unistd.
49333         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49334         (Include): Specify <unistd.h>.
49335         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
49336         HAVE_GETHOSTNAME.
49337         * tests/test-gethostname.c: Include <unistd.h> first.
49338
49339 2008-10-21  Bruno Haible  <bruno@clisp.org>
49340
49341         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
49342         * modules/select-tests (Depends-on): Likewise.
49343         Reported by Simon Josefsson.
49344
49345 2008-10-21  Simon Josefsson  <simon@josefsson.org>
49346
49347         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
49348         * lib/accept.c: New file, based on winsock.c.
49349         * lib/bind.c: New file, based on winsock.c.
49350         * lib/connect.c: New file, based on winsock.c.
49351         * lib/getpeername.c: New file, based on winsock.c.
49352         * lib/getsockname.c: New file, based on winsock.c.
49353         * lib/getsockopt.c: New file, based on winsock.c.
49354         * lib/ioctl.c: New file, based on winsock.c.
49355         * lib/listen.c: New file, based on winsock.c.
49356         * lib/recv.c: New file, based on winsock.c.
49357         * lib/recvfrom.c: New file, based on winsock.c.
49358         * lib/send.c: New file, based on winsock.c.
49359         * lib/sendto.c: New file, based on winsock.c.
49360         * lib/setsockopt.c: New file, based on winsock.c.
49361         * lib/shutdown.c: New file, based on winsock.c.
49362         * lib/socket.c: New file, based on winsock.c.
49363         * lib/w32sock.h: New file, based on winsock.c.
49364         * lib/winsock.c: Remove file.
49365         * modules/accept: Likewise.
49366         * modules/bind: Likewise.
49367         * modules/connect: Likewise.
49368         * modules/getpeername: Likewise.
49369         * modules/getsockname: Likewise.
49370         * modules/getsockopt: Likewise.
49371         * modules/ioctl: Likewise.
49372         * modules/listen: Likewise.
49373         * modules/recv: Likewise.
49374         * modules/recvfrom: Likewise.
49375         * modules/send: Likewise.
49376         * modules/sendto: Likewise.
49377         * modules/setsockopt: Likewise.
49378         * modules/shutdown: Likewise.
49379         * modules/socket: Use socket.c instead of winsock.c.
49380         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
49381         * doc/posix-functions/accept.texi: Doc fix.
49382         * doc/posix-functions/bind.texi: Doc fix.
49383         * doc/posix-functions/close.texi: Doc fix.
49384         * doc/posix-functions/connect.texi: Doc fix.
49385         * doc/posix-functions/getpeername.texi: Doc fix.
49386         * doc/posix-functions/getsockname.texi: Doc fix.
49387         * doc/posix-functions/getsockopt.texi: Doc fix.
49388         * doc/posix-functions/ioctl.texi: Doc fix.
49389         * doc/posix-functions/listen.texi: Doc fix.
49390         * doc/posix-functions/recv.texi: Doc fix.
49391         * doc/posix-functions/recvfrom.texi: Doc fix.
49392         * doc/posix-functions/send.texi: Doc fix.
49393         * doc/posix-functions/sendto.texi: Doc fix.
49394         * doc/posix-functions/setsockopt.texi: Doc fix.
49395         * doc/posix-functions/shutdown.texi: Doc fix.
49396         * doc/posix-functions/socket.texi: Doc fix.
49397
49398 2008-10-20  Bruno Haible  <bruno@clisp.org>
49399
49400         Take into account the role of SIGABRT_COMPAT on Windows 2008.
49401         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
49402         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
49403         as an alias for SIGABRT.
49404         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
49405         (sigaction): Map it to SIGABRT.
49406         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
49407
49408 2008-10-20  Bruno Haible  <bruno@clisp.org>
49409
49410         * lib/fts.c: Don't include lstat.h.
49411         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
49412
49413         Move the lstat() declaration to <sys/stat.h>.
49414         * lib/lstat.h: Remove file.
49415         * lib/sys_stat.in.h: Add special invocation convention.
49416         (lstat): New declaration.
49417         * lib/lstat.c (orig_lstat): New function.
49418         (rpl_lstat): Use orig_lstat instead of lstat.
49419         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
49420         AC_C_INLINE. Set REPLACE_LSTAT.
49421         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
49422         and REPLACE_LSTAT.
49423         * modules/lstat (Files): Remove lib/lstat.h.
49424         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49425         (Include): Specify <sys/stat.h> instead of lstat.h.
49426         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
49427         REPLACE_LSTAT.
49428         * NEWS: Mention the change.
49429
49430 2008-10-20  Bruno Haible  <bruno@clisp.org>
49431
49432         * modules/posix_spawn-tests: New file.
49433         * tests/test-posix_spawn3.c: New file.
49434
49435 2008-10-20  Bruno Haible  <bruno@clisp.org>
49436
49437         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
49438         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49439         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
49440         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49441         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
49442
49443 2008-10-20  Bruno Haible  <bruno@clisp.org>
49444
49445         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
49446         of posix_spawn on AIX 5.3.
49447
49448 2008-10-20  Bruno Haible  <bruno@clisp.org>
49449
49450         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
49451
49452 2008-10-20  Bruno Haible  <bruno@clisp.org>
49453
49454         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
49455         of AC_LANG_PROGRAM.
49456
49457 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49458
49459         * lib/netdb.in.h: Don't define GNU specific constants until they
49460         are supported or needed.  Reported by Bruno Haible
49461         <bruno@clisp.org>.
49462
49463 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49464
49465         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
49466
49467 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49468
49469         * lib/getaddrinfo.h: Remove file.
49470         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
49471         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
49472         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
49473         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
49474         * modules/netdb: Substitute GNULIB_GETADDRINFO.
49475         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
49476         * tests/test-getaddrinfo.c: Likewise.
49477         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
49478         * NEWS: Mention change.
49479
49480 2008-10-19  Bruno Haible  <bruno@clisp.org>
49481
49482         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
49483
49484 2008-10-19  Bruno Haible  <bruno@clisp.org>
49485
49486         * lib/wait-process.c: Include simply <sys/wait.h>.
49487         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
49488         WIFSTOPPED): Remove fallback definitions.
49489         * modules/wait-process (Depends-on): Add sys_wait.
49490
49491         New module 'sys_wait'.
49492         * modules/sys_wait: New file.
49493         * lib/sys_wait.in.h: New file, partially copied from
49494         lib/wait-process.c.
49495         * m4/sys_wait_h.m4: New file.
49496         * doc/posix-headers/sys_wait.texi: Mention the new module.
49497
49498 2008-10-19  Bruno Haible  <bruno@clisp.org>
49499
49500         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
49501
49502 2008-10-19  Bruno Haible  <bruno@clisp.org>
49503
49504         Assume that waitpid() fills an 'int' status, not a 'union wait'.
49505         * lib/wait-process.c (WAIT_T): Remove type.
49506         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
49507         (wait_subprocess): Update.
49508
49509 2008-10-19  Bruno Haible  <bruno@clisp.org>
49510
49511         New module 'atoll'.
49512         * modules/atoll: New file.
49513         * lib/stdlib.in.h (atoll): New declaration.
49514         * lib/atoll.c: New file, from glibc with modifications.
49515         * m4/atoll.m4: New file.
49516         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
49517         HAVE_ATOLL.
49518         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
49519         * doc/posix-functions/atoll.texi: Mention the new module.
49520
49521 2008-10-19  Bruno Haible  <bruno@clisp.org>
49522
49523         Add strtoull() declaration to <stdlib.h>.
49524         * lib/stdlib.in.h (strtoull): New declaration.
49525         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49526         Set HAVE_STRTOULL.
49527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
49528         HAVE_STRTOULL.
49529         * modules/strtoull (Depends-on): Add stdlib.
49530         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49531         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
49532         HAVE_STRTOULL.
49533
49534 2008-10-19  Bruno Haible  <bruno@clisp.org>
49535
49536         Add strtoll() declaration to <stdlib.h>.
49537         * lib/stdlib.in.h (strtoll): New declaration.
49538         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49539         Set HAVE_STRTOLL.
49540         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
49541         HAVE_STRTOLL.
49542         * modules/strtoll (Depends-on): Add stdlib.
49543         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49544         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
49545
49546 2008-10-19  Bruno Haible  <bruno@clisp.org>
49547
49548         * modules/bcopy (Depends-on): Add strings.
49549         (Include): Specify <strings.h>.
49550
49551 2008-10-19  Bruno Haible  <bruno@clisp.org>
49552
49553         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
49554
49555 2008-10-19  Bruno Haible  <bruno@clisp.org>
49556
49557         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
49558         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
49559         mingw.
49560
49561 2008-10-19  Bruno Haible  <bruno@clisp.org>
49562
49563         * lib/atanl.c: Don't include isnanl.h.
49564         * lib/cosl.c: Likewise.
49565         * lib/ldexpl.c: Likewise.
49566         * lib/logl.c: Likewise.
49567         * lib/sinl.c: Likewise.
49568         * lib/sqrtl.c: Likewise.
49569         * lib/tanl.c: Likewise.
49570
49571         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
49572         * lib/isnanf.h: Remove file.
49573         * lib/isnand.h: Remove file.
49574         * lib/isnanl.h: Remove file.
49575         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
49576         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
49577         macros.
49578         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
49579         HAVE_ISNANF, don't define it as a C macro.
49580         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
49581         HAVE_ISNAND, don't define it as a C macro.
49582         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
49583         HAVE_ISNANL, don't define it as a C macro.
49584         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
49585         HAVE_ISNAN[FDL].
49586         * modules/isnanf (Files): Remove lib/isnanf.h.
49587         (Depends-on): Add math.
49588         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49589         (Include): Specify <math.h> instead of isnanf.h.
49590         * modules/isnand (Files): Remove lib/isnand.h.
49591         (Depends-on): Add math.
49592         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49593         (Include): Specify <math.h> instead of isnand.h.
49594         * modules/isnanl (Files): Remove lib/isnanl.h.
49595         (Depends-on): Add math.
49596         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49597         (Include): Specify <math.h> instead of isnanl.h.
49598         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
49599         HAVE_ISNAN[FDL].
49600         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
49601         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
49602         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
49603         * NEWS: Mention the change.
49604
49605 2008-10-18  Bruno Haible  <bruno@clisp.org>
49606
49607         Add getusershell(), setusershell(), endusershell() declarations to
49608         <unistd.h>.
49609         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
49610         declarations.
49611         * lib/getusershell.c: Include unistd.h.
49612         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
49613         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49614         HAVE_GETUSERSHELL.
49615         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
49616         and HAVE_GETUSERSHELL.
49617         * modules/getusershell (Depends-on): Add unistd, extensions.
49618         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49619         (Include): Specify <unistd.h>.
49620         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
49621         HAVE_GETUSERSHELL.
49622
49623 2008-10-18  Bruno Haible  <bruno@clisp.org>
49624
49625         Add a getloadavg() declaration to <stdlib.h>.
49626         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
49627         getloadavg declaration.
49628         (getloadavg): New declaration.
49629         * lib/getloadavg.c: Include <stdlib.h> first.
49630         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
49631         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
49632         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
49633         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
49634         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49635         * modules/getloadavg (Depends-on): Add stdlib, extensions.
49636         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49637         (Include): Specify <stdlib.h>.
49638         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
49639         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49640
49641 2008-10-18  Bruno Haible  <bruno@clisp.org>
49642
49643         * lib/dirchownmod.c: Don't include lchmod.h.
49644
49645         Move the lchmod() declaration to <sys/stat.h>.
49646         * lib/lchmod.h: Remove file.
49647         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
49648         (lchmod): New declaration, moved here from lib/lchown.h.
49649         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
49650         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
49651         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
49652         and HAVE_LCHMOD.
49653         * modules/lchmod (Files): Remove lib/lchmod.h.
49654         (Depends-on): Add sys_stat, extensions.
49655         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49656         (Include): Specify <sys/stat.h> instead of lchmod.h.
49657         * modules/sys_stat (Depends-on): Add link-warning.
49658         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
49659         definition of GL_LINK_WARNING.
49660         * NEWS: Mention the change.
49661
49662 2008-10-18  Bruno Haible  <bruno@clisp.org>
49663
49664         * lib/fchdir.c: Don't include dirfd.h.
49665         * lib/fts.c: Likewise.
49666         * lib/getcwd.c: Likewise.
49667         * lib/glob.c: Likewise.
49668
49669         Move the dirfd() declaration to <dirent.h>.
49670         * lib/dirfd.h: Remove file.
49671         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
49672         (dirfd): New declaration.
49673         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
49674         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
49675         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
49676         HAVE_DECL_DIRFD.
49677         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
49678         HAVE_DECL_DIRFD.
49679         * modules/dirfd (Files): Remove lib/dirfd.h.
49680         (Depends-on): Add dirent, extensions.
49681         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49682         (Include): Specify <dirent.h> instead of dirfd.h.
49683         * modules/dirent (Depends-on): Add link-warning.
49684         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49685         definition of GL_LINK_WARNING.
49686         * NEWS: Mention the change.
49687
49688 2008-10-18  Bruno Haible  <bruno@clisp.org>
49689
49690         Move the euidaccess() declaration to <unistd.h>.
49691         * lib/euidaccess.h: Remove file.
49692         * lib/unistd.in.h (euidaccess): New declaration.
49693         * lib/euidaccess.c: Don't include euidaccess.h.
49694         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49695         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49696         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49697         and HAVE_EUIDACCESS.
49698         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49699         (Depends-on): Add unistd.
49700         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49701         (Include): Specify <unistd.h> instead of euidaccess.h.
49702         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49703         HAVE_EUIDACCESS.
49704         * NEWS: Mention the change.
49705
49706 2008-10-18  Bruno Haible  <bruno@clisp.org>
49707
49708         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49709
49710         Move the getdomainname() declaration to <unistd.h>.
49711         * lib/getdomainname.h: Remove file.
49712         * lib/unistd.in.h (getdomainname): New declaration.
49713         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49714         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49715         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49716         HAVE_GETDOMAINNAME.
49717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49718         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49719         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49720         (Depends-on): Add unistd, extensions.
49721         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49722         (Includes): Specify <unistd.h> instead of getdomainname.h.
49723         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49724         HAVE_GETDOMAINNAME.
49725         * NEWS: Mention the change.
49726
49727 2008-10-18  Bruno Haible  <bruno@clisp.org>
49728
49729         * modules/dirent: New file.
49730         * m4/dirent_h.m4: New file.
49731         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49732         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49733         * modules/fchdir (Files): Remove lib/dirent.in.h.
49734         (Depends-on): Add dirent.
49735         (Makefile.am): Move rules to modules/dirent.
49736         * doc/posix-headers/dirent.texi: Mention the new module.
49737
49738 2008-10-18  Bruno Haible  <bruno@clisp.org>
49739
49740         Avoid -Wunused-parameter warnings in public gnulib header files.
49741         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49742         macro.
49743         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49744
49745 2008-10-18  Bruno Haible  <bruno@clisp.org>
49746
49747         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49748         * doc/glibc-functions/error.texi: Mention the module 'error'.
49749         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49750         * doc/glibc-functions/getdomainname.texi: Mention the module
49751         'getdomainname'.
49752         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49753         * doc/glibc-functions/getpagesize.texi: Mention the module
49754         'getpagesize'.
49755         * doc/glibc-functions/getusershell.texi: Mention the module
49756         'getusershell'.
49757         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49758         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49759         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49760         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49761         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49762         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49763         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49764         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49765         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49766         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49767         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49768         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49769         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49770         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49771
49772 2008-10-17  Bruno Haible  <bruno@clisp.org>
49773
49774         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49775         HP-UX and IRIX, use -0.0L.
49776         * tests/test-ceill.c (minus_zero): Likewise.
49777         * tests/test-floorl.c (minus_zero): Likewise.
49778         * tests/test-frexpl.c (minus_zero): Likewise.
49779         * tests/test-isnan.c (minus_zerol): Likewise.
49780         * tests/test-isnanl.h (minus_zero): Likewise.
49781         * tests/test-ldexpl.c (minus_zero): Likewise.
49782         * tests/test-roundl.c (minus_zero): Likewise.
49783         * tests/test-signbit.c (minus_zerol): Likewise.
49784         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49785         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49786         * tests/test-truncl.c (minus_zero): Likewise.
49787         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49788         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49789         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49790         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49791
49792 2008-10-17  Bruno Haible  <bruno@clisp.org>
49793
49794         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49795         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49796         that it gets activated only for gcc >= 3.0.
49797         * lib/dirent.in.h: Likewise.
49798         * lib/errno.in.h: Likewise.
49799         * lib/fcntl.in.h: Likewise.
49800         * lib/float.in.h: Likewise.
49801         * lib/iconv.in.h: Likewise.
49802         * lib/inttypes.in.h: Likewise.
49803         * lib/locale.in.h: Likewise.
49804         * lib/math.in.h: Likewise.
49805         * lib/netdb.in.h: Likewise.
49806         * lib/netinet_in.in.h: Likewise.
49807         * lib/search.in.h: Likewise.
49808         * lib/signal.in.h: Likewise.
49809         * lib/spawn.in.h: Likewise.
49810         * lib/stdarg.in.h: Likewise.
49811         * lib/stdint.in.h: Likewise.
49812         * lib/stdio.in.h: Likewise.
49813         * lib/stdlib.in.h: Likewise.
49814         * lib/string.in.h: Likewise.
49815         * lib/strings.in.h: Likewise.
49816         * lib/sys_file.in.h: Likewise.
49817         * lib/sys_ioctl.in.h: Likewise.
49818         * lib/sys_select.in.h: Likewise.
49819         * lib/sys_socket.in.h: Likewise.
49820         * lib/sys_stat.in.h: Likewise.
49821         * lib/sys_time.in.h: Likewise.
49822         * lib/sysexits.in.h: Likewise.
49823         * lib/time.in.h: Likewise.
49824         * lib/unistd.in.h: Likewise.
49825         * lib/wchar.in.h: Likewise.
49826         * lib/wctype.in.h: Likewise.
49827         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49828
49829 2008-10-17  Jim Meyering  <meyering@redhat.com>
49830
49831         ignore-value: don't depend on inline module
49832         * modules/ignore-value (Depends-on): Remove 'inline'.
49833         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
49834         Suggestion from Bruno Haible.
49835
49836 2008-10-17  Bruno Haible  <bruno@clisp.org>
49837
49838         New implementation of condition variables for Win32.
49839         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
49840         (gl_linked_waitqueue_t): New type.
49841         (gl_cond_t): Use it.
49842         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
49843         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
49844         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49845         (glthread_cond_init_func, glthread_cond_wait_func,
49846         glthread_cond_timedwait_func, glthread_cond_signal_func,
49847         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49848         Reimplemented on the basis of gl_linked_waitqueue_t.
49849         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49850         gl_waitqueue_t.
49851         (gl_rwlock_t): Update.
49852         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49853
49854 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49855
49856         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49857         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49858
49859 2008-10-17  Jim Meyering  <meyering@redhat.com>
49860
49861         ignore-value: new module
49862         * modules/ignore-value: New file.
49863         * lib/ignore-value.h: New file.
49864         * MODULES.html.sh (Compiler warning management): New section,
49865         just for this module.  More to come.
49866
49867 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49868
49869         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49870         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49871         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49872
49873 2008-10-16  Jim Meyering  <meyering@redhat.com>
49874
49875         openat-die.c: avoid 'no previous prototype' warning
49876         * lib/openat-die.c: Include "openat.h".
49877         Reported by Reuben Thomas <rrt@sc3d.org>.
49878
49879 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49880
49881         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49882         * lib/netdb.in.h: Fix typo.
49883         Reported by Bruno Haible  <bruno@clisp.org>
49884
49885         * lib/netdb.in.h: Include sys/socket.h for platforms without
49886         netdb.h, to get structures like hostent on MinGW.
49887         * modules/netdb (Depends-on): Add sys_socket.
49888
49889 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49890
49891         * modules/netdb, modules/netdb-tests: New file.
49892         * m4/netdb_h.m4: New file.
49893         * lib/netdb.in.h: Add, currently just an empty file pending
49894         definitions.
49895         * tests/test-netdb.c: New file.
49896         * doc/posix-headers/netdb.texi: Mention that we replace it if
49897         needed.
49898         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49899         netdb.
49900
49901 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49902
49903         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49904         with code.
49905
49906 2008-10-13  Bruno Haible  <bruno@clisp.org>
49907
49908         * lib/glthread/cond.c (glthread_cond_wait_func,
49909         glthread_cond_timedwait_func): Add a comment.
49910
49911 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49912
49913         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49914         * tests/test-select.c: Likewise,
49915
49916 2008-10-13  Bruno Haible  <bruno@clisp.org>
49917
49918         * lib/glthread/cond.c (glthread_cond_wait_func,
49919         glthread_cond_timedwait_func): Fix variable name.
49920         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49921
49922 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49923
49924         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49925         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49926         struct sockaddr.sa_len.
49927         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49928
49929 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49930
49931         * build-aux/pmccabe2html: Add css and css_url parameters.
49932
49933 2008-10-12  Bruno Haible  <bruno@clisp.org>
49934
49935         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49936         calling aclx_get.
49937         Reported by Rainer Tammer <tammer@tammer.net>.
49938
49939 2008-10-12  Bruno Haible  <bruno@clisp.org>
49940
49941         Use msvcrt aware primitives for creation/termination of Win32 threads.
49942         * lib/glthread/thread.c: Include <process.h>.
49943         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49944         (wrapper_func): Update signature.
49945         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49946
49947 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49948             Bruno Haible  <bruno@clisp.org>
49949
49950         Provide a Win32 implementation of the 'cond' module.
49951         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49952         * lib/glthread/cond.c (glthread_cond_init_func,
49953         glthread_cond_wait_func, glthread_cond_timedwait_func,
49954         glthread_cond_signal_func, glthread_cond_broadcast_func,
49955         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49956         * modules/cond (Dependencies): Add gettimeofday.
49957
49958 2008-10-11  Bruno Haible  <bruno@clisp.org>
49959
49960         Make sleep work on older versions of mingw.
49961         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
49962         only whether it exists.
49963         * doc/posix-functions/sleep.texi: Mention the problem with older
49964         versions of mingw.
49965
49966 2008-10-11  Bruno Haible  <bruno@clisp.org>
49967
49968         New module 'shutdown'.
49969         * modules/shutdown: New file.
49970         * lib/sys_socket.in.h (shutdown): New declaration.
49971         * lib/winsock.c (shutdown): New function.
49972         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
49973         GNULIB_SHUTDOWN.
49974         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
49975         * doc/posix-functions/shutdown.texi: Document the new module.
49976
49977 2008-10-11  Jim Meyering  <meyering@redhat.com>
49978
49979         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
49980
49981 2008-10-11  Bruno Haible  <bruno@clisp.org>
49982
49983         New module 'fclose'.
49984         * modules/fclose: New file.
49985         * lib/stdio.in.h (fclose): New declaration.
49986         * lib/fclose.c: New file.
49987         * m4/fclose.m4: New file.
49988         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
49989         REPLACE_FCLOSE.
49990         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
49991         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
49992         REPLACE_FCLOSE.
49993         * modules/close (Depends-on): fclose.
49994         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
49995
49996 2008-10-11  Bruno Haible  <bruno@clisp.org>
49997
49998         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
49999         set errno and don't call _close.
50000
50001 2008-10-10  Bruno Haible  <bruno@clisp.org>
50002
50003         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
50004         ACL, not afterwards. Fixes test failure on Cygwin.
50005
50006 2008-10-09  Ben Pfaff  <blp@gnu.org>
50007
50008         * build-aux/announce-gen: Fix gnulib version related part of usage
50009         message.  Die with a useful error message if no tarballs are
50010         found.
50011
50012 2008-10-10  Jim Meyering  <meyering@redhat.com>
50013
50014         bootstrap: use git's --depth=N option only if it's supported
50015         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
50016         recognize the --depth option.  Reported by Pádraig Brady.
50017
50018 2008-10-09  Bruno Haible  <bruno@clisp.org>
50019
50020         New module 'ioctl'.
50021         * modules/ioctl: New file.
50022         * lib/sys_socket.in.h (ioctl): Remove declaration.
50023         * lib/winsock.c: Include <sys/ioctl.h>.
50024         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
50025         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50026         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
50027         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
50028         * doc/posix-functions/ioctl.texi: Mention the new module.
50029
50030 2008-10-09  Bruno Haible  <bruno@clisp.org>
50031
50032         New module 'sys_ioctl'.
50033         * lib/sys_ioctl.in.h: New file.
50034         * m4/sys_ioctl_h.m4: New file.
50035         * modules/sys_ioctl: New file.
50036         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
50037
50038 2008-10-09  Bruno Haible  <bruno@clisp.org>
50039
50040         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
50041         * lib/winsock.c: Include <stdarg.h>.
50042         (rpl_ioctl): Change to second argument 'int' and then varargs.
50043
50044 2008-10-09  Bruno Haible  <bruno@clisp.org>
50045
50046         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
50047         when the sys_socket module is present and the system has <winsock2.h>.
50048
50049 2008-10-09  Bruno Haible  <bruno@clisp.org>
50050
50051         * doc/posix-functions/close.texi: Mention module 'close' instead of
50052         module 'sys_socket'.
50053
50054 2008-10-09  Bruno Haible  <bruno@clisp.org>
50055
50056         * doc/glibc-headers/sys_ioctl.texi: New file.
50057         * doc/gnulib.texi: Include it.
50058
50059 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50060             Bruno Haible  <bruno@clisp.org>
50061
50062         Combine the two replacements of 'close'.
50063         * lib/sys_socket.in.h (close): Define to a reminder to include
50064         <unistd.h>.
50065         (_gl_close_fd_maybe_socket): New declaration.
50066         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
50067         * lib/winsock.c (close): Remove undefinition.
50068         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
50069         needed for the gnulib module 'close'.
50070         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
50071         define to an error symbol or to a warning, if suitable.
50072         * lib/close.c: Include <sys/socket.h>.
50073         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
50074         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
50075         UNISTD_H_HAVE_WINSOCK2_H.
50076         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
50077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50078         UNISTD_H_HAVE_WINSOCK2_H.
50079         * modules/sys_socket (Files): Add m4/unistd_h.m4.
50080         (configure.ac): Set a module indicator.
50081         (Makefile.am): Substitute GNULIB_CLOSE.
50082         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
50083         * modules/poll-tests (Depends-on): Add close.
50084         * modules/select-tests (Depends-on): Likewise.
50085
50086 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50087             Bruno Haible  <bruno@clisp.org>
50088
50089         New module 'close'.
50090         * modules/close: New file.
50091         * lib/unistd.in.h (close): Move declaration out of the
50092         FCHDIR_REPLACEMENT scope.
50093         (_gl_unregister_fd): New declaration.
50094         * lib/close.c: New file.
50095         * lib/fchdir.c (rpl_close): Remove function.
50096         * m4/close.m4: New file.
50097         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50098         close.
50099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
50100         REPLACE_CLOSE.
50101         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
50102         REPLACE_CLOSE.
50103         * modules/fchdir (Depends-on): Add close.
50104
50105 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50106             Bruno Haible  <bruno@clisp.org>
50107
50108         * lib/fcntl.in.h (open): Simplify conditionals.
50109         (_gl_register_fd): New declaration.
50110         * lib/fchdir.c (rpl_open): Remove function.
50111         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
50112         also.
50113         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
50114         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50115         open.
50116
50117 2008-10-09  Jim Meyering  <meyering@redhat.com>
50118
50119         GNUmakefile: use the more name-space-friendly "_version"
50120         * top/GNUmakefile (_dummy): Update.
50121         (_version): Rename from "version".
50122
50123 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50124             Bruno Haible  <bruno@clisp.org>
50125
50126         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
50127         rpl_close.
50128         (_gl_register_fd): New function, extracted from rpl_open.
50129         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
50130         (rpl_open, rpl_opendir): Use _gl_register_fd.
50131
50132 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50133
50134         Fix organization of 'open' replacement.
50135         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
50136         (gl_FUNC_OPEN): Use it.
50137         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
50138
50139 2008-10-08  Bruno Haible  <bruno@clisp.org>
50140
50141         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
50142
50143 2008-10-08  Simon Josefsson  <simon@josefsson.org>
50144
50145         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
50146         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
50147         listen).
50148
50149 2008-10-08  Eric Blake  <ebb9@byu.net>
50150
50151         GNUmakefile: add 'make version' target
50152         * top/GNUmakefile (_curr-ver): Split version update rules...
50153         (version): ...into a target.
50154
50155 2008-10-07  Bruno Haible  <bruno@clisp.org>
50156
50157         Use a more portable replacement expression for -0.0L.
50158         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
50159         instead of -0.0L. Fix m4 quotation.
50160
50161         * tests/test-signbit.c: Include <float.h>.
50162         (minus_zero): New variable.
50163         (test_signbitl): Use minus_zero instead of -zero.
50164         * modules/signbit-tests (Depends-on): Add float.
50165
50166         * tests/test-ceill.c: Include <float.h>.
50167         (zero): Remove variable.
50168         (minus_zero): New variable.
50169         (main): Use minus_zero instead of -zero.
50170         * modules/ceill-tests (Depends-on): Add float.
50171
50172         * tests/test-floorl.c: Include <float.h>.
50173         (zero): Remove variable.
50174         (minus_zero): New variable.
50175         (main): Use minus_zero instead of -zero.
50176         * modules/floorl-tests (Depends-on): Add float.
50177
50178         * tests/test-roundl.c: Include <float.h>.
50179         (zero): Remove variable.
50180         (minus_zero): New variable.
50181         (main): Use minus_zero instead of -zero.
50182         * modules/roundl-tests (Depends-on): Add float.
50183
50184         * tests/test-truncl.c: Include <float.h>.
50185         (zero): Remove variable.
50186         (minus_zero): New variable.
50187         (main): Use minus_zero instead of -zero.
50188         * modules/truncl-tests (Depends-on): Add float.
50189
50190         * tests/test-frexpl.c (zero): Remove variable.
50191         (minus_zero): New variable.
50192         (main): Use minus_zero instead of -zero.
50193         * modules/frexpl-tests (Depends-on): Add float.
50194
50195         * tests/test-isnan.c (zerol): Remove variable.
50196         (minus_zerol): New variable.
50197         (test_long_double): Use minus_zerol instead of -zerol.
50198         * modules/isnan-tests (Depends-on): Add float.
50199
50200         * tests/test-isnanl.h (zero): Remove variable.
50201         (minus_zero): New variable.
50202         (main): Use minus_zero instead of -zero.
50203         * modules/isnanl-nolibm-tests (Depends-on): Add float.
50204         * modules/isnanl-tests (Depends-on): Add float.
50205
50206         * tests/test-ldexpl.c (zero): Remove variable.
50207         (minus_zero): New variable.
50208         (main): Use minus_zero instead of -zero.
50209         * modules/ldexpl-tests (Depends-on): Add float.
50210
50211         * tests/test-snprintf-posix.h (zerol): Remove variable.
50212         (minus_zerol): New variable.
50213         (test_function): Use minus_zerol instead of -zerol.
50214         * modules/snprintf-posix-tests (Depends-on): Add float.
50215         * modules/vsnprintf-posix-tests (Depends-on): Add float.
50216
50217         * tests/test-sprintf-posix.h (zerol): Remove variable.
50218         (minus_zerol): New variable.
50219         (test_function): Use minus_zerol instead of -zerol.
50220         * modules/sprintf-posix-tests (Depends-on): Add float.
50221         * modules/vsprintf-posix-tests (Depends-on): Add float.
50222
50223         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
50224         (minus_zerol): New variable.
50225         (test_function): Use minus_zerol instead of -zerol.
50226         * modules/vasnprintf-posix-tests (Depends-on): Add float.
50227
50228         * tests/test-vasprintf-posix.c (zerol): Remove variable.
50229         (minus_zerol): New variable.
50230         (test_function): Use minus_zerol instead of -zerol.
50231         * modules/vasprintf-posix-tests (Depends-on): Add float.
50232
50233 2008-10-07  Simon Josefsson  <simon@josefsson.org>
50234
50235         * MODULES.html.sh (Support for building documentation): Mention
50236         pmccabe2html.  Sort entries.
50237
50238         Add pmccabe2html module, from gnupdf.
50239         * build-aux/pmccabe.css: New file.
50240         * build-aux/pmccabe2html: New file.
50241         * m4/pmccabe2html.m4: New file.
50242         * modules/pmccabe2html: New file.
50243
50244 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
50245
50246         flock: new module
50247         * MODULES.html.sh: Add to list of modules.
50248         * lib/flock.c: flock implementation for Windows and Unix systems
50249         which have fcntl.
50250         * doc/glibc-functions/flock.texi: Update documentation.
50251         * lib/sys_file.in.h: <sys/file.h> header file.
50252         * m4/flock.m4: M4 macros.
50253         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
50254         * modules/flock: flock module.
50255         * modules/flock-tests: flock tests module.
50256         * modules/sys_file: sys/file.h module.
50257         * tests/test-flock.c: test suite for flock.
50258
50259 2008-10-06  Jim Meyering  <meyering@redhat.com>
50260
50261         bootstrap: check for LT_INIT more portably still ;-)
50262         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
50263         Spotted by Bruno Haible.
50264
50265 2008-10-06  Eric Blake  <ebb9@byu.net>
50266
50267         test-signbit: avoid tripping Irix cc bug on -0.0L
50268         * tests/test-signbit.c (minus_zerol): Delete, and replace with
50269         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
50270         entire testsuite consistent and avoids an Irix 6.2 bug.
50271
50272 2008-10-05  Bruno Haible  <bruno@clisp.org>
50273             Jim Meyering  <jim@meyering.net>
50274
50275         Add an option for ignoring EPIPE during close_stdout.
50276         * lib/closeout.h: Include <stdbool.h>.
50277         (close_stdout_set_ignore_EPIPE): New declaration.
50278         * lib/closeout.c: Include <stdbool.h>.
50279         (ignore_EPIPE): New variable.
50280         (close_stdout_set_ignore_EPIPE): New function.
50281         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
50282         * lib/close-stream.c (close_stream): Mention the possible EPIPE
50283         failure.
50284         * modules/closeout (Depends-on): Add stdbool.
50285
50286 2008-10-05  Bruno Haible  <bruno@clisp.org>
50287
50288         * modules/accept: New file.
50289         * modules/bind: New file.
50290         * modules/connect: New file.
50291         * modules/getpeername: New file.
50292         * modules/getsockname: New file.
50293         * modules/getsockopt: New file.
50294         * modules/listen: New file.
50295         * modules/recv: New file.
50296         * modules/recvfrom: New file.
50297         * modules/send: New file.
50298         * modules/sendto: New file.
50299         * modules/setsockopt: New file.
50300         * modules/socket: New file.
50301         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
50302         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50303         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
50304         the particular module is requested. Add a link warning when the
50305         particular module is not requested.
50306         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
50307         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
50308         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
50309         the particular module is requested.
50310         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
50311         gl_SYS_SOCKET_H_DEFAULTS): New macros.
50312         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
50313         * modules/sys_socket (Depends-on): Add link-warning.
50314         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
50315         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
50316         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
50317         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
50318         GL_LINK_WARNING.
50319         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
50320         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
50321         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
50322         * doc/posix-functions/getpeername.texi: Mention the new module
50323         'getpeername'.
50324         * doc/posix-functions/getsockname.texi: Mention the new module
50325         'getsockname'.
50326         * doc/posix-functions/getsockopt.texi: Mention the new module
50327         'getsockopt'.
50328         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
50329         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
50330         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
50331         * doc/posix-functions/send.texi: Mention the new module 'send'.
50332         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
50333         * doc/posix-functions/setsockopt.texi: Mention the new module
50334         'setsockopt'.
50335         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
50336         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
50337         listen, connect, accept.
50338         * modules/select-tests (Depends-on): Likewise.
50339
50340 2008-10-05  Bruno Haible  <bruno@clisp.org>
50341
50342         * lib/winsock.c (strerror): Remove unused #undef.
50343         (rpl_close): Remove unused local variable.
50344
50345         * modules/sys_socket (Depends-on); Add errno.
50346
50347 2008-10-05  Bruno Haible  <bruno@clisp.org>
50348
50349         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
50350         (select): Add a link warning when the 'select' module is not used.
50351         * modules/sys_select (Depends-on): Add link-warning.
50352         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
50353         Suggested by Paolo Bonzini.
50354
50355 2008-10-05  Jim Meyering  <meyering@redhat.com>
50356
50357         bootstrap: check for LT_INIT more portably
50358         * build-aux/bootstrap: Avoid using grep -E, since it's not
50359         portable enough.  Suggestion from Bruno Haible.
50360
50361 2008-10-05  Bruno Haible  <bruno@clisp.org>
50362
50363         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
50364         as being fixed by gnulib.
50365
50366 2008-10-05  Bruno Haible  <bruno@clisp.org>
50367
50368         * modules/select-tests: New file, mostly copied from
50369         modules/sys_select-tests.
50370         * tests/test-select.c: New file, mostly copied from
50371         tests/test-sys_select.c.
50372         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
50373         * modules/sys_select-tests (Depends-on): Remove all dependencies.
50374         (Makefile.am): Remove test_sys_select_LDADD.
50375
50376         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
50377         to an undefined symbol, for an error message.
50378         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
50379         (gl_SYS_SELECT_H_DEFAULTS): New macro.
50380         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
50381         winsock-select.c here.
50382         * modules/sys_select (Files): Remove lib/winsock-select.c.
50383         (Depends-on): Remove alloca.
50384         (Makefile.am): Substitute GNULIB_SELECT.
50385         * modules/select: New file.
50386         * doc/posix-functions/select.texi: Update.
50387
50388 2008-10-05  Bruno Haible  <bruno@clisp.org>
50389
50390         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
50391         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
50392         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
50393         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
50394         getdtablesize.
50395         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
50396         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
50397
50398 2008-10-05  Bruno Haible  <bruno@clisp.org>
50399
50400         * modules/getdtablesize-tests: New file.
50401         * tests/test-getdtablesize.c: New file.
50402
50403         New module 'getdtablesize'.
50404         * lib/unistd.in.h (getdtablesize): New declaration.
50405         * lib/getdtablesize.c: New file.
50406         * m4/getdtablesize.m4: New file.
50407         * modules/getdtablesize: New file.
50408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50409         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
50410         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
50411         HAVE_GETDTABLESIZE.
50412         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
50413
50414 2008-10-05  Bruno Haible  <bruno@clisp.org>
50415
50416         * modules/sched (Makefile.am): Fix typo.
50417         Reported by Simon Josefsson.
50418
50419 2008-10-05  Jim Meyering  <meyering@redhat.com>
50420
50421         bootstrap: check for LT_INIT, too
50422         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
50423         are deprecated.  Suggestion from Ralf Wildenhues.
50424
50425 2008-10-05  Bruno Haible  <bruno@clisp.org>
50426
50427         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
50428         overriding them by ours.
50429         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
50430
50431 2008-10-05  Jim Meyering  <meyering@redhat.com>
50432
50433         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
50434         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
50435         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
50436
50437 2008-10-04  Bruno Haible  <bruno@clisp.org>
50438
50439         * modules/dup2 (License): Change to LGPLv2+.
50440         * modules/sleep (License): Likewise.
50441         * modules/perror (License): Likewise.
50442         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
50443         Blake.
50444         * modules/signal (License): Likewise.
50445         * modules/sigprocmask (License): Likewise.
50446         * modules/raise (License): Change to LGPLv2+, with approval by Jim
50447         Meyering.
50448
50449 2008-10-04  Bruno Haible  <bruno@clisp.org>
50450
50451         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
50452         Reported by Rainer Tammer <tammer@tammer.net>.
50453
50454 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
50455             Bruno Haible  <bruno@clisp.org>
50456
50457         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
50458         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
50459         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
50460
50461 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
50462
50463         filevercmp: new module
50464         * lib/filevercmp.h: New function filevercmp comparing version strings.
50465         * lib/filevercmp.c: Implementation of filevercmp function.
50466         * modules/filevercmp: Module metadata.
50467         * tests/test-filevercmp.c: Unit test for new module.
50468         * modules/filevercmp-tests: Unit test metadata.
50469         * MODULES.html.sh: Add filevercmp module.
50470
50471 2008-10-03  Bruno Haible  <bruno@clisp.org>
50472
50473         * lib/c-ctype.h: Add comment.
50474         Reported by Jim Meyering.
50475
50476 2008-10-02  Bruno Haible  <bruno@clisp.org>
50477
50478         * modules/posix_spawn-internal (Depends-on): Add 'open'.
50479
50480 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50481
50482         * build-aux/bootstrap: Allow renaming bootstrap, and change the
50483         name of bootstrap.conf accordingly.
50484
50485 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50486
50487         * build-aux/bootstrap: Install git-merge-changelog configuration
50488         items into .gitconfig if needed.
50489
50490 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50491
50492         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
50493         git repository, and initialize/update it accordingly.
50494
50495 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
50496
50497         * modules/fsync-tests: New file.
50498         * tests/test-fsync.c: New file.
50499
50500         New module 'fsync'.
50501         * lib/fsync.c: New file.
50502         * m4/fsync.m4: New file.
50503         * modules/fsync: New file.
50504         * lib/unistd.in.h (fsync): New declaration.
50505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
50506         GNULIB_FSYNC and HAVE_FSYNC.
50507         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
50508         * MODULES.html.sh (posix_functions): Add fsync.
50509         * doc/posix-functions/fsync.texi: Mention the new module.
50510
50511 2008-10-02  Jim Meyering  <meyering@redhat.com>
50512
50513         fts.c: sync with similar code from coreutils' remove.c
50514         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
50515         Guard also with "#if defined __linux__", since for now at least,
50516         this code is Linux-kernel-specific.
50517
50518 2008-10-02  Jim Meyering  <meyering@redhat.com>
50519
50520         fts: bug fixes
50521         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
50522         Include <sys/vfs.h>, not <sys/statfs.h>.
50523
50524         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
50525         Include <sys/vfs.h>, not <sys/statfs.h>.
50526
50527 2008-10-01  Bruno Haible  <bruno@clisp.org>
50528
50529         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
50530         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
50531         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
50532         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
50533         * doc/posix-functions/posix_spawnp.texi: Likewise.
50534         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
50535         whether posix_spawn actually works.
50536         * m4/pipe.m4 (gl_PIPE): Likewise.
50537         * modules/execute (Files): Add m4/posix_spawn.m4.
50538         * modules/pipe (Files): Add m4/posix_spawn.m4.
50539         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
50540
50541 2008-10-01  Jim Meyering  <meyering@redhat.com>
50542
50543         remove trailing spaces
50544         * NEWS: Likewise.
50545         * lib/poll.c (poll): Likewise.
50546         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
50547         * lib/winsock.c (rpl_close): Likewise.
50548         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
50549         * modules/yield: Likewise.
50550         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
50551         * tests/test-sys_select.c (connect_to_socket): Likewise.
50552
50553         fts.c: adjust a new interface to be more generally useful
50554         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
50555         (fts_build): Adjust caller.
50556
50557 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50558
50559         * modules/cond-tests: New file.
50560         * tests/test-cond.c: New file.
50561
50562 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50563             Bruno Haible  <bruno@clisp.org>
50564
50565         * modules/cond (Dependencies): Add errno, time.
50566         * lib/glthread/cond.h: Include <time.h>.
50567         (gl_cond_define, gl_cond_define_initialized): Use the same definition
50568         across platforms.
50569
50570 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50571             Bruno Haible  <bruno@clisp.org>
50572
50573         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
50574
50575 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50576             Bruno Haible  <bruno@clisp.org>
50577
50578         * modules/tls-tests (Depends-on): Add thread, yield.
50579         (configure.ac): Remove all checks.
50580         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
50581         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50582         gl_thread_self): Remove definitions. Include glthread/thread.h and
50583         glthread/yield.h instead.
50584         (test_tls): Pass an additional NULL argument to gl_thread_join.
50585
50586 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50587             Bruno Haible  <bruno@clisp.org>
50588
50589         * modules/lock-tests (Depends-on): Add thread, yield.
50590         (configure.ac): Remove all checks.
50591         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
50592         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50593         gl_thread_self): Remove definitions. Include glthread/thread.h and
50594         glthread/yield.h instead.
50595         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
50596         additional NULL argument to gl_thread_join.
50597
50598 2008-09-30  Bruno Haible  <bruno@clisp.org>
50599
50600         Fix the Win32 implementation of the 'thread' module.
50601         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
50602         pointer type.
50603         (gl_thread_self): Invoke gl_thread_self_func.
50604         (gl_thread_self_func): New declaration.
50605         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
50606         (do_init_self_key, init_self_key): New functions.
50607         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
50608         Remove some fields.
50609         (running_threads, running_lock): Remove variables.
50610         (get_current_thread_handle): New function.
50611         (gl_thread_self_func, wrapper_func, glthread_create_func,
50612         glthread_join_func, gl_thread_exit_func): Largely rewritten and
50613         simplified.
50614
50615 2008-09-30  Bruno Haible  <bruno@clisp.org>
50616
50617         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
50618         files.
50619
50620 2008-09-30  Jim Meyering  <meyering@redhat.com>
50621
50622         fts.m4: correct the test for statfs.f_type
50623         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
50624         when checking for statfs.f_type.
50625
50626 2008-09-15  Simon Josefsson  <simon@josefsson.org>
50627
50628         tests: avoid some compiler warnings
50629         * tests/test-memchr.c (main): Pass NULL indirectly.
50630         * tests/test-getdate.c (main): Remove unused variable 'ret'.
50631
50632 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
50633
50634         getdate.y: disallow countable dayshifts like "4 yesterday ago"
50635         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
50636         exactly specified dayshifts.
50637         (dayshift): New rule.
50638         (rel): Add dayshift.
50639         (relative_time_table) [tomorrow, yesterday, today, now]:
50640         Use tDAY_SHIFT in place of tDAY_UNIT.
50641         * tests/test-getdate.c: Add tests for now-disallowed countable
50642         dayshifts, e.g., "4 yesterday ago".
50643
50644 2008-09-29  Bruno Haible  <bruno@clisp.org>
50645
50646         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
50647         * tests/test-posix_spawn1.in.sh: Renamed from
50648         tests/test-posix_spawn.in.sh.
50649         * tests/test-posix_spawn2.c: New file.
50650         * tests/test-posix_spawn2.in.sh: New file.
50651         * modules/posix_spawnp-tests (Files): Update.
50652         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
50653
50654 2008-09-29  Bruno Haible  <bruno@clisp.org>
50655
50656         Propagate effects of putenv/setenv/unsetenv to child processes.
50657         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
50658         * lib/pipe.c (create_pipe): Likewise.
50659
50660 2008-09-29  Bruno Haible  <bruno@clisp.org>
50661
50662         Enable use of shell scripts as executables in mingw.
50663         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
50664         run the program as a shell script.
50665         * lib/pipe.c (create_pipe): Likewise.
50666         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
50667         resulting array.
50668
50669 2008-09-29  Eric Blake  <ebb9@byu.net>
50670
50671         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
50672
50673 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
50674
50675         * doc/posix-functions/accept.texi: Update mingw problems.
50676         * doc/posix-functions/bind.texi: Update mingw problems.
50677         * doc/posix-functions/close.texi: Update mingw problems.
50678         * doc/posix-functions/connect.texi: Update mingw problems.
50679         * doc/posix-functions/getpeername.texi: Update mingw problems.
50680         * doc/posix-functions/getsockname.texi: Update mingw problems.
50681         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50682         * doc/posix-functions/ioctl.texi: Update mingw problems.
50683         * doc/posix-functions/listen.texi: Update mingw problems.
50684         * doc/posix-functions/recv.texi: Update mingw problems.
50685         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50686         * doc/posix-functions/select.texi: Update mingw problems.
50687         * doc/posix-functions/send.texi: Update mingw problems.
50688         * doc/posix-functions/sendto.texi: Update mingw problems.
50689         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50690         * doc/posix-functions/socket.texi: Update mingw problems.
50691
50692 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50693             Bruno Haible  <bruno@clisp.org>
50694
50695         * lib/sys_select.in.h: Include sys/time.h.
50696         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50697         * modules/sys_select: Depend on sys_time.
50698         * tests/test-sys_select.c: Test that sys/select.h defines struct
50699         timeval fully.
50700
50701 2008-09-29  Bruno Haible  <bruno@clisp.org>
50702
50703         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50704         * lib/sys_select.in.h: Likewise.
50705
50706 2008-09-29  Bruno Haible  <bruno@clisp.org>
50707
50708         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50709
50710 2008-09-29  Bruno Haible  <bruno@clisp.org>
50711
50712         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50713         Set LIBSOCKET instead of augmenting LIBS.
50714         * modules/sockets (Link): New section.
50715         * modules/sockets-tests (test_sockets_LDADD): New variable.
50716         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50717         * modules/poll-tests (test_poll_LDADD): New variable.
50718         * NEWS: Document the change.
50719
50720 2008-09-29  Bruno Haible  <bruno@clisp.org>
50721
50722         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50723         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50724         ARPA_INET_H directly.
50725         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50726
50727 2008-09-28  Bruno Haible  <bruno@clisp.org>
50728
50729         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50730         from gl_HEADER_SYS_SOCKET.
50731         (gl_HEADER_SYS_SOCKET): Invoke it.
50732         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50733
50734 2008-09-28  Bruno Haible  <bruno@clisp.org>
50735
50736         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50737         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50738         Needed on OSF/1 4.0.
50739
50740 2008-09-28  Bruno Haible  <bruno@clisp.org>
50741
50742         Override open more carefully.
50743         * lib/open.c (orig_open): New function.
50744         (rpl_open): Use orig_open instead of open.
50745         * lib/fcntl.in.h: Add special invocation convention.
50746         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50747         (gl_FUNC_OPEN): Invoke it.
50748
50749         Override freopen more carefully.
50750         * lib/freopen.c (orig_freopen): New function.
50751         (rpl_freopen): Use orig_freopen instead of freopen.
50752         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50753         (gl_FUNC_FREOPEN): Invoke it.
50754
50755         Override fopen more carefully.
50756         * lib/fopen.c (orig_fopen): New function.
50757         (rpl_fopen): Use orig_fopen instead of fopen.
50758         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50759         (gl_FUNC_FOPEN): Invoke it.
50760         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50761
50762 2008-09-28  Bruno Haible  <bruno@clisp.org>
50763
50764         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50765         SIGPIPE.
50766
50767 2008-09-28  Bruno Haible  <bruno@clisp.org>
50768
50769         * tests/test-sigaction.c (handler, main): Disable the check whether
50770         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50771         glibc systems with LinuxThreads.
50772
50773 2008-09-28  Bruno Haible  <bruno@clisp.org>
50774
50775         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50776
50777         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50778         with AIX xlc.
50779         * lib/fcntl.in.h (open): Likewise.
50780         Reported by Rainer Tammer <tammer@tammer.net>.
50781
50782 2008-09-28  Bruno Haible  <bruno@clisp.org>
50783
50784         * modules/posix_spawnp-tests: New file.
50785         * tests/test-posix_spawn.c: New file.
50786         * tests/test-posix_spawn.in.sh: New file.
50787
50788         New module 'posix_spawnp'.
50789         * modules/posix_spawnp: New file.
50790         * lib/spawnp.c: New file, from GNU libc with modifications.
50791         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50792
50793         New module 'posix_spawn'.
50794         * modules/posix_spawn: New file.
50795         * lib/spawn.c: New file, from GNU libc with modifications.
50796         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50797
50798         New module 'posix_spawnattr_destroy'.
50799         * modules/posix_spawnattr_destroy: New file.
50800         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50801         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50802         module.
50803
50804         New module 'posix_spawnattr_setsigmask'.
50805         * modules/posix_spawnattr_setsigmask: New file.
50806         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50807         modifications.
50808         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50809         new module.
50810
50811         New module 'posix_spawnattr_getsigmask'.
50812         * modules/posix_spawnattr_getsigmask: New file.
50813         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50814         modifications.
50815         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50816         new module.
50817
50818         New module 'posix_spawnattr_setsigdefault'.
50819         * modules/posix_spawnattr_setsigdefault: New file.
50820         * lib/spawnattr_setdefault.c: New file, from GNU libc with
50821         modifications.
50822         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
50823         new module.
50824
50825         New module 'posix_spawnattr_getsigdefault'.
50826         * modules/posix_spawnattr_getsigdefault: New file.
50827         * lib/spawnattr_getdefault.c: New file, from GNU libc with
50828         modifications.
50829         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
50830         new module.
50831
50832         New module 'posix_spawnattr_setschedpolicy'.
50833         * modules/posix_spawnattr_setschedpolicy: New file.
50834         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
50835         modifications.
50836         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
50837         new module.
50838
50839         New module 'posix_spawnattr_getschedpolicy'.
50840         * modules/posix_spawnattr_getschedpolicy: New file.
50841         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
50842         modifications.
50843         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
50844         new module.
50845
50846         New module 'posix_spawnattr_setschedparam'.
50847         * modules/posix_spawnattr_setschedparam: New file.
50848         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50849         modifications.
50850         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50851         new module.
50852
50853         New module 'posix_spawnattr_getschedparam'.
50854         * modules/posix_spawnattr_getschedparam: New file.
50855         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50856         modifications.
50857         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50858         new module.
50859
50860         New module 'posix_spawnattr_setpgroup'.
50861         * modules/posix_spawnattr_setpgroup: New file.
50862         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50863         modifications.
50864         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50865         module.
50866
50867         New module 'posix_spawnattr_getpgroup'.
50868         * modules/posix_spawnattr_getpgroup: New file.
50869         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50870         modifications.
50871         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50872         module.
50873
50874         New module 'posix_spawnattr_setflags'.
50875         * modules/posix_spawnattr_setflags: New file.
50876         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50877         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50878         module.
50879
50880         New module 'posix_spawnattr_getflags'.
50881         * modules/posix_spawnattr_getflags: New file.
50882         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50883         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50884         module.
50885
50886         New module 'posix_spawnattr_init'.
50887         * modules/posix_spawnattr_init: New file.
50888         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50889         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50890         module.
50891
50892         New module 'posix_spawn_file_actions_destroy'.
50893         * modules/posix_spawn_file_actions_destroy: New file.
50894         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50895         modifications.
50896         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50897         the new module.
50898
50899         New module 'posix_spawn_file_actions_addopen'.
50900         * modules/posix_spawn_file_actions_addopen: New file.
50901         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50902         modifications.
50903         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50904         the new module.
50905
50906         New module 'posix_spawn_file_actions_adddup2'.
50907         * modules/posix_spawn_file_actions_adddup2: New file.
50908         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50909         modifications.
50910         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50911         the new module.
50912
50913         New module 'posix_spawn_file_actions_addclose'.
50914         * modules/posix_spawn_file_actions_addclose: New file.
50915         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50916         modifications.
50917         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50918         the new module.
50919
50920         New module 'posix_spawn_file_actions_init'.
50921         * modules/posix_spawn_file_actions_init: New file.
50922         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50923         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50924         new module.
50925
50926         New module 'posix_spawn-internal'.
50927         * modules/posix_spawn-internal: New file.
50928         * lib/spawn_int.h: New file, from GNU libc with modifications.
50929         * lib/spawni.c: New file, from GNU libc with modifications.
50930         * m4/posix_spawn.m4: New file.
50931
50932         New module 'spawn'.
50933         * modules/spawn: New file.
50934         * lib/spawn.in.h: New file, from GNU libc with modifications.
50935         * m4/spawn_h.m4: New file.
50936         * doc/posix-headers/spawn.texi: Mention the new module.
50937
50938 2008-09-28  Bruno Haible  <bruno@clisp.org>
50939
50940         * modules/sched-tests: New file.
50941         * tests/test-sched.c: New file.
50942
50943         New module 'sched'.
50944         * modules/sched: New file.
50945         * lib/sched.in.h: New file.
50946         * m4/sched_h.m4: New file.
50947         * doc/posix-headers/sched.texi: Mention the new module.
50948
50949 2008-09-27  Eric Blake  <ebb9@byu.net>
50950
50951         Fix previous patch, and tweak references to $0.
50952         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50953         (func_version, func_gnulib_dir): Don't call this program
50954         gnulib-tool.
50955         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50956         with using $0 in function.
50957         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50958         (func_fatal_error): Reuse the name the user invoked us with.
50959
50960 2008-09-27  Bruno Haible  <bruno@clisp.org>
50961
50962         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
50963         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
50964         (gl_ICONV_H): Not here.
50965         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50966         instead of assigning ICONV_H directly.
50967
50968         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
50969         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
50970         WCHAR_H directly.
50971
50972 2008-09-27  Bruno Haible  <bruno@clisp.org>
50973
50974         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
50975         * modules/arpa_inet (Depends-on): Add link-warning.
50976         (Makefile.am): Insert the definition of GL_LINK-WARNING.
50977         * modules/unistd (Makefile.am): Likewise.
50978
50979 2008-09-26  Bruno Haible  <bruno@clisp.org>
50980
50981         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
50982         variables.
50983         (func_version): Essentially copied from gnulib-tool.
50984         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
50985         func_readlink): Copied from gnulib-tool.
50986
50987 2008-09-26  Bruno Haible  <bruno@clisp.org>
50988
50989         * gnulib-tool (func_version): Change directory to $gnulib_dir before
50990         invoking git-version-gen.
50991
50992 2008-09-26  Bruno Haible  <bruno@clisp.org>
50993
50994         * posix-modules: Update to directory names changed on 2008-01-19.
50995         Remove commas in output before splitting into words. No more need to
50996         avoid 'ftruncate' since 2007-02-19.
50997
50998 2008-09-26  Bruno Haible  <bruno@clisp.org>
50999
51000         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
51001
51002 2008-09-26  Bruno Haible  <bruno@clisp.org>
51003
51004         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
51005         * modules/fwriteerror (Depends-on): Add errno.
51006
51007 2008-09-26  Bruno Haible  <bruno@clisp.org>
51008
51009         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
51010         * tests/test-vc-list-files-cvs.sh: Likewise.
51011
51012 2008-09-26  Bruno Haible  <bruno@clisp.org>
51013
51014         * doc/posix-headers/sys_resource.texi: Reorder items.
51015
51016 2008-09-26  Jim Meyering  <meyering@redhat.com>
51017
51018         fts: tweak inode comparison function
51019         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
51020         inode numbers, as documented.
51021
51022         fts: sort dirent entries on inode number before traversing
51023         This avoids a quadratic, seek-related performance penalty when
51024         operating on a directory containing many entries (measurable at 10k;
51025         3.5 hours at 2 million entries with a cold cache) on certain types
51026         of file systems, including ext3 and ext4, but not tmpfs.
51027         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
51028         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
51029         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
51030         (fs_handles_readdir_ordered_dirents_efficiently): New function.
51031         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
51032         (fts_build): Set the stat.st_ino member from D_INO.
51033         If it is likely to be useful, sort dirent entries on inode number.
51034
51035         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
51036         and the struct statfs.f_type member.
51037         * modules/fts (Depends-on): Add d-ino.
51038
51039 2008-09-26  Bruno Haible  <bruno@clisp.org>
51040
51041         * modules/sigpipe-die (Depends-on): Add sigpipe.
51042
51043         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
51044         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
51045         and GNULIB_STDIO_H_SIGPIPE are set.
51046         * lib/stdio-write.c: New file.
51047         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
51048         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51049         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51050         REPLACE_STDIO_WRITE_FUNCS.
51051         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
51052         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51053         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51054         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51055         * modules/stdio (Files): Add lib/stdio-write.c.
51056         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
51057         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51058         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51059         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51060         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
51061         REPLACE_FPRINTF_POSIX.
51062         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
51063         REPLACE_PRINTF_POSIX.
51064         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
51065         REPLACE_VFPRINTF_POSIX.
51066         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
51067         REPLACE_VPRINTF_POSIX.
51068         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
51069         SIGPIPE issue.
51070         * doc/posix-functions/fputc.texi: Likewise.
51071         * doc/posix-functions/fputs.texi: Likewise.
51072         * doc/posix-functions/fwrite.texi: Likewise.
51073         * doc/posix-functions/printf.texi: Likewise.
51074         * doc/posix-functions/putc.texi: Likewise.
51075         * doc/posix-functions/putchar.texi: Likewise.
51076         * doc/posix-functions/puts.texi: Likewise.
51077         * doc/posix-functions/vfprintf.texi: Likewise.
51078         * doc/posix-functions/vprintf.texi: Likewise.
51079
51080         * modules/safe-write (Depends-on): Add write.
51081
51082         * modules/sigpipe-tests: New file.
51083         * tests/test-sigpipe.c: New file.
51084         * tests/test-sigpipe.sh: New file.
51085
51086         * modules/write: New file.
51087         * lib/unistd.in.h: Include <sys/types.h>.
51088         (write): New declaration.
51089         * lib/write.c: New file.
51090         * m4/write.m4: New file.
51091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51092         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
51093         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
51094         GNULIB_WRITE, REPLACE_WRITE.
51095         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
51096         and the SIGPIPE issue.
51097
51098         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
51099         (raise): New declaration.
51100         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
51101         (ext_signal): New function.
51102         (rpl_raise): New function.
51103         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51104         GNULIB_SIGNAL_H_SIGPIPE.
51105         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
51106         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
51107
51108         * modules/sigpipe: New file.
51109         * m4/sigpipe.m4: New file.
51110
51111 2008-09-25  Derek Price  <derek@ximbiot.com>
51112             Bruno Haible  <bruno@clisp.org>
51113
51114         * gnulib-tool (func_import): Report all license incompatibilities, not
51115         just the first one.
51116
51117 2008-09-25  Bruno Haible  <bruno@clisp.org>
51118
51119         * gnulib-tool (func_import): When computing the edits, consider not
51120         only the Makefile.ams that exist but also those that will be generated.
51121
51122 2008-09-25  Simon Josefsson  <simon@josefsson.org>
51123
51124         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
51125         fixes gnulib-tool --test warning about duplicate dependency.
51126
51127 2008-09-25  Bruno Haible  <bruno@clisp.org>
51128
51129         * gnulib-tool: Don't ask the user to perform edits in the generated
51130         Makefile.ams.
51131         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
51132         apply to the Makefile.am being generated.
51133         (func_emit_tests_Makefile_am): Execute edits that apply to the
51134         Makefile.am being generated.
51135         (func_import): Setup list of Makefile.am edits before emitting the
51136         Makefile.ams, not at the end.
51137         (func_create_testdir): Update.
51138         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51139
51140 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51141
51142         * gnulib-tool (func_import): Store the --tests-base option in the
51143         comment in gnulib-cache.m4.
51144
51145 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
51146
51147         * NEWS: Document increased portability that sys_select now provides.
51148
51149         * lib/sys_select.in.h: Install select wrapper.
51150         * lib/sys_socket.in.h: Use more descriptive name when there is no
51151         select wrapper.
51152         * lib/winsock-select.c: New.
51153         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
51154         Require gl_HEADER_SYS_SOCKET.
51155         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
51156         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
51157         * tests/test-sys_select.c: Add functional tests.
51158
51159 2008-09-24  Eric Blake  <ebb9@byu.net>
51160
51161         open, fopen: close fd leak in last patch
51162         * lib/open.c (rpl_open): Close fd before returning error.
51163         * lib/fopen.c (rpl_fopen): Close fd before returning error.
51164         * doc/posix-functions/open.texi (open): Document that Irix also
51165         has the bug.
51166         * doc/posix-functions/fopen.texi (fopen): Likewise.
51167         Reported by Paolo Bonzini.
51168
51169 2008-09-24  Bruno Haible  <bruno@clisp.org>
51170
51171         Ensure that a filename ending in a slash cannot be used to access a
51172         non-directory.
51173         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
51174         to check whether it's really a directory.
51175         * lib/fopen.c: Include fcntl.h, unistd.h.
51176         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
51177         and fdopen().
51178         * modules/fopen (Depends-on): Add unistd.
51179         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
51180         * tests/test-fopen.c (main): Likewise.
51181         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
51182         * doc/posix-functions/fopen.texi: Likewise.
51183         Reported by Eric Blake.
51184
51185 2008-09-23  Eric Blake  <ebb9@byu.net>
51186
51187         c-stack: avoid compiler optimizations when provoking overflow
51188         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
51189         recursion harder to optimize, to ensure a stack overflow occurs.
51190         * tests/test-c-stack.c (recurse): Likewise.
51191         Borrowed from libsigsegv.
51192
51193         c-stack: work around Irix sigaltstack bug
51194         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
51195         whether sigaltstack uses wrong end of stack_t (copied in part from
51196         libsigsegv).
51197         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
51198         Irix bug, without requiring an over-allocation.
51199         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
51200         bug.
51201
51202         fopen: document mingw bug on directories
51203         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
51204         not allowing a stream visiting a directory, even though reading
51205         from such a stream is not portable.
51206
51207 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51208
51209         * lib/poll.c: Rewrite.
51210         * modules/poll: Depend on alloca.
51211
51212 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51213
51214         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
51215         instead define prototypes for a full set of wrappers.  Ensure
51216         that Cygwin does not use the compatibility code, which is only
51217         for MinGW.
51218         * lib/winsock.c: New.
51219         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
51220         * modules/sys_socket: Add lib/winsock.c.
51221
51222         * modules/poll-tests: Add errno and perror.
51223         * tests/test-poll.c: Use ioctl, not ioctlsocket.
51224
51225 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51226
51227         * tests/test-poll.c: Downgrade minimum needed Winsock version.
51228
51229 2008-09-23  Bruno Haible  <bruno@clisp.org>
51230
51231         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
51232         * doc/glibc-functions/*: Likewise.
51233
51234 2008-09-23  Simon Josefsson  <simon@josefsson.org>
51235
51236         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
51237         success.
51238
51239 2008-09-22  Eric Blake  <ebb9@byu.net>
51240             Bruno Haible  <bruno@clisp.org>
51241
51242         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
51243         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
51244         supply %A but mishandle pseudo-NaN.
51245         Reported by Simon Josefsson.
51246
51247 2008-09-21  Bruno Haible  <bruno@clisp.org>
51248
51249         * tests/test-lock.c (main): Tweak skip message.
51250         * tests/test-tls.c (main): Likewise.
51251
51252 2008-09-21  Bruno Haible  <bruno@clisp.org>
51253
51254         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
51255         whether 'struct sigaction' has sa_sigaction here...
51256         (gl_PREREQ_SIG_HANDLER_H): ... not here.
51257         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
51258
51259 2008-09-21  Bruno Haible  <bruno@clisp.org>
51260
51261         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
51262         section.
51263         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
51264         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
51265         the new section.
51266         (Support for obsolete systems lacking POSIX:2001): New section.
51267         (String handling <string.h>): Move strdup to the new section.
51268         Suggested by Simon Josefsson and Paolo Bonzini.
51269
51270 2008-09-21  Bruno Haible  <bruno@clisp.org>
51271
51272         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
51273         exponents in %e and %g results on 'long double'. Needed for mingw's
51274         improved *printf functions.
51275         * tests/test-vasprintf-posix.c (test_function): Likewise.
51276         * tests/test-snprintf-posix.h (test_function): Likewise.
51277         * tests/test-sprintf-posix.h (test_function): Likewise.
51278         Reported by Eric Blake.
51279
51280 2008-09-21  Bruno Haible  <bruno@clisp.org>
51281
51282         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
51283         * tests/test-sprintf-posix.h (test_function): Likewise.
51284
51285 2008-09-21  Bruno Haible  <bruno@clisp.org>
51286
51287         * modules/getpass (Depends-on): Add strdup-posix.
51288
51289         New module 'strdup-posix'.
51290         * modules/strdup-posix: New file.
51291         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
51292         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
51293         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51294         REPLACE_STRDUP.
51295         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
51296         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
51297         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51298         strdup-posix.
51299
51300         * modules/strdup (Depends-on): Remove malloc-posix.
51301
51302 2008-09-20  Bruno Haible  <bruno@clisp.org>
51303
51304         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
51305         Wildenhues.
51306
51307 2008-09-20  Bruno Haible  <bruno@clisp.org>
51308
51309         Ensure that wint_t gets defined on IRIX 5.3.
51310         * lib/wchar.in.h (wint_t): Define if not defined by the system.
51311         * lib/wctype.in.h (wint_t): Likewise.
51312         (__wctype_wint_t): Remove type.
51313         (isw*): Use wint_t instead of __wctype_wint_t.
51314         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
51315         * modules/wchar (Files): Add m4/wint_t.m4.
51316         (Makefile.am): Substitute HAVE_WINT_T.
51317         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
51318         * tests/test-wctype.c: Check that wint_t is defined.
51319         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
51320         * doc/posix-headers/wctype.texi: Likewise.
51321         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51322
51323 2008-09-18  Bruno Haible  <bruno@clisp.org>
51324
51325         * gnulib-tool (func_exit): Update comment.
51326
51327 2008-09-18  Simon Josefsson  <simon@josefsson.org>
51328
51329         * modules/getaddrinfo (Depends-on): Remove strdup, this module
51330         assumes strdup exists and does not depend on strdup to return
51331         ENOMEM on out of memory conditions.
51332
51333 2008-09-18  Bruno Haible  <bruno@clisp.org>
51334
51335         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
51336         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
51337         digits for the exponent.
51338
51339 2008-09-18  Jim Meyering  <meyering@redhat.com>
51340             Bruno Haible  <bruno@clisp.org>
51341
51342         * lib/vasnprintf.c (decimal_point_char): Define also if
51343         NEED_PRINTF_INFINITE_LONG_DOUBLE.
51344
51345 2008-09-16  Bruno Haible  <bruno@clisp.org>
51346         and Eric Blake  <ebb9@byu.net>
51347
51348         vasnprintf: support Irix 5.3
51349         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
51350         that mishandle long double infinity.
51351         Reported by Tom G. Christensen.
51352
51353 2008-09-16  Bruno Haible  <bruno@clisp.org>
51354
51355         * doc/glibc-functions/scandir.texi: Mention the function is missing on
51356         Solaris 9.
51357         * doc/glibc-functions/alphasort.texi: Likewise.
51358         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
51359
51360 2008-09-16  Jim Meyering  <meyering@redhat.com>
51361
51362         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
51363         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
51364         a umask modification leak out of a subshell.  Otherwise, the
51365         opensolaris /bin/sh would be accepted and thus cause unwarranted
51366         failures in the coreutils test suite.
51367
51368 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
51369
51370         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
51371         to succeed.
51372
51373 2008-09-16  Jim Meyering  <meyering@redhat.com>
51374
51375         avoid spurious test failure when library is built without ACL support
51376         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
51377         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
51378         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
51379         * tests/test-copy-acl.sh: Likewise.
51380
51381 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51382
51383         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
51384         based on character occurrence counts.
51385
51386 2008-09-15  Eric Blake  <ebb9@byu.net>
51387
51388         tests: avoid some compiler warnings
51389         * tests/test-memchr.c (main): Pass NULL indirectly.
51390         * tests/test-closein.c (main): Avoid unused variable.
51391
51392 2008-09-15  Bruno Haible  <bruno@clisp.org>
51393
51394         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
51395         are missing on OpenBSD 4.0 individually.
51396         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51397
51398 2008-09-15  Bruno Haible  <bruno@clisp.org>
51399
51400         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
51401         * doc/posix-functions/strerror.texi: Mention also Cygwin.
51402         * doc/posix-functions/perror.texi: Likewise.
51403         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
51404         is missing.
51405         Reported by Eric Blake.
51406
51407         * lib/errno.in.h: Use replacement values >= 2000.
51408         Reported by Eric Blake.
51409
51410 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51411
51412         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
51413         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
51414         limit.
51415         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
51416         compareseq was aborted.
51417
51418 2008-09-14  Bruno Haible  <bruno@clisp.org>
51419
51420         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
51421         yvec_edit_count.
51422         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
51423         (fstrcmp_bounded): Simplify result computation accordingly.
51424
51425 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51426
51427         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
51428         (fstrcmp): Define in terms of fstrcmp_bounded.
51429         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
51430         lower_bound argument.
51431         Return quickly if the result is certainly < lower_bound.
51432         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
51433
51434 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51435
51436         * lib/diffseq.h (EARLY_ABORT): New macro.
51437         (compareseq): Change return type to bool. Return true when EARLY_ABORT
51438         evaluates to true.
51439
51440 2008-09-14  Bruno Haible  <bruno@clisp.org>
51441
51442         * modules/perror-tests: New file.
51443         * tests/test-perror.sh: New file.
51444         * tests/test-perror.c: New file.
51445
51446         New module 'perror'.
51447         * lib/stdio.in.h (perror): New declaration.
51448         * lib/perror.c: New file.
51449         * m4/perror.m4: New file.
51450         * modules/perror: New file.
51451         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
51452         * doc/posix-functions/perror.texi: Mention the perror module.
51453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
51454         REPLACE_PERROR.
51455         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
51456         REPLACE_PERROR.
51457
51458 2008-09-14  Bruno Haible  <bruno@clisp.org>
51459
51460         * modules/stdio (Makefile.am): Reorder to match the order in
51461         lib/stdio.in.h.
51462         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51463
51464 2008-09-13  Bruno Haible  <bruno@clisp.org>
51465
51466         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
51467
51468 2008-09-13  Bruno Haible  <bruno@clisp.org>
51469
51470         Extend strerror to cover the added errno values.
51471         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
51472         (rpl_strerror): Provide error messages for the added errno values and
51473         for the WSA* values.
51474         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
51475         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
51476         strerror.
51477         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
51478         * modules/strerror (Depends-on): Add errno.
51479         * doc/posix-functions/strerror.texi: Document the change.
51480         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
51481         and EOVERFLOW.
51482
51483 2008-09-13  Bruno Haible  <bruno@clisp.org>
51484
51485         * modules/EOVERFLOW: Remove file.
51486         * m4/eoverflow.m4: Remove file.
51487         * modules/EOVERFLOW-tests: Remove file.
51488         * tests/test-EOVERFLOW.c: Remove file.
51489         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
51490         * modules/ftell (Depends-on): Likewise.
51491         * modules/getdelim (Depends-on): Likewise.
51492         * modules/getugroups (Depends-on): Likewise.
51493         * modules/poll (Depends-on): Likewise.
51494         * modules/snprintf (Depends-on): Likewise.
51495         * modules/sprintf-posix (Depends-on): Likewise.
51496         * modules/vasnprintf (Depends-on): Likewise.
51497         * modules/vasprintf (Depends-on): Likewise.
51498         * modules/vfprintf-posix (Depends-on): Likewise.
51499         * modules/vsnprintf (Depends-on): Likewise.
51500         * modules/vsprintf-posix (Depends-on): Likewise.
51501         * modules/xvasprintf (Depends-on): Likewise.
51502         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51503         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
51504         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
51505         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
51506         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51507         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
51508         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
51509         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
51510         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51511         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
51512         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
51513         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
51514         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51515         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
51516         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
51517         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
51518         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51519         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
51520         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
51521         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
51522         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51523         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
51524         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
51525         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
51526         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
51527         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51528         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
51529         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
51530         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
51531         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
51532         * MODULES.html.sh: Remove EOVERFLOW.
51533         * NEWS: Mention the change.
51534
51535 2008-09-13  Bruno Haible  <bruno@clisp.org>
51536
51537         * modules/errno-tests: New file.
51538         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
51539
51540         * lib/errno.in.h: New file.
51541         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
51542         * modules/errno: New file.
51543         * doc/posix-headers/errno.texi: Update documentation.
51544         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
51545
51546 2008-09-13  Bruno Haible  <bruno@clisp.org>
51547
51548         * tests/test-poll.c: Use #if for native Windows, rather than testing
51549         __MSVCRT__.
51550
51551 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51552             Bruno Haible  <bruno@clisp.org>
51553
51554         * lib/glob.c: Don't include <pwd.h> on native Windows.
51555         (WINDOWS32): New macro.
51556         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
51557
51558 2008-09-13  Bruno Haible  <bruno@clisp.org>
51559
51560         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
51561         (ETIMEDOUT): Remove macro.
51562         (glthread_cond_timedwait_multithreaded): New declaration.
51563         (glthread_cond_timedwait): Use it.
51564         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
51565         (glthread_cond_timedwait_multithreaded): New function.
51566
51567 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51568
51569         * modules/poll-tests: Do not check for io.h.
51570         * tests/test-poll.c: Check for __MSVCRT__ instead.
51571
51572 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51573
51574         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
51575         * modules/poll-tests: Add inet_pton, stdbool, sockets.
51576         * tests/test-poll.c: Use them.  Use _pipe on Windows.
51577
51578 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51579
51580         * modules/poll-tests: New.
51581         * tests/test-poll.c: New.
51582
51583 2008-09-12  Eric Blake  <ebb9@byu.net>
51584
51585         frexp: test for NetBSD failure on -0.0
51586         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
51587         not all, bugs from NetBSD 3.0 have been fixed.
51588         * doc/posix-functions/frexp.texi (frexp): Document bug.
51589         Reported by Thomas Klausner.
51590
51591         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
51592         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
51593         literal -0.0.
51594         Reported by Jonathan C. Patschke <jp@centtech.com>.
51595
51596 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51597
51598         * lib/glthread/cond.h: Use dummy implementation also if
51599         USE_WIN32_THREADS.
51600
51601 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51602
51603         * modules/fnmatch-posix (License): Change to LGPLv2+.
51604         * modules/fnmatch-gnu (License): Likewise.
51605
51606 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51607
51608         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
51609
51610 2008-09-11  Jim Meyering  <meyering@redhat.com>
51611
51612         * users.txt: Add gtk-vnc.
51613
51614 2008-09-08  Simon Josefsson  <simon@josefsson.org>
51615
51616         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
51617         rotate amounts.
51618
51619         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
51620         required for 16-bit and 8-bit rotates.
51621         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
51622         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
51623         UINT8_MAX instead of hard-coded constants.
51624         Suggested by Paul Eggert.
51625
51626 2008-09-07  Bruno Haible  <bruno@clisp.org>
51627
51628         * tests/test-striconveh.c (main): Check behaviour when converting from
51629         UTF-7.
51630
51631         Make striconveh work better with stateful encodings.
51632         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
51633         that iconv does not increment the inptr when returning -1/EINVAL.
51634
51635 2008-09-07  Bruno Haible  <bruno@clisp.org>
51636
51637         * build-aux/config.rpath: Update according to libtool-2.2.6.
51638         * build-aux/config.libpath: Likewise.
51639
51640 2008-09-06  Bruno Haible  <bruno@clisp.org>
51641
51642         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
51643         * lib/freadptr.c (freadptr): Likewise.
51644         * lib/freadseek.c (freadptrinc): Likewise.
51645         Reported by Simon Josefsson.
51646
51647 2008-09-06  Bruno Haible  <bruno@clisp.org>
51648
51649         * modules/freadptr (License): Change to LGPLv2+.
51650         * modules/freadseek (License): Likewise.
51651         Suggested by Eric Blake.
51652
51653         * modules/memchr2 (License): Change to LGPLv2+.
51654         Approved by Eric Blake.
51655
51656 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51657             Bruno Haible  <bruno@clisp.org>
51658
51659         Make gnulib-tool work with native 'sed' on AIX.
51660         * gnulib-tool (sed_noop): New variable.
51661         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
51662         func_add_or_update, func_create_testdir): Use it to initialize sed
51663         script variables.
51664         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51665
51666 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
51667             Bruno Haible  <bruno@clisp.org>
51668
51669         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
51670         also works after #include directives.
51671
51672 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
51673
51674         getdate.y: reject an out-of-range timezone value
51675         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
51676         the range [-24...+24].  When specified with only one or two digits,
51677         * tests/test-getdate.c: Tests for the fix.
51678         * doc/getdate.texi: Document this change.
51679
51680 2008-09-03  Bruno Haible  <bruno@clisp.org>
51681
51682         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51683
51684 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51685
51686         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51687         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51688         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51689         Blake <ebb9@byu.net>.
51690
51691         * tests/test-bitrotate.c: Add more test vectors.
51692
51693 2008-09-02  Eric Blake  <ebb9@byu.net>
51694
51695         vasnprintf-posix: handle large precision via %.*d
51696         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51697         when handling it ourselves.
51698         * tests/test-vasnprintf-posix.c (test_function): Add test.
51699         * tests/test-snprintf-posix.h (test_function): Likewise.
51700         * tests/test-sprintf-posix.h (test_function): Likewise.
51701         * tests/test-vasprintf-posix.c (test_function): Likewise.
51702         Reported by Alain Guibert.
51703
51704 2008-09-01  Eric Blake  <ebb9@byu.net>
51705
51706         c-stack: make configure-time check more robust
51707         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51708         successful sigaction call.
51709         Reported by Tom G. Christensen.
51710
51711 2008-09-01  Bruno Haible  <bruno@clisp.org>
51712
51713         New module 'findprog-lgpl'.
51714         * modules/findprog-lgpl: New file.
51715         * lib/findprog-lgpl.c: New file.
51716         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51717         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51718         to decide whether to use strdup or xstrdup, concatenated_filename or
51719         xconcatenated_filename.
51720
51721 2008-09-01  Bruno Haible  <bruno@clisp.org>
51722
51723         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51724         'xconcat-filename' (GPL).
51725         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51726         (License): Change to LGPLv2+.
51727         * modules/xconcat-filename: New file.
51728         * lib/concat-filename.h (concatenated_filename): Change specification.
51729         (xconcatenated_filename): New declaration.
51730         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51731         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51732         memory situations.
51733         * lib/xconcat-filename.c: New file.
51734         * NEWS: Mention the change.
51735         * lib/findprog.c: Include concat-filename.h, not filename.h.
51736         (find_in_path): Use xconcatenated_filename instead of
51737         concatenated_filename.
51738         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51739         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51740         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51741         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51742         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51743         instead of concatenated_filename.
51744         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51745         (execute_java_class): Use xconcatenated_filename instead of
51746         concatenated_filename.
51747         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51748         * modules/javacomp (Depends-on): Likewise.
51749         * modules/javaexec (Depends-on): Likewise.
51750
51751 2008-09-01  Bruno Haible  <bruno@clisp.org>
51752
51753         Split module 'filename' into 'filename' and 'concat-filename'.
51754         * modules/filename: Keep only lib/filename.h.
51755         (License): Change to LGPLv2+.
51756         * modules/concat-filename: New file, extracted from modules/filename.
51757         * lib/filename.h (concatenated_filename): Remove declaration.
51758         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51759         * lib/concat-filename.c: Include concat-filename.h.
51760         * NEWS: Mention the change.
51761
51762 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51763
51764         * lib/bitrotate.h (rotl8, rotr8): Add.
51765
51766         * modules/bitrotate (configure.ac): Need
51767         AC_REQUIRE([AC_C_INLINE]).
51768         (Description): Mention stdint.h.  Reported by Bruno Haible
51769         <bruno@clisp.org>.
51770
51771         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51772         Paolo Bonzini <bonzini@gnu.org>.
51773
51774 2008-08-31  Bruno Haible  <bruno@clisp.org>
51775
51776         Assume Solaris specific bi-arch conventions on Solaris systems.
51777         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51778         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51779         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51780         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51781         like acl_libdirstem.
51782         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51783         acl_libdirstem.
51784         * NEWS: Mention the change.
51785         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51786
51787 2008-08-31  Jim Meyering  <meyering@redhat.com>
51788
51789         * lib/strftime.h: Add comments describing the two added arguments.
51790
51791         remove duplicate #include directives
51792         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51793         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51794
51795 2008-08-31  Bruno Haible  <bruno@clisp.org>
51796
51797         New module 'sigpipe-die'.
51798         * modules/sigpipe-die: New file.
51799         * lib/sigpipe-die.h: New file.
51800         * lib/sigpipe-die.c: New file.
51801         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51802
51803 2008-08-31  Bruno Haible  <bruno@clisp.org>
51804
51805         Don't override previously installed signal handlers.
51806         * lib/fatal-signal.c (saved_sigactions): New variable.
51807         (uninstall_handlers): Reset the signal to the saved handler, not
51808         to SIG_DFL (except when ignored).
51809         (install_handlers): Save the previous handlers.
51810
51811 2008-08-30  Bruno Haible  <bruno@clisp.org>
51812
51813         * gnulib-tool (func_reset_sigpipe): New function.
51814         (func_get_automake_snippet, func_modules_transitive_closure,
51815         func_import): Invoke it before a join command that reads from stdin,
51816         to avoid "echo: write error: Broken pipe" error messages on stderr.
51817         Reported by Sam Steingold <sds@gnu.org>.
51818
51819 2008-08-30  Bruno Haible  <bruno@clisp.org>
51820
51821         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
51822         Code copied from m4/open.m4.
51823         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
51824         access and the filename ends in a slash. Code copied from lib/open.c.
51825         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
51826         * tests/test-fopen.c (main): Check against bug with trailing slash.
51827
51828 2008-08-29  Bruno Haible  <bruno@clisp.org>
51829
51830         Avoid some "gcc -pedantic" warnings.
51831         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
51832         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
51833         * lib/dirent.in.h: Likewise.
51834         * lib/fcntl.in.h: Likewise.
51835         * lib/float.in.h: Likewise.
51836         * lib/iconv.in.h: Likewise.
51837         * lib/inttypes.in.h: Likewise.
51838         * lib/locale.in.h: Likewise.
51839         * lib/math.in.h: Likewise.
51840         * lib/netinet_in.in.h: Likewise.
51841         * lib/search.in.h: Likewise.
51842         * lib/signal.in.h: Likewise.
51843         * lib/stdarg.in.h: Likewise.
51844         * lib/stdint.in.h: Likewise.
51845         * lib/stdio.in.h: Likewise.
51846         * lib/stdlib.in.h: Likewise.
51847         * lib/string.in.h: Likewise.
51848         * lib/strings.in.h: Likewise.
51849         * lib/sys_select.in.h: Likewise.
51850         * lib/sys_socket.in.h: Likewise.
51851         * lib/sys_stat.in.h: Likewise.
51852         * lib/sys_time.in.h: Likewise.
51853         * lib/sysexits.in.h: Likewise.
51854         * lib/time.in.h: Likewise.
51855         * lib/unistd.in.h: Likewise.
51856         * lib/wchar.in.h: Likewise.
51857         * lib/wctype.in.h: Likewise.
51858         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51859         * modules/fchdir (Makefile.am): Likewise.
51860         * modules/fcntl (Makefile.am): Likewise.
51861         * modules/float (Makefile.am): Likewise.
51862         * modules/iconv_open (Makefile.am): Likewise.
51863         * modules/inttypes (Makefile.am): Likewise.
51864         * modules/locale (Makefile.am): Likewise.
51865         * modules/math (Makefile.am): Likewise.
51866         * modules/netinet_in (Makefile.am): Likewise.
51867         * modules/search (Makefile.am): Likewise.
51868         * modules/signal (Makefile.am): Likewise.
51869         * modules/stdarg (Makefile.am): Likewise.
51870         * modules/stdint (Makefile.am): Likewise.
51871         * modules/stdio (Makefile.am): Likewise.
51872         * modules/stdlib (Makefile.am): Likewise.
51873         * modules/string (Makefile.am): Likewise.
51874         * modules/strings (Makefile.am): Likewise.
51875         * modules/sys_select (Makefile.am): Likewise.
51876         * modules/sys_socket (Makefile.am): Likewise.
51877         * modules/sys_stat (Makefile.am): Likewise.
51878         * modules/sys_time (Makefile.am): Likewise.
51879         * modules/sysexits (Makefile.am): Likewise.
51880         * modules/time (Makefile.am): Likewise.
51881         * modules/unistd (Makefile.am): Likewise.
51882         * modules/wchar (Makefile.am): Likewise.
51883         * modules/wctype (Makefile.am): Likewise.
51884         Reported by Reuben Thomas <rrt@sc3d.org>.
51885
51886 2008-08-29  Bruno Haible  <bruno@clisp.org>
51887
51888         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51889         any more.
51890
51891 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51892
51893         * MODULES.html.sh (Misc): Add bitrotate.
51894
51895         * modules/bitrotate: New file.
51896
51897         * lib/bitrotate.h: New file.
51898
51899         * modules/bitrotate-tests: New file.
51900
51901         * tests/test-bitrotate.c: New file.
51902
51903         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51904         on the bitrotate module.
51905
51906         * lib/arctwo.c: Use new bitrotate module.
51907
51908 2008-08-29  Jim Meyering  <meyering@redhat.com>
51909
51910         bootstrap: merge changes from coreutils
51911         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51912         of copied files.  Remove a kludge, now that this is fixed.
51913         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51914         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51915         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51916
51917 2008-08-29  Bruno Haible  <bruno@clisp.org>
51918
51919         * MODULES.html.sh: Remove --cvs-urls option.
51920
51921 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51922
51923         maint.mk: adjust to file name change
51924         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51925
51926 2008-08-28  Jim Meyering  <meyering@redhat.com>
51927
51928         * modules/getndelim2 (License): Relicense to LGPLv2+.
51929         Approved by Richard Stallman for the version of 1995, and by
51930         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51931
51932 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51933
51934         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51935         dummy if one is not available.  Do not touch them if
51936         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51937         (getc_maybe_unlocked): New.
51938         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51939
51940 2008-08-26  Eric Blake  <ebb9@byu.net>
51941
51942         doc/INSTALL: resync from autoconf
51943         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51944         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51945         moving...
51946         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51947         * INSTALL: Regenerate.
51948         * INSTALL.ISO: New file.
51949         * INSTALL.UTF-8: Likewise.
51950
51951 2008-08-26  Jim Meyering  <meyering@redhat.com>
51952
51953         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51954         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51955         these definitions conditional, so that they may be overridden, too.
51956
51957 2008-08-26  Bruno Haible  <bruno@clisp.org>
51958
51959         Generate INSTALL file variants with prettier quotes.
51960         * doc/Makefile (INSTALL_PRELUDE): New macro.
51961         (INSTALL): Use it.
51962         (INSTALL.ISO, INSTALL.UTF-8): New rules.
51963
51964 2008-08-26  Bruno Haible  <bruno@clisp.org>
51965
51966         Run makeinfo in an English locale.
51967         * doc/Makefile (MAKEINFO): New variable.
51968
51969 2008-08-26  Bruno Haible  <bruno@clisp.org>
51970
51971         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
51972         Suggested by Eric Blake.
51973
51974 2008-08-25  Bruno Haible  <bruno@clisp.org>
51975
51976         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
51977
51978 2008-08-25  Eric Blake  <ebb9@byu.net>
51979
51980         c-stack: test that stack overflow can be caught
51981         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
51982         that platform allows handling stack overflow; at least OS/2 EMX
51983         has sigaltstack, but crashes before transferring control to
51984         handler on stack overflow.
51985         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
51986         check for HAVE_STACK_OVERFLOW_HANDLING.
51987         Reported by Elbert Pol.
51988
51989 2008-08-25  Bruno Haible  <bruno@clisp.org>
51990
51991         * doc/posix-functions/strftime.texi: Fix description of strftime
51992         module.
51993
51994 2008-08-24  Bruno Haible  <bruno@clisp.org>
51995
51996         * tests/uniwidth/test-uc_width2.c: New file.
51997         * tests/uniwidth/test-uc_width2.sh: New file.
51998         * modules/uniwidth/width-tests (Files): Add the new files.
51999         (TESTS): Add uniwidth/test-uc_width2.sh.
52000         (TESTS_ENVIRONMENT): New variable.
52001         (check_PROGRAMS): Add test-uc_width2.
52002         (test_uc_width2_SOURCES): New variable.
52003
52004         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
52005         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
52006         not 0x00AB.
52007         Reported by Alexander V. Lukyanov <lav@netis.ru>.
52008
52009 2008-08-22  Eric Blake  <ebb9@byu.net>
52010
52011         test-lock, test-tls: mention why a test is skipped
52012         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
52013         skipped.
52014         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
52015
52016         count-one-bits: relax license
52017         * modules/count-one-bits (License): Relicense to LGPLv2+.
52018         Suggested by Ludovic Courtès, approved by Ben Pfaff.
52019
52020 2008-08-22  Andreas Schwab  <schwab@suse.de>
52021
52022         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
52023         Remove spurious space in assignment.
52024
52025 2008-08-21  Simon Josefsson  <simon@josefsson.org>
52026
52027         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
52028         Paul Eggert <eggert@CS.UCLA.EDU>.
52029
52030 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
52031
52032         * modules/gettext: Add m4/threadlib.m4.
52033
52034 2008-08-19  Eric Blake  <ebb9@byu.net>
52035
52036         test-c-stack: fix compilation failure on FreeBSD 5.0
52037         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
52038         headers before <sys/resource.h>.
52039         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
52040         the bug.
52041         Reported by Nelson H. F. Beebe.
52042
52043         strverscmp: migrate from "strverscmp.h" to <string.h>
52044         * modules/string (Makefile.am): Add new hooks.
52045         * modules/strverscmp (Files): Remove strverscmp.h.
52046         (Depends-on): Add string.
52047         (configure.ac): Add indicator.
52048         (Include): Mention new header.
52049         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
52050         defaults.
52051         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
52052         results.
52053         * lib/strverscmp.h: Delete.
52054         * lib/string.in.h (strverscmp): Provide declaration, when needed.
52055         * tests/test-strverscmp.c (includes): Adjust client.
52056         * lib/check-version.c (includes): Likewise.
52057         * NEWS: Document the change.
52058
52059         strverscmp: add unit test
52060         * modules/strverscmp-tests: New file.
52061         * tests/test-strverscmp.c: Likewise.
52062
52063 2008-08-19  Simon Josefsson  <simon@josefsson.org>
52064
52065         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
52066         regarding Windows crypto stuff, from Mono.
52067
52068 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
52069
52070         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
52071         if present, for intel RND.  Return error on failures.
52072
52073 2008-08-18  Ben Pfaff  <blp@gnu.org>
52074
52075         gitlog-to-changelog: give better diagnostic for failed pipe-open
52076         * build-aux/gitlog-to-changelog: Improve error message: suggest
52077         that the version of Git may be too old.
52078
52079 2008-08-18  Simon Josefsson  <simon@josefsson.org>
52080
52081         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
52082         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
52083
52084 2008-08-18  Bruno Haible  <bruno@clisp.org>
52085
52086         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
52087         pthread_in_use().
52088
52089 2008-08-18  Bruno Haible  <bruno@clisp.org>
52090
52091         * lib/glthread/threadlib.c: Include <pthread.h>.
52092
52093 2008-08-18  Bruno Haible  <bruno@clisp.org>
52094
52095         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
52096         glthread_recursive_lock_* macros.
52097         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
52098         Fix syntax error.
52099
52100 2008-08-18  Bruno Haible  <bruno@clisp.org>
52101
52102         * lib/glthread/thread.c: Avoid forcing a context switch right after
52103         thread creation.
52104
52105 2008-08-17  Bruno Haible  <bruno@clisp.org>
52106
52107         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
52108         * lib/glthread/thread.h: Provide Win32 specific implementation.
52109         * modules/thread (Files): Add lib/glthread/thread.c.
52110         (Depends-on): Add lock.
52111         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
52112
52113 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52114
52115         New module 'yield'.
52116         * modules/yield: New file.
52117         * lib/glthread/yield.h: New file.
52118         * m4/yield.m4: New file.
52119         * MODULES.html.sh (Multithreading): Add yield.
52120
52121 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52122
52123         New module 'thread'.
52124         * modules/thread: New file.
52125         * lib/glthread/thread.h: New file.
52126         * m4/thread.m4: New file.
52127         * MODULES.html.sh (Multithreading): Add thread.
52128
52129 2008-08-17  Bruno Haible  <bruno@clisp.org>
52130
52131         * lib/glthread/lock.h: Include <stdlib.h> always.
52132         * lib/glthread/tls.h: Likewise.
52133         * lib/glthread/cond.h: Likewise.
52134
52135 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52136
52137         New module 'cond'.
52138         * modules/cond: New file.
52139         * lib/glthread/cond.h: New file.
52140         * lib/glthread/cond.c: New file.
52141         * m4/cond.m4: New file.
52142         * MODULES.html.sh (Multithreading): Add cond.
52143
52144 2008-08-16  Eric Blake  <ebb9@byu.net>
52145
52146         c-stack: fix regression on Irix 5.3 from 2008-06-21
52147         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
52148         sa_sigaction...
52149         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
52150         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
52151         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
52152         * modules/signal (Makefile.am): Use the value.
52153         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
52154         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
52155         * doc/posix-headers/signal.texi (signal.h): Document this
52156         portability issue.
52157         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
52158         Reported by Tom G. Christensen.
52159
52160 2008-08-17  Bruno Haible  <bruno@clisp.org>
52161
52162         New module 'threadlib'.
52163         * modules/threadlib: New file.
52164         * lib/glthread/threadlib.c: New file, extracted from
52165         lib/glthread/lock.c.
52166         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
52167         functions.
52168         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
52169         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
52170         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
52171         macros.
52172         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
52173         (gl_DISABLE_THREADS): Remove macro.
52174         * modules/lock (Files): Remove build-aux/config.rpath.
52175         (Depends-on): Remove havelib. Add threadlib.
52176         (configure.ac-early): Remove section.
52177         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
52178         * modules/tls (Depends-on): Remove lock. Add threadlib.
52179         (Link): New section, copied from threadlib.
52180         * MODULES.html.sh (Multithreading): Add threadlib.
52181
52182 2008-08-14  Bruno Haible  <bruno@clisp.org>
52183
52184         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
52185         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
52186         glthread_rwlock_unlock, glthread_rwlock_destroy,
52187         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
52188         glthread_recursive_lock_destroy): Define as macros always.
52189         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
52190         glthread_lock_lock.
52191         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
52192         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
52193         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
52194         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
52195         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
52196         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
52197         (glthread_recursive_lock_lock_func): Renamed from
52198         glthread_recursive_lock_lock.
52199         (glthread_recursive_lock_unlock_func): Renamed from
52200         glthread_recursive_lock_unlock.
52201         (glthread_recursive_lock_destroy_func): Renamed from
52202         glthread_recursive_lock_destroy.
52203
52204 2008-08-14  Bruno Haible  <bruno@clisp.org>
52205
52206         * lib/glthread/lock.h: Renamed from lib/lock.h.
52207         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
52208         * lib/glthread/tls.h: Renamed from lib/tls.h.
52209         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
52210         * lib/fstrcmp.c: Update includes.
52211         * lib/strsignal.c: Update includes.
52212         * modules/lock (Files, Makefile.am): Update.
52213         (Include): Change to "glthread/lock.h".
52214         * modules/tls (Files, Makefile.am): Update.
52215         (Include): Change to "glthread/tls.h".
52216         * tests/test-lock.c: Update includes.
52217         * tests/test-tls.c: Update includes.
52218         * NEWS: Mention the renamed header files.
52219
52220 2008-08-11  Jim Meyering  <meyering@redhat.com>
52221
52222         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
52223
52224 2008-08-11  Eric Blake  <ebb9@byu.net>
52225
52226         test-c-stack: avoid C99-ism
52227         * tests/test-c-stack.c (main): Fix whitespace, move declaration
52228         before statement.
52229         Reported by Alain Guibert.
52230
52231 2008-08-10  Jim Meyering  <meyering@redhat.com>
52232
52233         ensure that return value of uinttostr et al are not ignored
52234         * lib/inttostr.h (__GNUC_PREREQ): Define.
52235         (__attribute_warn_unused_result__): Define.
52236         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
52237
52238 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
52239
52240         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
52241         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
52242
52243 2008-08-07  Jim Meyering  <meyering@redhat.com>
52244
52245         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
52246
52247         * modules/mkstemp (License): Relicense under LGPLv2+.
52248         * modules/tempname (License): Likewise.
52249
52250 2008-08-06  Bruno Haible  <bruno@clisp.org>
52251
52252         * lib/poll.c (poll): Further micro-optimization.
52253
52254 2008-08-06  Jim Meyering  <meyering@redhat.com>
52255
52256         inet_pton.c: use locale-independent tolower
52257         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
52258         (inet_pton6): Use c_tolower rather than tolower.
52259         * modules/inet_pton (Depends-on): Add c-ctype.
52260
52261 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
52262
52263         * lib/poll.c (poll): Avoid division when timeout is 0, cache
52264         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
52265
52266 2008-08-06  Jim Meyering  <meyering@redhat.com>
52267
52268         * modules/inet_pton (License): Relicense under LGPLv2+.
52269
52270 2008-08-03  Bruno Haible  <bruno@clisp.org>
52271
52272         Additional non-aborting API for lock and tls.
52273         * lib/lock.h: Include <errno.h>.
52274         (glthread_lock_init): New macro/function.
52275         (gl_lock_init): Define as wrapper around glthread_lock_init.
52276         (glthread_lock_lock): New macro/function.
52277         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
52278         (glthread_lock_unlock): New macro/function.
52279         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
52280         (glthread_lock_destroy): New macro/function.
52281         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
52282         (glthread_rwlock_init): New macro/function.
52283         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
52284         (glthread_rwlock_rdlock): New macro/function.
52285         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
52286         (glthread_rwlock_wrlock): New macro/function.
52287         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
52288         (glthread_rwlock_unlock): New macro/function.
52289         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
52290         (glthread_rwlock_destroy): New macro/function.
52291         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
52292         (glthread_recursive_lock_init): New macro/function.
52293         (gl_recursive_lock_init): Define as wrapper around
52294         glthread_recursive_lock_init.
52295         (glthread_recursive_lock_lock): New macro/function.
52296         (gl_recursive_lock_lock): Define as wrapper around
52297         glthread_recursive_lock_lock.
52298         (glthread_recursive_lock_unlock): New macro/function.
52299         (gl_recursive_lock_unlock): Define as wrapper around
52300         glthread_recursive_lock_unlock.
52301         (glthread_recursive_lock_destroy): New macro/function.
52302         (gl_recursive_lock_destroy): Define as wrapper around
52303         glthread_recursive_lock_destroy.
52304         (glthread_once): New macro/function.
52305         (gl_once): Define as wrapper around glthread_once.
52306         Update function declarations.
52307         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
52308         glthread_rwlock_init. Return error code.
52309         (glthread_rwlock_rdlock_multithreaded): Renamed from
52310         glthread_rwlock_rdlock. Return error code.
52311         (glthread_rwlock_wrlock_multithreaded): Renamed from
52312         glthread_rwlock_wrlock. Return error code.
52313         (glthread_rwlock_unlock_multithreaded): Renamed from
52314         glthread_rwlock_unlock. Return error code.
52315         (glthread_rwlock_destroy_multithreaded): Renamed from
52316         glthread_rwlock_destroy. Return error code.
52317         (glthread_recursive_lock_init_multithreaded): Renamed from
52318         glthread_recursive_lock_init. Return error code.
52319         (glthread_recursive_lock_lock_multithreaded): Renamed from
52320         glthread_recursive_lock_lock. Return error code.
52321         (glthread_recursive_lock_unlock_multithreaded): Renamed from
52322         glthread_recursive_lock_unlock. Return error code.
52323         (glthread_recursive_lock_destroy_multithreaded): Renamed from
52324         glthread_recursive_lock_destroy. Return error code.
52325         (glthread_once_call): Make static.
52326         (glthread_once_multithreaded): Renamed from glthread_once.
52327         * lib/tls.h: Include <errno.h>.
52328         (glthread_tls_key_init): New macro/function.
52329         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
52330         (glthread_tls_set): New macro/function.
52331         (gl_tls_set): Define as wrapper around glthread_tls_set.
52332         (glthread_tls_key_destroy): New macro/function.
52333         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
52334         Update function declarations.
52335         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
52336         glthread_tls_get.
52337         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52338
52339 2008-08-04  Eric Blake  <ebb9@byu.net>
52340
52341         gnumakefile: use space, not TAB, outside of targets
52342         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
52343
52344 2008-08-02  Jim Meyering  <meyering@redhat.com>
52345
52346         getdate.y: avoid locale-dependent date parsing failure
52347         In Turkish locales, getdate would fail to recognize keywords
52348         containing a lowercase "i".  The solution is not to rely on
52349         locale-sensitive case-conversion.
52350         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
52351         (lookup_word): Use c_toupper in place of toupper.
52352         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
52353         Reported by Vefa Bicakci <bicave@superonline.com> in
52354         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
52355         * modules/getdate (Depends-on): Add c-ctype.
52356
52357 2008-08-02  Bruno Haible  <bruno@clisp.org>
52358
52359         * gnulib-tool (func_import): When updating or creating a .gitignore
52360         file, prepend each added line with a slash, and ignore leading slashes
52361         from the existing lines.
52362         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52363
52364 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52365
52366         Portability fix for GNU make 3.79.1.
52367         * top/GNUmakefile: Avoid 'else COND', which older GNU make
52368         versions do not understand.
52369
52370 2008-08-01  Bruno Haible  <bruno@clisp.org>
52371
52372         Work around bug of HP-UX 10.20 cc with -0.0 literal.
52373         * tests/test-isnanf.h (zero): New variable.
52374         (main): Avoid literal -0.0f.
52375         * tests/test-isnand.h (zero): New variable.
52376         (main): Avoid literal -0.0.
52377         * tests/test-isnanl.h (zero): New variable.
52378         (main): Avoid literal -0.0L.
52379         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
52380         (test_float, test_double, test_long_double): Avoid literals -0.0f,
52381         -0.0, -0.0L.
52382         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
52383         (test_signbitd): Avoid literal -0.0.
52384         (test_signbitl): Avoid literal -0.0L.
52385         * tests/test-ceilf1.c (zero): New variable.
52386         (main): Avoid literal -0.0f.
52387         * tests/test-ceill.c (zero): New variable.
52388         (main): Avoid literal -0.0L.
52389         * tests/test-floorf1.c (zero): New variable.
52390         (main): Avoid literal -0.0f.
52391         * tests/test-floorl.c (zero): New variable.
52392         (main): Avoid literal -0.0L.
52393         * tests/test-roundf1.c (zero): New variable.
52394         (main): Avoid literal -0.0f.
52395         * tests/test-round1.c (zero): New variable.
52396         (main): Avoid literal -0.0.
52397         * tests/test-roundl.c (zero): New variable.
52398         (main): Avoid literal -0.0L.
52399         * tests/test-truncf1.c (zero): New variable.
52400         (main): Avoid literal -0.0f.
52401         * tests/test-trunc1.c (zero): New variable.
52402         (main): Avoid literal -0.0.
52403         * tests/test-truncl.c (zero): New variable.
52404         (main): Avoid literal -0.0L.
52405         * tests/test-frexp.c (zero): New variable.
52406         (main): Avoid literal -0.0.
52407         * tests/test-frexpl.c (zero): New variable.
52408         (main): Avoid literal -0.0L.
52409         * tests/test-ldexpl.c (zero): New variable.
52410         (main): Avoid literal -0.0L.
52411         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52412         (zerod, zerol): New variables.
52413         (test_function): Avoid literals -0.0, -0.0L.
52414         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52415         (zerod, zerol): New variables.
52416         (test_function): Avoid literals -0.0, -0.0L.
52417         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52418         (zerod, zerol): New variables.
52419         (test_function): Avoid literals -0.0, -0.0L.
52420         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52421         (zerod, zerol): New variables.
52422         (test_function): Avoid literals -0.0, -0.0L.
52423         * tests/test-strtod.c (zero): New variable.
52424         (main): Avoid literal -0.0.
52425         Reported by Jonathan C. Patschke <jp@centtech.com>.
52426
52427 2008-07-31  Jim Meyering  <meyering@redhat.com>
52428
52429         sha256.h: correct definition of SHA224_DIGEST_SIZE
52430         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
52431         Reported by Paulie Pena IV <paulie4@gmail.com>.
52432         Define as 224 / 8, rather than as a literal.
52433         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
52434         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
52435         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
52436
52437 2008-07-31  Bruno Haible  <bruno@clisp.org>
52438
52439         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
52440         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
52441         Reported by Jonathan Patschke <jp@centtech.com>.
52442
52443 2008-07-31  Bruno Haible  <bruno@clisp.org>
52444
52445         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
52446         Reported by Paolo Bonzini <bonzini@gnu.org>.
52447
52448 2008-07-30  Eric Blake  <ebb9@byu.net>
52449
52450         test-strtod: allow compilation without -lm
52451         * tests/test-strtod.c (main): Avoid link dependence on fabs.
52452         Reported by Dennis Clarke <blastwave@gmail.com>.
52453
52454 2008-07-28  Jim Meyering  <meyering@redhat.com>
52455
52456         bootstrap: work also when there are no .po files in po/
52457         * build-aux/bootstrap (update_po_files): Complete the change
52458         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
52459
52460 2008-07-27  Jim Meyering  <meyering@redhat.com>
52461
52462         * users.txt: Add zile.
52463
52464 2008-07-26  Ben Pfaff  <blp@gnu.org>
52465
52466         Add missing dependencies on new m4/exponent[fdl].m4 files.
52467         * modules/isnanf-nolibm: Add m4/exponentf.m4.
52468         * modules/isnand-nolibm: Add m4/exponentd.m4.
52469         * modules/isnanl-nolibm: Add m4/exponentl.m4.
52470         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
52471         m4/isnan[fdl].m4, because the macros actually used moved.
52472         Reported by Jim Meyering.
52473
52474 2008-07-14  Ben Pfaff  <blp@gnu.org>
52475
52476         Add isinf module.
52477         * lib/isinf.c: New file.
52478         * lib/math.in.h: Define isinf macro if we have decided to replace
52479         it.
52480         * m4/isinf.m4: New file.
52481         * m4/math_h.m4: Initialize and substitute variables for isinf
52482         module.
52483         * modules/isinf: New file.
52484         * modules/isinf-tests: New file.
52485         * modules/math: Add substitutions for new module.
52486         * tests/test-isinf.c: New file.
52487         * doc/posix-functions/isinf.texi: Mention new module.
52488         * MODULES.html.sh: Mention new module.
52489
52490 2008-07-14  Ben Pfaff  <blp@gnu.org>
52491
52492         Factor out some macros for use by additional modules.
52493         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
52494         exponentf.m4.
52495         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
52496         exponentd.m4.
52497         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
52498         file exponentl.m4.
52499         * m4/exponentf.m4: New file.
52500         * m4/exponentd.m4: New file.
52501         * m4/exponentl.m4: New file.
52502         * modules/isnanf: Use new file m4/exponentf.m4.
52503         * modules/isnand: Use new file m4/exponentd.m4.
52504         * modules/isnanl: Use new file m4/exponentl.m4.
52505
52506 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
52507
52508         mktime.c: normalize tp->tm_isdst value to -1/0/1.
52509         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
52510         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
52511         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
52512
52513         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
52514         readlink on platforms without PATH_MAX.
52515
52516 2008-07-21  Eric Blake  <ebb9@byu.net>
52517
52518         Warn, not fail, on stale version.
52519         * top/GNUmakefile (_curr-ver): Tone down previous patch.
52520
52521         Don't allow installation with stale devel version number.
52522         * top/GNUmakefile (_is-install-target): New macro.
52523         (_curr-ver): Forbid installation with stale version number.
52524
52525 2008-07-20  Bruno Haible  <bruno@clisp.org>
52526
52527         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
52528         TESTS_ENVIRONMENT.
52529         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
52530
52531 2008-07-20  Bruno Haible  <bruno@clisp.org>
52532
52533         * lib/c-stack.h (c_stack_action): Add documentation.
52534         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
52535
52536 2008-07-20  Bruno Haible  <bruno@clisp.org>
52537
52538         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
52539         * modules/readlink (License): Likewise.
52540
52541 2008-07-17  Eric Blake  <ebb9@byu.net>
52542
52543         * modules/c-stack (Link): Fix typo.
52544
52545         Make c-stack use libsigsegv, when available.
52546         * modules/c-stack (Depends-on): Add libsigsegv.
52547         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
52548         needed.
52549         * lib/c-stack.c (SIGSTKSZ): Define fallback.
52550         (segv_handler, overflow_handler, c_stack_action)
52551         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
52552         implementation when libsigsegv is available, but only when using
52553         the library is necessary.
52554         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
52555         comment, explaining why XSI check fails on Linux.
52556         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
52557         * tests/test-c-stack2.sh: Tweak skip message.
52558         * NEWS: Document new link-time requirements.
52559
52560 2008-07-16  Eric Blake  <ebb9@byu.net>
52561
52562         c-stack: Expose false positives when not using libsigsegv.
52563         * modules/c-stack-tests (Files): Expand test.
52564         * tests/test-c-stack.c (main): Add means to conditionally trigger
52565         non-overflow SIGSEGV.
52566         * tests/test-c-stack2.sh: New file.
52567
52568 2008-07-14  Bruno Haible  <bruno@clisp.org>
52569
52570         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
52571         Reported by Eric Blake.
52572
52573 2008-07-14  Sam Steingold  <sds@gnu.org>
52574             Bruno Haible  <bruno@clisp.org>
52575
52576         New module libsigsegv.
52577         * modules/libsigsegv: New file.
52578         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
52579         modifications.
52580         * MODULES.html.sh (Signal handling): New section.
52581
52582 2008-07-14  Bruno Haible  <bruno@clisp.org>
52583
52584         * modules/unictype/ctype-* (Description): Add the word "function".
52585         Improves the resulting doc in MODULES.html.
52586
52587 2008-07-12  Ben Pfaff  <blp@gnu.org>
52588
52589         Add longlong module.
52590         * modules/longlong: New file.
52591
52592 2008-07-12  Bruno Haible  <bruno@clisp.org>
52593
52594         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
52595         to empty.
52596
52597 2008-07-10  Ben Pfaff  <blp@gnu.org>
52598
52599         Add isnan module.
52600         * doc/posix-functions/isnan.texi: Mention new module.
52601         * lib/math.in.h: Define isnan macro if we have decided to replace
52602         it.
52603         * m4/isnan.m4: New file.
52604         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
52605         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
52606         also.
52607         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
52608         redundancy.
52609         * m4/math_h.m4: Initialize and substitute variables for isnan
52610         module.
52611         * modules/isnan: New file.
52612         * modules/isnan-tests: New file.
52613         * modules/math: Add substitutions for new module.
52614         * tests/test-isnan.c: New file.
52615         * MODULES.html.sh: Mention new module.
52616
52617 2008-07-10  Ben Pfaff  <blp@gnu.org>
52618
52619         Add isnanf module.
52620         * lib/isnanf.m4: New file.
52621         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
52622         (gl_HAVE_ISNANF_IN_LIBM): New macro.
52623         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
52624         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
52625         * modules/isnanf: New file.
52626         * modules/isnanf-tests: New file.
52627         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
52628         files.
52629         * tests/test-isnanf-nolibm.c: factored most of its contents into
52630         new file tests/test-isnanf.h.
52631         * tests/test-isnanf.h: New file.
52632         * tests/test-isnanf.c: New file.
52633         * MODULES.html.sh: Mention new module.
52634         * doc/glibc-functions/isnanf.texi: Mention new module.
52635
52636 2008-07-10  Ben Pfaff  <blp@gnu.org>
52637
52638         Add isnand module.
52639         * lib/isnand.h: New file.
52640         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
52641         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
52642         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
52643         functionality also.
52644         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
52645         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
52646         (gl_HAVE_ISNAND_IN_LIBM): New macro.
52647         * modules/isnand: New file.
52648         * modules/isnand-tests: New file.
52649         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
52650         files.
52651         * tests/test-isnand-nolibm.c: factored most of its contents into
52652         new file tests/test-isnand.h.
52653         * tests/test-isnand.h: New file.
52654         * tests/test-isnand.c: New file.
52655         * MODULES.html.sh: Mention new module.
52656
52657 2008-07-10  Ben Pfaff  <blp@gnu.org>
52658
52659         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
52660         * lib/isnand.h: Rename lib/isnand-nolibm.h.
52661         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
52662         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
52663         * modules/isnanf-nolibm: Update references to renamed files.
52664         * modules/isnand-nolibm: Likewise.
52665         * modules/isnanf-nolibm-tests: Likewise.
52666         * modules/isnand-nolibm-tests: Likewise.
52667         * lib/frexp.c: Likewise.
52668         * lib/isfinite.c: Likewise.
52669         * lib/signbitd.c: Likewise.
52670         * lib/signbitf.c: Likewise.
52671         * lib/vasnprintf.c: Likewise.
52672         * tests/test-ceilf1.c: Likewise.
52673         * tests/test-ceilf2.c: Likewise.
52674         * tests/test-floorf1.c: Likewise.
52675         * tests/test-floorf2.c: Likewise.
52676         * tests/test-frexp.c: Likewise.
52677         * tests/test-round1.c: Likewise.
52678         * tests/test-round2.c: Likewise.
52679         * tests/test-roundf1.c: Likewise.
52680         * tests/test-strtod.c: Likewise.
52681         * tests/test-trunc1.c: Likewise.
52682         * tests/test-trunc2.c: Likewise.
52683         * tests/test-truncf1.c: Likewise.
52684         * tests/test-truncf2.c: Likewise.
52685         * NEWS: Mention the renamed header files.
52686
52687 2008-07-11  Jim Meyering  <meyering@redhat.com>
52688
52689         vc-list-files: make the last-resort awk code more portable
52690         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52691         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52692         does not support it.
52693
52694 2008-07-10  Eric Blake  <ebb9@byu.net>
52695
52696         Work with tar's bootstrap.
52697         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52698         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52699         an m4 comment.
52700
52701 2008-07-09  Jim Meyering  <meyering@redhat.com>
52702
52703         posix-shell.m4: fix typo that made this test malfunction
52704         * m4/posix-shell.m4: Remove capitalization in variable name.
52705
52706 2008-07-08  Bruno Haible  <bruno@clisp.org>
52707
52708         * m4/onceonly.m4: Update comments.
52709         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52710
52711 2008-07-04  Jim Meyering  <meyering@redhat.com>
52712
52713         * users.txt: Add vc-dwim.
52714         (bison, coreutils): Use the gitweb URL.
52715
52716 2008-07-03  Jim Meyering  <meyering@redhat.com>
52717
52718         * users.txt: Add libffcall.  From Sam Steingold.
52719
52720 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
52721
52722         getdate.y: do not ignore TZ with relative day, month or year offset
52723         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52724         relative-date-handling, since otherwise, the latter would clobber the
52725         sole output (an updated Start value) of the tz-handling block.
52726         * tests/test-getdate.c: Tests for the fix
52727
52728 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52729
52730         Recognize 'foo_LIBRARIES += libgnu.a'.
52731         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52732         makefile snippet has already specified an installation location,
52733         also using '+='.
52734
52735 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
52736
52737         getdate.y: factor out common actions
52738         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52739         Use them in place of open-coded actions.
52740
52741 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52742
52743         Add self-test for getdate module.
52744         * modules/getdate-tests: New file.
52745         * tests/test-getdate.c: New file.
52746
52747 2008-06-29  Bruno Haible  <bruno@clisp.org>
52748
52749         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52750         .gitignore.
52751         Reported by Sylvain Beucler <beuc@beuc.net>.
52752
52753 2008-06-29  Bruno Haible  <bruno@clisp.org>
52754
52755         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52756         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52757
52758 2008-06-29  Bruno Haible  <bruno@clisp.org>
52759
52760         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52761         EXTRA_DIST.
52762         Reported by Sylvain Beucler <beuc@beuc.net>.
52763
52764 2008-06-26  Jim Meyering  <meyering@redhat.com>
52765
52766         make several modules depend on the "open" module
52767         This provides slightly increased consistency when opening-for-write
52768         the name of a non-directory spelled with a trailing slash.
52769         * modules/chdir-safer: Likewise.
52770         * modules/chown: Likewise.
52771         * modules/clean-temp: Likewise.
52772         * modules/copy-file: Likewise.
52773         * modules/fchdir: Likewise.
52774         * modules/fcntl-safer: Likewise.
52775         * modules/pipe: Likewise.
52776         * modules/utime: Likewise.
52777         Prompted by Eric Blake and Bruno Haible.
52778
52779 2008-06-24  Andreas Schwab  <schwab@suse.de>
52780
52781         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52782         literals can be used as initializers for global variables.
52783
52784 2008-06-23  Eric Blake  <ebb9@byu.net>
52785
52786         Make gnulib-cache.m4 easier to diff.
52787         * gnulib-tool (func_import): Allow newlines when reading cached
52788         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52789
52790 2008-06-23  Bruno Haible  <bruno@clisp.org>
52791
52792         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52793         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52794         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52795         m4/signalblocking.m4.
52796         (gl_PREREQ_SIGACTION): Don't invoke it.
52797         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52798         gl_PREREQ_SIG_HANDLER_H.
52799         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52800         Don't check for sigaction here.
52801
52802 2008-06-23  Bruno Haible  <bruno@clisp.org>
52803
52804         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52805         (install_handlers): Don't set the SA_RESETHAND flag.
52806
52807 2008-06-23  Bruno Haible  <bruno@clisp.org>
52808
52809         * m4/sigaction.m4: Comment fixes.
52810         * lib/signal.in.h: Likewise.
52811
52812 2008-06-23  Eric Blake  <ebb9@byu.net>
52813
52814         Fix typo.
52815         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52816
52817         Avoid SA_ namespace.
52818         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52819         Reported by Ralf Wildenhues.
52820
52821         Avoid test failure due to SA_RESTORER.
52822         * tests/test-sigaction.c (SA_MASK): New macro.
52823         (main): Avoid failing due to extension flags being set.
52824         Reported by Jim Meyering.
52825
52826         Revert use of sig-handler.h in sigprocmask.c.
52827         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
52828         it requires the existence of struct sigaction.
52829         * lib/sigprocmask.c (handler_t): Restore typedef.
52830         (rpl_signal, old_handlers): Use local type.
52831
52832 2008-06-22  Bruno Haible  <bruno@clisp.org>
52833
52834         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
52835         conditionally.
52836         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52837
52838 2008-06-22  Bruno Haible  <bruno@clisp.org>
52839
52840         * doc/posix-functions/siginterrupt.texi: Move note.
52841
52842         * lib/signal.in.h (SA_RESTART): New macro.
52843         * lib/sigaction.c: Update comment.
52844
52845         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52846
52847         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52848         (gl_PREREQ_SIGPROCMASK): Invoke it.
52849         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52850
52851         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52852
52853         * lib/sigprocmask.c: Update a comment.
52854
52855 2008-06-21  Eric Blake  <ebb9@byu.net>
52856
52857         Use sigaction module rather than signal().
52858         * modules/c-stack (Depends-on): Add sigaction.
52859         * modules/fatal-signal (Depends-on): Likewise.
52860         * modules/nanosleep (Depends-on): Likewise.
52861         * modules/sigprocmask (Files): Add sig-handler.h.
52862         * modules/sigaction (Files): Likewise.
52863         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52864         Eggert.
52865         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52866         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52867         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52868         (init_fatal_signals): Likewise.
52869         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52870         (siginterrupt): Delete fallback.
52871         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52872         instead.
52873         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52874         siginterrupt.
52875
52876         New module sigaction, for mingw.
52877         * modules/sigaction: New module...
52878         * modules/sigaction-tests: ...and its test.
52879         * m4/sigaction.m4: New file.
52880         * lib/sigaction.c: Likewise.
52881         * tests/test-sigaction.c: Likewise.
52882         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52883         * modules/signal (Makefile.am): Likewise.
52884         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52885         needed.
52886         * doc/posix-headers/signal.texi (signal.h): Mention provided
52887         types.
52888         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52889         that sigaction is preferable.
52890         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52891         module.
52892         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52893         sigaction.
52894
52895         Improve robustness of sigprocmask by overriding signal.
52896         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52897         is in use.
52898         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52899         (SIGKILL, SIGSTOP): Provide fallbacks.
52900         (rpl_signal): Implement.
52901         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52902         signal can be called inside handlers.
52903
52904         Fix nanosleep module on mingw.
52905         * modules/nanosleep (Depends-on): Add sys_select.
52906         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52907
52908         Fix licensing of sigprocmask.
52909         * modules/raise (License): Relicense as LGPL.
52910
52911 2008-06-21  Bruno Haible  <bruno@clisp.org>
52912
52913         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52914         result if it contains question marks.
52915         Reported by Michael Geng <linux@michaelgeng.de>.
52916
52917 2008-06-19  Bruno Haible  <bruno@clisp.org>
52918
52919         Fix CVS-ism.
52920         * doc/gnulib.texi: Include updated-stamp.texi.
52921         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52922         (updated-stamp.texi): New rule.
52923         (gnulib.info): Depend on it.
52924         * doc/.gitignore: Add updated-stamp.texi.
52925         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52926
52927 2008-06-19  Bruno Haible  <bruno@clisp.org>
52928
52929         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52930         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52931
52932 2008-06-19  Eric Blake  <ebb9@byu.net>
52933
52934         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52935         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52936         Reported by Stepan Kasal.
52937
52938 2008-06-18  Bruno Haible  <bruno@clisp.org>
52939
52940         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52941         Reported by Eric Blake.
52942
52943 2008-06-18  Eric Blake  <ebb9@byu.net>
52944
52945         Work around cygwin 1.5.25 strsignal bug.
52946         * tests/test-strsignal.c: Allow for const char *.
52947         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52948
52949 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52950
52951         * users.txt: Update URL to article and add author/date
52952         information.
52953
52954 2008-06-17  Bruno Haible  <bruno@clisp.org>
52955
52956         New macro gl_DISABLE_THREADS.
52957         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52958         if the user did not pass --enable-threads or --disable-threads option.
52959         (gl_DISABLE_THREADS): New macro.
52960         Reported by Eric Blake <ebb9@byu.net>.
52961
52962 2008-06-17  Bruno Haible  <bruno@clisp.org>
52963
52964         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
52965         when the macro ignores it.
52966         Based on a patch by Eric Blake <ebb9@byu.net>.
52967
52968 2008-06-17  Bruno Haible  <bruno@clisp.org>
52969
52970         * modules/tls (License): Change to LGPLv2+.
52971         Reported by Eric Blake.
52972
52973 2008-06-17  Eric Blake  <ebb9@byu.net>
52974
52975         Simplify c-stack prerequisites.
52976         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
52977         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
52978         no longer requires <ucontext.h> to exist.  Optimize setrlimit
52979         check.
52980         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
52981         <sys/resource.h>.
52982
52983         Move c-stack test into testsuite.
52984         * modules/c-stack-tests: New file.
52985         * lib/c-stack.c [DEBUG]: Move test program...
52986         * tests/test-c-stack.c: ...into this new file.  Skip rather than
52987         fail test if sigaltstack is lacking.
52988         * tests/test-c-stack.sh: New driver file.
52989
52990 2008-06-16  Eric Blake  <ebb9@byu.net>
52991
52992         Use raise module consistently.
52993         * modules/fatal-signal (Depends-on): Add raise.
52994         * modules/sigprocmask (Depends-on): Likewise.
52995         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
52996         * lib/sigprocmask.c (sigprocmask): Likewise.
52997         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52998         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
52999
53000         Fix compliance bug in sigpending.
53001         * lib/sigprocmask.c (sigpending): Return pending array via
53002         parameter, not return value.
53003
53004 2008-06-14  Eric Blake  <ebb9@byu.net>
53005
53006         Improve obstack-printf test code.
53007         * tests/test-obstack-printf.c (test_function): Fix comment, and
53008         simplify usage of obstack_* in macros.  Add a test for coverage.
53009         Reported by Bruno Haible.
53010
53011 2008-06-14  Bruno Haible  <bruno@clisp.org>
53012
53013         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
53014         array size as a constant, not as a const variable.
53015         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
53016         AC_USE_SYSTEM_EXTENSIONS.
53017         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
53018         Test whether the obstack_printf function actually exists.
53019         * modules/obstack-printf (Depends-on): Add extensions.
53020         (Include): Remove obstack.h.
53021         * modules/obstack-printf-posix (Depends-on): Add extensions.
53022         (Include): Remove obstack.h.
53023
53024 2008-06-13  Eric Blake  <ebb9@byu.net>
53025
53026         Add obstack-printf and obstack-printf-posix modules.
53027         * modules/obstack-printf: New file.
53028         * modules/obstack-printf-posix: Likewise.
53029         * MODULES.html.sh (Misc): Mention them.
53030         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
53031         Likewise.
53032         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
53033         Likewise.
53034         * modules/stdio (Makefile.am): Accomodate new modules.
53035         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53036         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
53037         Declare.
53038         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
53039         functions.
53040         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
53041         (gl_REPLACE_OBSTACK_PRINTF): New macros
53042         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
53043         * tests/test-obstack-printf.c: New file.
53044         * modules/obstack-printf-tests: Likewise.
53045         * modules/obstack-printf-posix-tests: Likewise.
53046
53047 2008-06-11  Bruno Haible  <bruno@clisp.org>
53048
53049         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
53050         * lib/open.c: Include errno.h.
53051         (open): Fail when attempting to write to a file that has a trailing
53052         slash.
53053         * tests/test-open.c (main): Test against trailing slash bug.
53054         * doc/posix-functions/open.texi: Mention the trailing slash bug.
53055
53056 2008-06-10  Bruno Haible  <bruno@clisp.org>
53057
53058         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
53059         for $? to work inside the trap command, with various /bin/sh-s.
53060         * tests/test-vc-list-files-cvs.sh: Likewise.
53061
53062 2008-06-10  Bruno Haible  <bruno@clisp.org>
53063
53064         * lib/acl-internal.h: Don't include gettext.h here.
53065         * lib/set-mode-acl.c: Include gettext.h here.
53066         * lib/copy-acl.c: Likewise.
53067
53068 2008-06-10  Bruno Haible  <bruno@clisp.org>
53069
53070         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
53071         * lib/wait-process.c (wait_subprocess): Likewise.
53072         * lib/execute.h (execute): Add termsigp argument.
53073         * lib/execute.c (execute): Likewise.
53074         * lib/csharpcomp.c (compile_csharp_using_pnet,
53075         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
53076         * lib/csharpexec.c (execute_csharp_using_pnet,
53077         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
53078         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
53079         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
53080         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
53081         is_jikes_present): Update.
53082         * lib/javaexec.c (execute_java_class): Update.
53083         * lib/javaversion.c (execute_and_read_line): Update.
53084         * NEWS: Document the changes.
53085         Reported by Eric Blake.
53086
53087 2008-06-10  Eric Blake  <ebb9@byu.net>
53088
53089         Add missing include.
53090         * tests/test-strstr.c (includes): Add <signal.h>.
53091         * tests/test-strcasestr.c (includes): Likewise.
53092         * tests/test-memmem.c (includes): Likewise.
53093
53094 2008-06-10  Bruno Haible  <bruno@clisp.org>
53095
53096         * lib/wait-process.c (wait_subprocess): Add an assertion.
53097
53098 2008-06-10  Bruno Haible  <bruno@clisp.org>
53099
53100         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
53101
53102 2008-06-10  Bruno Haible  <bruno@clisp.org>
53103
53104         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
53105         using alarm().
53106         * tests/test-strcasestr.c (main): Likewise.
53107         * tests/test-strstr.c (main): Likewise.
53108
53109 2008-06-09  Bruno Haible  <bruno@clisp.org>
53110
53111         Work around the Solaris 10 ACE ACLs ABI change.
53112         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
53113         declare if ACL_NO_TRIVIAL is present.
53114         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
53115         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
53116         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
53117         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
53118         define if ACL_NO_TRIVIAL is present.
53119         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
53120         and use the current ABI.
53121         (file_has_acl): Use same #if condition as elsewhere.
53122         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
53123         in use, and use the current ABI.
53124         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
53125         Reported by Jim Meyering.
53126
53127 2008-06-09  Eric Blake  <ebb9@byu.net>
53128
53129         Work around environments that (stupidly) ignore SIGALRM.
53130         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
53131         before using alarm().
53132         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53133         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53134         Reported by Ian Beckwith <ianb@erislabs.net>.
53135
53136         Produce autobuild blurb earlier in log.
53137         * modules/autobuild (configure.ac-early): Move AB_INIT here.
53138
53139 2008-06-09  Jim Meyering  <meyering@redhat.com>
53140         and Ondřej Vašík  <ovasik@redhat.com>
53141
53142         utimens.c: correct kernel bug work-around
53143         Ondřej Vašík found that the invalid return value of 280 indicates
53144         failure, not success, and the kernel bug we're trying to work
53145         around affects not just the utimensat call, but also the fallback
53146         futimens call.
53147         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
53148         not success.
53149         [HAVE_FUTIMENS]: Use the same work-around, here.
53150
53151 2008-06-09  Jim Meyering  <meyering@redhat.com>
53152
53153         add more guards around definition of ACE_-related code
53154         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
53155         ALLOW and ACE_OWNER are also defined.
53156
53157 2008-06-08  Bruno Haible  <bruno@clisp.org>
53158
53159         * lib/acl-internal.h: Add me as co-author.
53160         * lib/file-has-acl.c: Likewise.
53161         * lib/set-mode-acl.c: Likewise.
53162         * lib/copy-acl.c: Likewise.
53163
53164 2008-06-08  Bruno Haible  <bruno@clisp.org>
53165
53166         Add support for AIX ACLs.
53167         * lib/acl-internal.h (acl_nontrivial): New declaration.
53168         * lib/file-has-acl.c (acl_nontrivial): New function.
53169         (file_has_acl): Add implementation using AIX 4 ACL API.
53170         * lib/set-mode-acl.c (qset_acl): Likewise.
53171         * lib/copy-acl.c (qcopy_acl): Likewise.
53172
53173 2008-06-08  Bruno Haible  <bruno@clisp.org>
53174
53175         Add support for HP-UX ACLs.
53176         * lib/acl-internal.h (acl_nontrivial): New declaration.
53177         * lib/file-has-acl.c (acl_nontrivial): New function.
53178         (file_has_acl): Add implementation using HP-UX 11 ACL API.
53179         * lib/set-mode-acl.c (qset_acl): Likewise.
53180         * lib/copy-acl.c (qcopy_acl): Likewise.
53181
53182 2008-06-08  Bruno Haible  <bruno@clisp.org>
53183
53184         Add support for Cygwin ACLs.
53185         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
53186         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
53187         the chmod_or_fchmod call.
53188         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
53189
53190 2008-06-08  Bruno Haible  <bruno@clisp.org>
53191
53192         Fix bug with setuid modes in Solaris 10+ code.
53193         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
53194         succeeded, when the mode contains some special bits.
53195
53196 2008-06-08  Bruno Haible  <bruno@clisp.org>
53197
53198         Add support for Solaris 7..10 ACLs.
53199         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
53200         declarations.
53201         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
53202         functions.
53203         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
53204         * lib/set-mode-acl.c (qset_acl): Likewise.
53205         * lib/copy-acl.c (qcopy_acl): Likewise.
53206
53207 2008-06-08  Bruno Haible  <bruno@clisp.org>
53208
53209         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
53210         declaration.
53211         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
53212         (acl_access_nontrivial): Remove MacOS X case.
53213         (file_has_acl): Use acl_extended_nontrivial.
53214         * lib/copy-acl.c (qcopy_acl): Likewise.
53215
53216 2008-06-08  Bruno Haible  <bruno@clisp.org>
53217
53218         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
53219
53220 2008-06-08  Jim Meyering  <meyering@redhat.com>
53221
53222         * modules/acl (Maintainer): Add Bruno Haible.
53223
53224 2008-06-07  Bruno Haible  <bruno@clisp.org>
53225
53226         Improve support for Tru64 ACLs.
53227         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
53228         ACL on OSF/1.
53229
53230 2008-06-07  Bruno Haible  <bruno@clisp.org>
53231
53232         Add support for MacOS X ACLs.
53233         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
53234         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
53235         * lib/set-mode-acl.c (qset_acl): Likewise.
53236         * lib/copy-acl.c (qcopy_acl): Likewise.
53237
53238 2008-06-07  Bruno Haible  <bruno@clisp.org>
53239
53240         Fix memory leak introduced on 2008-05-22.
53241         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
53242         use.
53243
53244 2008-06-07  Bruno Haible  <bruno@clisp.org>
53245
53246         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
53247         to construct an empty ACL.
53248
53249 2008-06-07  Bruno Haible  <bruno@clisp.org>
53250
53251         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
53252         precisely.
53253         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
53254
53255 2008-06-07  Bruno Haible  <bruno@clisp.org>
53256
53257         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
53258         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
53259
53260 2008-06-07  Bruno Haible  <bruno@clisp.org>
53261
53262         * doc/posix-functions/_setjmp.texi: Explain the use of this function
53263         regardless of POSIX.
53264         * doc/posix-functions/_longjmp.texi: Likewise.
53265         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
53266         SystemV platform in this case.
53267
53268 2008-06-06  Eric Blake  <ebb9@byu.net>
53269
53270         Document abort() bugs.
53271         * doc/posix-functions/abort.texi (abort): Mention anomalies.
53272
53273         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
53274         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
53275         sigsetjmp.
53276         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
53277         siglongjmp, but only as a macro.
53278         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
53279         is obsolete.
53280         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
53281
53282         Tweak documentation to cover cygwin argz bugs.
53283         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
53284         argz bug fix; no code change needed since no cygwin releases
53285         occurred between the last fix and the bug being tested.
53286         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
53287         module and recently fixed cygwin bugs.
53288         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
53289         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
53290         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
53291         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
53292         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
53293         Likewise.
53294         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
53295         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
53296         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
53297         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
53298         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
53299         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
53300         Likewise.
53301
53302         Avoid gcc warning on cygwin.
53303         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
53304         !ACL_NO_TRIVIAL]: Avoid unused variable.
53305
53306 2008-06-05  Eric Blake  <ebb9@byu.net>
53307
53308         Be tolerant of UNKNOWN version in gnulib-tool test dir.
53309         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
53310         git-version-gen fails to come up with a version.
53311         Reported by Simon Josefsson.
53312
53313 2008-06-05  Jim Meyering  <meyering@redhat.com>
53314             Paul Eggert  <eggert@cs.ucla.edu>
53315
53316         utimens.c: work around a probable Linux kernel bug
53317         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
53318         appears to be a kernel bug that causes utimensat to return 280
53319         instead of 0, indicating success.
53320
53321 2008-06-04  Bruno Haible  <bruno@clisp.org>
53322
53323         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
53324         2008-06-01 commit.
53325
53326 2008-06-04  Bruno Haible  <bruno@clisp.org>
53327
53328         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
53329         * lib/file-has-acl.c (acl_access_nontrivial): New function.
53330         (file_has_acl): Use it. Save errno afterwards.
53331         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
53332
53333 2008-06-03  Bruno Haible  <bruno@clisp.org>
53334
53335         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
53336         draft code. Simplify #ifs.
53337         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
53338         Put Solaris code after POSIX-draft code. Fix comments regarding
53339         Solaris 10, HP-UX. Mention Cygwin.
53340         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
53341
53342 2008-06-03  Eric Blake  <ebb9@byu.net>
53343
53344         Provide fallback for older kernels.
53345         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
53346         Provide runtime fallback if kernel lacks support.
53347         Reported by Mike Frysinger.
53348
53349 2008-06-02  Bruno Haible  <bruno@clisp.org>
53350
53351         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
53352         it exists.
53353
53354 2008-06-02  Bruno Haible  <bruno@clisp.org>
53355
53356         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
53357         * lib/copy-acl.c (qcopy_acl): Update comment.
53358
53359 2008-06-02  Bruno Haible  <bruno@clisp.org>
53360
53361         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
53362         like ACL APIs.
53363
53364 2008-06-02  Bruno Haible  <bruno@clisp.org>
53365
53366         * tests/test-file-has-acl.sh: Use different code for Cygwin.
53367         * tests/test-set-mode-acl.sh: Likewise.
53368         * tests/test-copy-acl.sh: Likewise.
53369         * tests/test-copy-file.sh: Likewise.
53370
53371 2008-06-02  Bruno Haible  <bruno@clisp.org>
53372
53373         * tests/test-file-has-acl.sh: Remove unused code.
53374
53375 2008-06-01  Bruno Haible  <bruno@clisp.org>
53376
53377         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
53378         (copy_acl): Just a wrapper around qcopy_acl that emits the error
53379         messages.
53380         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
53381
53382 2008-06-01  Bruno Haible  <bruno@clisp.org>
53383
53384         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
53385         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
53386         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
53387         APIs.
53388         * modules/acl-tests (configure.ac): Remove tests now contained in
53389         m4/acl.m4.
53390
53391 2008-06-02  Jim Meyering  <meyering@redhat.com>
53392
53393         announce-gen: use a better key-server host name
53394         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
53395         it may be more consistently reliable.  Suggested by Werner Koch
53396         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
53397
53398 2008-06-01  Bruno Haible  <bruno@clisp.org>
53399
53400         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
53401         Reported by Voroskoi Andras <voroskoi@gmail.com>.
53402
53403 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
53404
53405         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
53406
53407 2008-06-01  Bruno Haible  <bruno@clisp.org>
53408
53409         New ACL tests.
53410         * tests/test-file-has-acl.sh: New file.
53411         * tests/test-file-has-acl.c: New file.
53412         * tests/test-set-mode-acl.sh: New file.
53413         * tests/test-set-mode-acl.c: New file.
53414         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
53415         * tests/test-copy-acl.c: New file.
53416         * modules/acl-tests: New file, based on modules/copy-file-tests.
53417         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
53418         (Depends-on): Add acl-tests.
53419         (configure.ac): Remove checks.
53420         (Makefile.am): Don't create test-sameacls program here any more.
53421
53422 2008-06-01  Bruno Haible  <bruno@clisp.org>
53423
53424         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
53425         * tests/test-sameacls.c: Include progname.h.
53426         (main): Invoke set_program_name. Portability fixes for MacOS X,
53427         Solaris, HP-UX.
53428
53429 2008-06-01  Bruno Haible  <bruno@clisp.org>
53430
53431         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
53432         function.
53433         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
53434
53435 2008-06-01  Bruno Haible  <bruno@clisp.org>
53436
53437         * modules/rpmatch (Depends-on): Add strdup.
53438
53439 2008-06-01  Bruno Haible  <bruno@clisp.org>
53440
53441         * lib/pipe.c: Include unistd-safer.h.
53442         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
53443         * modules/pipe (Depends-on): Add unistd-safer.
53444
53445 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53446
53447         * modules/autobuild (configure.ac): Call AB_INIT.
53448
53449 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53450
53451         * tests/test-getaddrinfo.c: Don't print debug messages by default.
53452         Suggested by Bruno Haible <bruno@clisp.org>.
53453
53454 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53455
53456         * tests/test-base64.c: Cast size_t to unsigned long when invoking
53457         printf.  Use %lu instead of %d.  Reported by Bruno Haible
53458         <bruno@clisp.org>.
53459
53460 2008-05-29  Eric Blake  <ebb9@byu.net>
53461
53462         Prefer new POSIX 200x interfaces over futimesat.
53463         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
53464         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
53465         when available.
53466         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
53467
53468 2008-05-28  Bruno Haible  <bruno@clisp.org>
53469
53470         * modules/stpcpy (License): Change to LGPLv2+.
53471         Requested by David Lutterkort <dlutter@redhat.com>.
53472
53473 2008-05-27  Bruno Haible  <bruno@clisp.org>
53474
53475         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
53476         current mingw.
53477         Reported by Jose E. Marchesi <jemarch@gnu.org>.
53478
53479 2008-05-27  Bruno Haible  <bruno@clisp.org>
53480
53481         * modules/iconv_open (Link): New section, from module 'iconv'.
53482         * modules/striconv (Link): Likewise.
53483         * modules/striconveh (Link): Likewise.
53484         * modules/xstriconv (Link): Likewise.
53485         * modules/unicodeio (Link): Likewise.
53486         * modules/propername (Link): Likewise.
53487         Reported by Jim Meyering.
53488
53489 2008-05-26  Jim Meyering  <meyering@redhat.com>
53490
53491         sha256: do not artificially restrict buffer length to be < 2^32
53492         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
53493         uint32_t to size_t.
53494         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
53495         to match.
53496
53497         avoid unaligned access errors, e.g., on sparc
53498         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
53499         direct access through a possibly-unaligned uint64* pointer.
53500         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
53501         direct access through a possibly-unaligned uint32* pointer.
53502         Prompted by this patch from Tom "spot" Callaway:
53503         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
53504
53505         sha512.c: fix typo in comment
53506         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
53507
53508 2008-05-25  Bruno Haible  <bruno@clisp.org>
53509
53510         * lib/set-mode-acl.c: Renamed from lib/acl.c.
53511         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
53512         (Makefile.am): Update lib_SOURCES.
53513
53514 2008-05-25  Bruno Haible  <bruno@clisp.org>
53515
53516         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
53517
53518 2008-05-25  Jim Meyering  <meyering@redhat.com>
53519
53520         useless-if-before-free: freed expr may have white-space differences
53521         * build-aux/useless-if-before-free: Recognize cases in which the
53522         freed expression differs from the tested one in embedded white
53523         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
53524         $1 was used, so we can't make any regexp shy.  Improved tests now
53525         detect this.
53526
53527         useless-if-before-free: accept white space in the expression.
53528         * build-aux/useless-if-before-free: For now, any white space
53529         in the expression must be identical in the free argument.
53530
53531         useless-if-before-free: efficiency tweak
53532         * build-aux/useless-if-before-free: Make the expression-matching
53533         regexp "shy".
53534         Make the *outer* regexp shy, not the expr-matching one.
53535
53536         update code-in-comment to accept cast of free arg
53537         * build-aux/useless-if-before-free: Update regexp.
53538
53539 2008-05-25  Bruno Haible  <bruno@clisp.org>
53540
53541         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
53542         * modules/copy-file-tests (Files, Makefile.am): Update.
53543         * tests/test-copy-file.c (func_test_copy): Update.
53544
53545 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
53546
53547         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
53548
53549 2008-05-23  Bruno Haible  <bruno@clisp.org>
53550
53551         Improve support for ACLs on OSF/1.
53552         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
53553         Remove fallback for unknown flavors of ACLs.
53554
53555 2008-05-22  Bruno Haible  <bruno@clisp.org>
53556
53557         Add support for ACLs on OSF/1.
53558         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
53559         replacements.
53560         (acl_free_text): New macro fallback.
53561         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
53562         acl_free.
53563         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
53564         acl_free_text function. Require AC_C_INLINE.
53565
53566 2008-05-22  Bruno Haible  <bruno@clisp.org>
53567
53568         Make copy_acl work on MacOS X 10.5.
53569         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
53570         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
53571         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
53572         If MODE_INSIDE_ACL, don't assume that every system has the same text
53573         representation for ACLs as FreeBSD.
53574         * lib/copy-acl.c (copy_acl): Add support for platforms with
53575         !MODE_INSIDE_ACL.
53576         * lib/file-has-acl.c (file_has_acl): Likewise.
53577         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
53578         FreeBSD, MacOS X, or IRIX, respectively.
53579
53580 2008-05-22  Bruno Haible  <bruno@clisp.org>
53581
53582         * lib/acl.h: Don't include <sys/acl.h>.
53583         (GETACLCNT): Move fallback to lib/acl-internal.h.
53584         * lib/acl-internal.h: Include <sys/acl.h> here.
53585         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
53586
53587 2008-05-22  Bruno Haible  <bruno@clisp.org>
53588
53589         Split off copy_acl function to separate file.
53590         * lib/copy-acl.c: New file, extracted from lib/acl.c.
53591         * lib/acl.c (copy_acl): Moved function to separate file.
53592         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
53593         * modules/acl (Files): Add lib/copy-acl.c.
53594         (Makefiles.am): Augment lib_SOURCES.
53595
53596 2008-05-22  Bruno Haible  <bruno@clisp.org>
53597
53598         * modules/copy-file-tests: New file.
53599         * tests/test-copy-file.sh: New file.
53600         * tests/test-copy-file.c: New file.
53601         * tests/test-copy-file-sameacls.c: New file.
53602
53603 2008-05-22  Eric Blake  <ebb9@byu.net>
53604
53605         Avoid gcc warning.
53606         * tests/test-memcmp.c (main): Pass NULL indirectly.
53607
53608 2008-05-21  Bruno Haible  <bruno@clisp.org>
53609
53610         Add reference doc about ACLs.
53611         * doc/acl-resources.txt: New file.
53612         * doc/acl-cygwin.txt: New file.
53613
53614 2008-05-21  Bruno Haible  <bruno@clisp.org>
53615
53616         Avoid one more warning from gcc.
53617         * lib/vasnprintf.c (IF_LINT): Update comments.
53618         (VASNPRINTF): Use it also for the 'prefix' array initializer.
53619
53620 2008-05-21  Jim Meyering  <meyering@redhat.com>
53621
53622         avoid a warning from gcc
53623         * lib/vasnprintf.c (IF_LINT): Define.
53624         (scale10_round_decimal_long_double):
53625         Use it to avoid a "may be used uninitialized" warning.
53626         (scale10_round_decimal_double): Likewise.
53627
53628 2008-05-21  Simon Josefsson  <simon@josefsson.org>
53629
53630         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
53631         declared.
53632
53633 2008-05-20  Bruno Haible  <bruno@clisp.org>
53634
53635         * tests/test-memcmp.c (main): Test also the sign of the result. Test
53636         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
53637
53638 2008-05-20  Simon Josefsson  <simon@josefsson.org>
53639
53640         * modules/memcmp-tests: New file.
53641         * tests/test-memcmp.c: New file.
53642
53643 2008-05-19  Bruno Haible  <bruno@clisp.org>
53644
53645         * modules/propername (Notice, configure.ac): Put quoted "..." into
53646         --keyword option.
53647         * lib/propername.h: Update comments accordingly.
53648         Reported by Eric Blake.
53649
53650 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
53651
53652         * modules/getpass-gnu (Depends-on): Add fseeko.
53653
53654 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53655
53656         * modules/base64-tests: New file.
53657
53658 2008-05-19  Bo Borgerson <gigabo@gmail.com>
53659
53660         * lib/base64.c (base64_decode_ctx): If a decode context structure
53661         was passed in use it to ignore newlines.  If a context structure
53662         was _not_ passed in, continue to treat newlines as garbage (this
53663         is the historical behavior).  Formerly base64_decode.
53664         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53665         takes a decode context structure.
53666         * lib/base64.h (base64_decode): Macro for four-argument calls.
53667         (base64_decode_alloc): Likewise.
53668         * lib/base64.c (base64_decode_ctx): If a decode context structure
53669         was passed in use it to ignore newlines.  If a context structure
53670         was _not_ passed in, continue to treat newlines as garbage (this
53671         is the historical behavior).  Formerly base64_decode.
53672         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53673         takes a decode context structure.
53674         * lib/base64.h (base64_decode): Macro for four-argument calls.
53675         (base64_decode_alloc): Likewise.
53676
53677 2008-05-19  Jim Meyering  <meyering@redhat.com>
53678
53679         avoid a warning from gcc
53680         * lib/trim.c (IF_LINT): Define.
53681         (trim2): Use it to avoid a "may be used uninitialized" warning.
53682
53683         Fix doc typo.
53684         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53685
53686 2008-05-19  Bruno Haible  <bruno@clisp.org>
53687
53688         * doc/glibc-functions/getpass.texi: Document limits of other
53689         implementations.
53690
53691 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53692             Bruno Haible <bruno@clisp.org>
53693
53694         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53695
53696 2008-05-18  Bruno Haible  <bruno@clisp.org>
53697
53698         * modules/propername: New file, from GNU gettext.
53699         * lib/propername.h: New file, from GNU gettext.
53700         * lib/propername.c: New file, from GNU gettext.
53701         * MODULES.html.sh (Internationalization functions): Add propername.
53702
53703 2008-05-16  Jim Meyering  <meyering@redhat.com>
53704             Bruno Haible  <bruno@clisp.org>
53705
53706         Avoid some warnings from "gcc -Wshadow".
53707         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53708
53709 2008-05-15  Eric Blake  <ebb9@byu.net>
53710
53711         Extend previous patch to cygwin 1.7.0.
53712         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53713         fast implementation in cygwin >= 1.7.0.
53714         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53715         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53716
53717 2008-05-15  Bruno Haible  <bruno@clisp.org>
53718
53719         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53720         implementation in glibc >= 2.9.
53721         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53722         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53723
53724 2008-05-15  Bruno Haible  <bruno@clisp.org>
53725
53726         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53727         (Unicode string functions): Add unilbrk/*.
53728         Reported by Karl Berry.
53729
53730 2008-05-15  Eric Blake  <ebb9@byu.net>
53731
53732         Fix violation of <stdbool.h> replacement in regex.
53733         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53734         * lib/regexec.c (re_search_internal): Likewise.
53735         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53736
53737 2008-05-15  Jim Meyering  <meyering@redhat.com>
53738
53739         avoid distracting test output when git or cvs is not found
53740         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53741         * tests/test-vc-list-files-git.sh: Likewise.
53742
53743 2008-05-15  Eric Blake  <ebb9@byu.net>
53744
53745         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53746         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53747         glibc version.
53748         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53749         * doc/posix-functions/strstr.texi (strstr): Likewise.
53750         * lib/str-two-way.h (MAX): Sychronize with glibc.
53751
53752 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53753
53754         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53755         opr.ctx_type.
53756         (calc_first): Initialize constraint field.
53757         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53758         Fix grammar.
53759         (duplicate_node): Merge constraint field for all node types.
53760         (calc_eclosure_iter): Look at constraint field for all node types.
53761         * lib/regex_internal.c (create_cd_newstate): Don't look at
53762         opr.ctx_type.
53763
53764 2008-05-14  Bruno Haible  <bruno@clisp.org>
53765
53766         Help GCC to do better code generation.
53767         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53768         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53769         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53770         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53771         Declare with attribute 'malloc' if supported.
53772
53773 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53774
53775         use "echo STR|wc -c" rather than unportable "expr length STR"
53776         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53777         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53778
53779 2008-05-14  Jim Meyering  <meyering@redhat.com>
53780
53781         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53782         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53783         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53784         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53785         via Collin Lasse.
53786
53787 2008-05-14  Eric Blake  <ebb9@byu.net>
53788
53789         Avoid quadratic growth in gl_LIBSOURCES.
53790         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53791         Suggested by Bruno Haible.
53792
53793         Test xmemdup0.
53794         * modules/xmemdup0-tests: New file.
53795         * tests/test-xmemdup0.c: Likewise.
53796
53797 2008-05-13  Eric Blake  <ebb9@byu.net>
53798
53799         Split xmemdup0 into its own module.
53800         * modules/xmemdup0: New file.
53801         * lib/xmemdup0.h: Likewise.
53802         * lib/xmemdup0.c: Likewise.
53803         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53804         * lib/xalloc.h (xmemdup0): Remove.
53805         * lib/xmalloc.c (xmemdup0): Likewise.
53806
53807 2008-05-13  Eric Blake  <ebb9@byu.net>
53808             Bruno Haible  <bruno@clisp.org>
53809
53810         Reduce number of forks required during autoconf.
53811         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53812         and gl_LIBSOURCES_DIR.
53813         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53814         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53815         m4_syscmd per file.
53816         <m4_foreach_w>: Move...
53817         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53818
53819 2008-05-13  Eric Blake  <ebb9@byu.net>
53820
53821         * gnulib-tool: Fix various comment typos.
53822
53823 2008-05-12  Bruno Haible  <bruno@clisp.org>
53824
53825         Tailor the linebreaking algorithm.
53826         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
53827
53828 2008-05-12  Bruno Haible  <bruno@clisp.org>
53829
53830         Update to Unicode 5.0.0.
53831         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53832         LBP_JV, LBP_JT. Redistribute values.
53833         (unilbrk_table): Change size.
53834         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
53835         Unicode TR#14 rev. 22.
53836         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53837         LBP_JV, LBP_JT. Redistribute values.
53838         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
53839         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
53840         Update.
53841         * lib/unilbrk/lbrkprop1.h: Regenerated.
53842         * lib/unilbrk/lbrkprop2.h: Regenerated.
53843         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
53844         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53845         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53846         Likewise.
53847         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53848         Likewise.
53849         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53850         result.
53851         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53852         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53853         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53854         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53855         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53856         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53857
53858 2008-05-11  Bruno Haible  <bruno@clisp.org>
53859
53860         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53861
53862 2008-05-11  Bruno Haible  <bruno@clisp.org>
53863
53864         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53865         * modules/unilbrk/gen-lbrk: New file.
53866
53867 2008-05-11  Bruno Haible  <bruno@clisp.org>
53868
53869         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53870         * m4/sha512.m4 (gl_SHA512): Likewise.
53871
53872 2008-05-11  Jim Meyering  <meyering@redhat.com>
53873
53874         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53875         * modules/crypto/sha256: New file.
53876         * modules/crypto/sha512: Likewise.
53877         * lib/sha256.c: Likewise.
53878         * lib/sha256.h: Likewise.
53879         * lib/sha512.c: Likewise.
53880         * lib/sha512.h: Likewise.
53881         * lib/u64.h: Likewise.
53882         * m4/sha256.m4: Likewise.
53883         * m4/sha512.m4: Likewise.
53884         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53885
53886 2008-05-10  Bruno Haible  <bruno@clisp.org>
53887
53888         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53889         (Input/Output <stdio.h>): Add xprintf.
53890         (Signal handling <signal.h>): Add strsignal.
53891         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53892         (Core language properties): Add func.
53893         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53894         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53895         strings.
53896         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53897         (Input/output): New section.
53898         (File system functions): Add openat-die, stat-macros.
53899         (Networking functions): Add sockets.
53900         (Unicode string functions): Add unictype/*.
53901         (Support for building libraries and executables): Add gperf.
53902         (Support for building documentation): Add agpl-3.0.
53903         (Misc): Add nocrash.
53904
53905 2008-05-10  Bruno Haible  <bruno@clisp.org>
53906
53907         * modules/unictype/gen-ctype: New file.
53908
53909 2008-05-10  Jim Meyering  <meyering@redhat.com>
53910
53911         Make chdir-safer.c more efficient on a system with no symlinks.
53912         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53913         also if ELOOP is zero.  Suggested by Bruno Haible.
53914
53915         Make chdir-safer.c slightly safer.
53916         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53917         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53918
53919         Avoid compile failure on systems without ELOOP (like mingw).
53920         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53921         Reported by Bruno Haible.
53922
53923 2008-05-10  Bruno Haible  <bruno@clisp.org>
53924
53925         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53926         (is_utf8_encoding): Use a case-insensitive comparison.
53927         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53928         streq.
53929
53930 2008-05-10  Bruno Haible  <bruno@clisp.org>
53931
53932         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53933         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53934         * lib/unilbrk/ulc-common.h (iconv_string_length,
53935         iconv_string_keeping_offsets): Remove declarations.
53936         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53937         Don't include <iconv.h>, streq.h, xsize.h.
53938         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53939         conversion.
53940         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53941         <iconv.h>, streq.h, xsize.h.
53942         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53943         conversion.
53944         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53945         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53946         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53947         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53948
53949 2008-05-10  Bruno Haible  <bruno@clisp.org>
53950
53951         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53952         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53953
53954         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53955         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53956
53957         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53958         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
53959
53960         * modules/unilbrk/u8-width-linebreaks-tests: New file.
53961         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
53962
53963         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
53964         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
53965
53966         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
53967         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
53968
53969         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
53970         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
53971
53972         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
53973         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
53974
53975 2008-05-10  Bruno Haible  <bruno@clisp.org>
53976
53977         Split up 'linebreak' module.
53978         * lib/unilbrk.h: New file, based on lib/linebreak.h.
53979         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
53980         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
53981         modifications.
53982         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
53983         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
53984         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
53985         lib/linebreak.c.
53986         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
53987         lib/linebreak.c.
53988         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
53989         lib/linebreak.c.
53990         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
53991         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
53992         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
53993         lib/linebreak.c.
53994         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
53995         lib/linebreak.c.
53996         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
53997         lib/linebreak.c.
53998         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
53999         lib/linebreak.c.
54000         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
54001         lib/linebreak.c.
54002         * modules/unilbrk/base: New file.
54003         * modules/unilbrk/tables: New file.
54004         * modules/unilbrk/u8-possible-linebreaks: New file.
54005         * modules/unilbrk/u16-possible-linebreaks: New file.
54006         * modules/unilbrk/u32-possible-linebreaks: New file.
54007         * modules/unilbrk/ulc-common: New file.
54008         * modules/unilbrk/ulc-possible-linebreaks: New file.
54009         * modules/unilbrk/u8-width-linebreaks: New file.
54010         * modules/unilbrk/u16-width-linebreaks: New file.
54011         * modules/unilbrk/u32-width-linebreaks: New file.
54012         * modules/unilbrk/ulc-width-linebreaks: New file.
54013         * lib/linebreak.h: Remove file.
54014         * lib/linebreak.c: Remove file.
54015         * m4/linebreak.m4: Remove file.
54016         * modules/linebreak: Remove file.
54017         * NEWS: Mention the changes.
54018
54019 2008-05-09  Eric Blake  <ebb9@byu.net>
54020
54021         Add xmemdup0.
54022         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
54023         implementation.
54024         * lib/xmalloc.c (xmemdup0): New C implementation.
54025
54026 2008-05-08  Bruno Haible  <bruno@clisp.org>
54027
54028         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
54029
54030 2008-05-07  Eric Blake  <ebb9@byu.net>
54031
54032         Support cross-compilation of <wctype.h>.
54033         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
54034         AC_CACHE_CHECK.
54035
54036 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
54037
54038         * build-aux/vc-list-files: Add support for bzr.
54039
54040 2008-05-03  Jim Meyering  <meyering@redhat.com>
54041
54042         avoid failed assertion with tight malloc
54043         * tests/test-getndelim2.c: Correct an off-by-one assertion.
54044
54045 2008-05-03  Simon Josefsson  <simon@josefsson.org>
54046
54047         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
54048         are needed from arpa/inet.h.
54049         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
54050         Reported by Bruno Haible.
54051
54052 2008-05-02  Jim Meyering  <meyering@redhat.com>
54053
54054         avoid compilation error on FreeBSD 6
54055         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
54056
54057 2008-05-01  Jim Meyering  <meyering@redhat.com>
54058
54059         useless-if-before-free: correct --help's exit status description
54060         * build-aux/useless-if-before-free (usage): Like grep, exit 0
54061         for one or more matches, etc.  Reported by Bruno Haible.
54062
54063         vc-list-files: make the stand-alone gnulib test work
54064         * modules/vc-list-files-tests (configure.ac):
54065         Define and AC_SUBST abs_aux_dir.
54066         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
54067         $(abs_top_srcdir) to each script and having each of them
54068         duplicate the work of setting PATH, set PATH here, using
54069         the new variable, abs_aux_dir instead.
54070         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
54071         * tests/test-vc-list-files-git.sh: Likewise.
54072         Reported by Bruno Haible.
54073
54074 2008-05-01  Bruno Haible  <bruno@clisp.org>
54075
54076         * lib/getndelim2.c (getndelim2): Fix newsize computation during
54077         reallocation. Rename 'done' to 'found_delimiter'.
54078
54079 2008-05-01  Jim Meyering  <meyering@redhat.com>
54080
54081         vc-list-files: accommodate /bin/sh like the one from Solaris 10
54082         * build-aux/vc-list-files: Use `...`, not $(...).
54083
54084 2008-04-30  Jim Meyering  <meyering@redhat.com>
54085
54086         add tests for vc-list-files
54087         * modules/vc-list-files-tests: New module.
54088         * tests/test-vc-list-files-cvs.sh: New file.
54089         * tests/test-vc-list-files-git.sh: New file.
54090
54091         avoid a warning from gcc
54092         * lib/getndelim2.c (IF_LINT): Define.
54093         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
54094
54095         vc-list-files: work properly with build-aux/cvsu, too
54096         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
54097         to all cvs-based clauses.
54098
54099         vc-list-files: work properly in the CVS+awk case, too
54100         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
54101
54102         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
54103         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
54104         take more than one file argument, so .  Add quotes, just in case $dir
54105         ever contains a shell meta-character.  Prompted by Soren Hansen in
54106         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
54107
54108 2008-04-29  Eric Blake  <ebb9@byu.net>
54109
54110         Optimize getndelim2 to use block operations when possible.
54111         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
54112         freadseek, and memchr2.
54113         * lib/getndelim2.c (getndelim2): Use them for block reads.
54114
54115 2008-04-29  Bruno Haible  <bruno@clisp.org>
54116
54117         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
54118         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54119         * modules/inet_ntop (Depends-on): Add extensions.
54120         * modules/inet_pton (Depends-on): Likewise.
54121         Reported by Simon Josefsson.
54122
54123 2008-04-29  Jim Meyering  <meyering@redhat.com>
54124
54125         When the is more than one match in a block, match all of them.
54126         * build-aux/useless-if-before-free: Iterate through each block
54127         until there are no more matches.
54128
54129         Fix broken useless-if-before-free script.
54130         * build-aux/useless-if-before-free: Fix typo: missing "?" after
54131         the expression to match cast of argument to free-like function.
54132
54133 2008-04-29  Eric Blake  <ebb9@byu.net>
54134
54135         Use new header.
54136         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
54137
54138 2008-04-29  Jim Meyering  <meyering@redhat.com>
54139
54140         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
54141         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
54142         by gnulib to exist and to declare e.g., inet_ntop.
54143         Don't include "inet_ntop.h", now removed.
54144
54145         * m4/arpa_inet_h.m4: Remove trailing blanks.
54146
54147 2008-04-29  Eric Blake  <ebb9@byu.net>
54148
54149         Silence valgrind on safe reads beyond potential array bounds.
54150         * lib/rawmemchr.valgrind: New file.
54151         * lib/strchrnul.valgrind: Likewise.
54152         * modules/rawmemchr (Files): Distribute new file.
54153         * modules/strchrnul (Files): Likewise.
54154         Suggested by Bruno Haible.
54155
54156 2008-04-29  Bruno Haible  <bruno@clisp.org>
54157
54158         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
54159         (inet_ntop, inet_pton): Change portability warning's wording.
54160         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
54161         Invoke gl_CHECK_NEXT_HEADERS.
54162         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
54163         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
54164         set ARPA_INET_H.
54165         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54166         * modules/arpa_inet (Description): No longer only for systems that
54167         lack it.
54168         (Depends-on): Add include_next.
54169         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
54170         HAVE_ARPA_INET_H.
54171
54172 2008-04-29  Jim Meyering  <meyering@redhat.com>
54173
54174         * modules/mkdir (License): Re-license as LGPLv2+.
54175
54176 2008-04-29  Bruno Haible  <bruno@clisp.org>
54177
54178         * modules/rawmemchr (Maintainer): Set to Eric.
54179         * modules/strchrnul (Maintainer): Likewise.
54180
54181 2008-04-29  Simon Josefsson  <simon@josefsson.org>
54182
54183         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
54184         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
54185
54186         * modules/arpa_inet (arpa/inet.h): Use them.
54187
54188 2008-04-28  Eric Blake  <ebb9@byu.net>
54189
54190         Test getndelim2.
54191         * modules/getndelim2-tests: New file.
54192         * tests/test-getndelim2.c: Likewise.
54193         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
54194         stream.
54195         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
54196
54197         * MODULES.html.sh: Document new module.
54198
54199 2008-04-20  Bruno Haible  <bruno@clisp.org>
54200
54201         * lib/c-stack.c (die): Use raise.
54202         * modules/c-stack (Depends-on): Add raise.
54203
54204 2008-04-28  Bruno Haible  <bruno@clisp.org>
54205
54206         Expect rpmatch to be declared.
54207         * lib/yesno.c (rpmatch): Remove declaration.
54208
54209         Declare rpmatch.
54210         * lib/stdlib.in.h (rpmatch): New declaration.
54211         * lib/rpmatch.c: Include <stdlib.h> first.
54212         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
54213         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
54214         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
54215         HAVE_RPMATCH.
54216         * modules/rpmatch (Depends-on): Add stdlib, extensions.
54217         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54218         (Include): Set to <stdlib.h>.
54219         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
54220         HAVE_RPMATCH.
54221         * NEWS: Document the change.
54222
54223 2008-04-28  Bruno Haible  <bruno@clisp.org>
54224
54225         Change rpmatch to use nl_langinfo when appropriate.
54226         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
54227         (N_): New macro.
54228         (localized_pattern): New function/macro.
54229         (try): Remove match, nomatch arguments. Copy the pattern into safe
54230         memory before caching it.
54231         (rpmatch): Use localized_pattern. Add translator comments.
54232         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
54233         Suggested by Eric Blake.
54234         * modules/rpmatch (Depends-on): Add stdbool.
54235
54236 2008-04-28  Eric Blake  <ebb9@byu.net>
54237
54238         Add rawmemchr module, matching glibc.
54239         * modules/string (Makefile.am): New indicator.
54240         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
54241         * lib/string.in.h (rawmemchr): Declare when appropriate.
54242         * modules/rawmemchr: New file.
54243         * m4/rawmemchr.m4: Likewise.
54244         * lib/rawmemchr.c: Likewise.
54245         * modules/rawmemchr-tests: Likewise.
54246         * tests/test-rawmemchr.c: Likewise.
54247         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
54248         module.
54249         * modules/strchrnul (Depends-on): Add rawmemchr.
54250         * lib/strchrnul.c (strchrnul): Optimize a corner case.
54251
54252         Whitespace cleanup.
54253         * tests/test-strchrnul.c: Reindent.
54254         * lib/strchrnul.c: Likewise.
54255
54256         Optimize and test strchrnul.
54257         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
54258         * modules/strchrnul-tests: New file.
54259         * tests/test-strchrnul.c: Likewise.
54260
54261         Remove intprops dependency.
54262         * modules/memchr (Depends-on): Remove intprops.
54263         * modules/memrchr (Depends-on): Likewise.
54264         * modules/memchr2 (Depends-on): Likewise.
54265         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
54266         * lib/memrchr.c (__memrchr): Likewise.
54267         * lib/memrchr2.c (memchr2): Likewise.
54268         Reported by Simon Josefsson.
54269
54270 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54271
54272         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
54273         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54274
54275 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54276
54277         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
54278
54279         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
54280
54281         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
54282
54283         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
54284         declarations.
54285         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
54286
54287         * m4/inet_pton.m4: Don't check for header files.
54288
54289         * m4/inet_ntop.m4: Don't check for header files.
54290
54291 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54292
54293         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
54294         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
54295         trigger for cygwin).
54296         Reported by Bruno Haible  <bruno@clisp.org>.
54297
54298 2008-04-28  Bruno Haible  <bruno@clisp.org>
54299
54300         * doc/posix-functions/strdup.texi: Mention mingw problem.
54301
54302 2008-04-27  Bruno Haible  <bruno@clisp.org>
54303
54304         * modules/stat-time-tests (Depends-on): Add sleep.
54305         * tests/test-stat-time.c (force_unlink): New function.
54306         (cleanup): Use it.
54307         (test_mtime): Remove the ctime related tests.
54308         (test_ctime): New function, containing the ctime related tests.
54309         (main): Call test_ctime, except on native Windows platforms.
54310
54311 2008-04-27  Bruno Haible  <bruno@clisp.org>
54312
54313         * lib/rpmatch.c (rpmatch): Add some comments.
54314         Reported by James Youngman <jay@gnu.org>.
54315
54316 2008-04-27  Bruno Haible  <bruno@clisp.org>
54317
54318         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
54319         quiet NaNs.
54320
54321 2008-04-27  Bruno Haible  <bruno@clisp.org>
54322
54323         Make test-yesno.sh work on mingw.
54324         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
54325         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
54326         (main): Set stdin to binary mode.
54327         * modules/yesno-tests (Depends-on): Add binary-io.
54328
54329 2008-04-27  Bruno Haible  <bruno@clisp.org>
54330
54331         Fix 'isfinite' on x86, x86_64, ia64 platforms.
54332         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
54333         argument that lie outside the IEEE 854 domain.
54334         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
54335         (gl_ISFINITE): Use it.
54336         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
54337
54338 2008-04-27  Bruno Haible  <bruno@clisp.org>
54339
54340         Allow local renaming in config.h.
54341         * lib/memrchr.c (memrchr): Don't undefine outside libc.
54342
54343 2008-04-27  Bruno Haible  <bruno@clisp.org>
54344
54345         * lib/memchr.c (__memchr): Change type of 'i'.
54346         * lib/memchr2.c (memchr2): Likewise.
54347
54348 2008-04-26  Eric Blake  <ebb9@byu.net>
54349         and Bruno Haible  <bruno@clisp.org>
54350
54351         Optimize and test memrchr.
54352         * modules/memrchr (Depends-on): Add intprops.
54353         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
54354         * modules/memrchr-tests: New file.
54355         * tests/test-memrchr.c: New file.
54356
54357 2008-04-26  Bruno Haible  <bruno@clisp.org>
54358
54359         Add tentative support for DragonFly BSD.
54360         * lib/stdio-impl.h: Add macros for DragonFly BSD.
54361         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
54362         fp.
54363         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54364         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
54365         * lib/fpurge.c (fpurge): Likewise.
54366         * lib/freadable.c (freaadable): Likewise.
54367         * lib/freadahead.c (freadahead): Likewise.
54368         * lib/freading.c (freading): Likewise.
54369         * lib/freadptr.c (freadptr): Likewise.
54370         * lib/freadseek.c (freadptrinc): Likewise.
54371         * lib/fseeko.c (fseeko): Likewise.
54372         * lib/fseterr.c (fseterr): Likewise.
54373         * lib/fwritable.c (fwritable): Likewise.
54374         * lib/fwriting.c (fwriting): Likewise.
54375
54376 2008-04-26  Bruno Haible  <bruno@clisp.org>
54377
54378         * lib/stdio-impl.h: New file.
54379         * lib/fbufmode.c: Include stdio-impl.h.
54380         (fbufmode): Use fp_, remove redundant #defines.
54381         * lib/fflush.c: Include stdio-impl.h.
54382         (clear_ungetc_buffer): Remove redundant #defines.
54383         * lib/fpurge.c: Include stdio-impl.h.
54384         (fpurge): Remove redundant #defines.
54385         * lib/freadable.c: Include stdio-impl.h.
54386         (freadable): Remove redundant #defines.
54387         * lib/freadahead.c: Include stdio-impl.h.
54388         (freadahead): Remove redundant #defines.
54389         * lib/freading.c: Include stdio-impl.h.
54390         (freading): Remove redundant #defines.
54391         * lib/freadptr.c: Include stdio-impl.h.
54392         (freadptr): Remove redundant #defines.
54393         * lib/freadseek.c: Include stdio-impl.h.
54394         (freadptrinc): Remove redundant #defines.
54395         * lib/fseeko.c: Include stdio-impl.h.
54396         (rpl_fseeko): Remove redundant #defines.
54397         * lib/fseterr.c: Include stdio-impl.h.
54398         (fseterr): Remove redundant #defines.
54399         * lib/fwritable.c: Include stdio-impl.h.
54400         (fwritable: Remove redundant #defines.
54401         * lib/fwriting.c: Include stdio-impl.h.
54402         (fwriting): Remove redundant #defines.
54403         * modules/fbufmode (Files): Add lib/stdio-impl.h.
54404         * modules/fflush (Files): Likewise.
54405         * modules/fpurge (Files): Likewise.
54406         * modules/freadable (Files): Likewise.
54407         * modules/freadahead (Files): Likewise.
54408         * modules/freading (Files): Likewise.
54409         * modules/freadptr (Files): Likewise.
54410         * modules/freadseek (Files): Likewise.
54411         * modules/fseeko (Files): Likewise.
54412         * modules/fseterr (Files): Likewise.
54413         * modules/fwritable (Files): Likewise.
54414         * modules/fwriting (Files): Likewise.
54415
54416 2008-04-26  Bruno Haible  <bruno@clisp.org>
54417
54418         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54419         restore_seek_optimization, update_fpos_cache): New functions, extracted
54420         from rpl_fflush.
54421         (rpl_fflush): Use them.
54422         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
54423         (gl_REPLACE_FFLUSH): Use it.
54424
54425 2008-04-26  Bruno Haible  <bruno@clisp.org>
54426
54427         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
54428         on Solaris.
54429         * tests/test-xstrtoimax.sh: Likewise.
54430         * tests/test-xstrtoumax.sh: Likewise.
54431         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54432
54433 2008-04-26  Bruno Haible  <bruno@clisp.org>
54434
54435         * modules/memchr-tests: New file.
54436         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
54437
54438 2008-04-26  Eric Blake  <ebb9@byu.net>
54439             Bruno Haible  <bruno@clisp.org>
54440
54441         * lib/memchr.c: Include intprops.h.
54442         (__memchr): Optimize parallel detection of matching bytes. Rename local
54443         variables. Add explanatory comments.
54444
54445 2008-04-26  Bruno Haible  <bruno@clisp.org>
54446
54447         Fix module 'memchr', broken since 2000-10-28.
54448         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
54449
54450 2008-04-26  Bruno Haible  <bruno@clisp.org>
54451
54452         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
54453         comments.
54454
54455 2008-04-25  Eric Blake  <ebb9@byu.net>
54456
54457         Use native fstatat on cygwin 1.7.0.
54458         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
54459         first.
54460
54461 2008-04-23  Eric Blake  <ebb9@byu.net>
54462
54463         Improve memchr2 performance.
54464         * lib/memchr2.c (memchr2): Further optimize parallel detection of
54465         NUL bytes.
54466         * modules/memchr2 (Depends-on): Use intprops.h.
54467
54468 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54469
54470         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
54471         an inline function instead of a CPP macro.  Patch by Ben Pfaff
54472         <blp@cs.stanford.edu>.
54473
54474 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54475
54476         * lib/arpa_inet.in.h: New file.
54477
54478         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
54479         (Makefile.am): Sed in substitute header file.
54480
54481         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
54482         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
54483
54484         * modules/inet_ntop (configure.ac): Use
54485         gl_ARPA_INET_MODULE_INDICATOR.
54486
54487         * modules/inet_pton (configure.ac): Use
54488         gl_ARPA_INET_MODULE_INDICATOR.
54489
54490 2008-04-22  Jim Meyering  <meyering@redhat.com>
54491
54492         * modules/verify (License): Re-license as LGPLv2+.
54493
54494 2008-04-22  Simon Josefsson  <simon@josefsson.org>
54495
54496         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
54497         parameter to void* as per POSIX standard (MinGW uses char*).
54498
54499 2008-04-21  Bruno Haible  <bruno@clisp.org>
54500
54501         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54502         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54503         Define to replacements if REPLACE_ISWCNTRL is 1.
54504         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
54505         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
54506         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
54507         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
54508         what it fixes.
54509         * doc/posix-functions/iswalpha.texi: Likewise.
54510         * doc/posix-functions/iswblank.texi: Likewise.
54511         * doc/posix-functions/iswcntrl.texi: Likewise.
54512         * doc/posix-functions/iswdigit.texi: Likewise.
54513         * doc/posix-functions/iswgraph.texi: Likewise.
54514         * doc/posix-functions/iswlower.texi: Likewise.
54515         * doc/posix-functions/iswprint.texi: Likewise.
54516         * doc/posix-functions/iswpunct.texi: Likewise.
54517         * doc/posix-functions/iswspace.texi: Likewise.
54518         * doc/posix-functions/iswupper.texi: Likewise.
54519         * doc/posix-functions/iswxdigit.texi: Likewise.
54520         Reported by Alain Guibert.
54521
54522 2008-04-21  Bruno Haible  <bruno@clisp.org>
54523
54524         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
54525         Patch by Alain Guibert.
54526
54527 2008-04-21  Bruno Haible  <bruno@clisp.org>
54528
54529         Fix test failures on mingw.
54530         * tests/test-xstrtol.c (print_no_progname): New function.
54531         (main): Install it in error_print_progname hook.
54532         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
54533         * tests/test-xstrtoimax.sh: Likewise.
54534         * tests/test-xstrtoumax.sh: Likewise.
54535
54536 2008-04-21  Bruno Haible  <bruno@clisp.org>
54537
54538         Fix test failure on mingw.
54539         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
54540
54541 2008-04-21  Bruno Haible  <bruno@clisp.org>
54542
54543         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
54544         Actually assign a value.
54545
54546 2008-04-20  Bruno Haible  <bruno@clisp.org>
54547
54548         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
54549         take 2.
54550         * lib/canonicalize.c (canonicalize_file_name): Elide if the
54551         'canonicalize-lgpl' module is also used.
54552         * lib/canonicalize-lgpl.c: Undo last change.
54553         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
54554
54555 2008-04-20  Bruno Haible  <bruno@clisp.org>
54556
54557         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
54558         config.h. Provide _mkdir based fallback for mingw.
54559         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
54560         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
54561         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
54562         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
54563         rather than defining mkdir in config.h.
54564         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
54565         (gl_SYS_STAT_H_DEFAULTS): New macro.
54566         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
54567         HAVE_IO_H any more.
54568         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
54569         HAVE_DECL_MKDIR and HAVE_IO_H.
54570
54571 2008-04-20  Bruno Haible  <bruno@clisp.org>
54572
54573         * lib/isapipe.c: Port to native Windows platforms.
54574
54575 2008-04-20  Bruno Haible  <bruno@clisp.org>
54576
54577         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
54578
54579 2008-04-21  Eric Blake  <ebb9@byu.net>
54580
54581         Work around preprocessors that don't handle UINTMAX_MAX.
54582         * lib/memchr2.c (memchr2): Avoid embedded #if.
54583         Reported by Alain Guibert, fix suggested by Bruno Haible.
54584
54585 2008-04-21  Simon Josefsson  <simon@josefsson.org>
54586
54587         * doc/posix-functions/strftime.texi (strftime): Explain better
54588         Windows incompatibility.  Suggested by Micah Cowan
54589         <micah@cowan.name>.
54590
54591 2008-04-20  Bruno Haible  <bruno@clisp.org>
54592
54593         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
54594         unistr/u8-mblen.
54595
54596 2008-04-20  Bruno Haible  <bruno@clisp.org>
54597
54598         Fix test failure on platforms with non-GNU iconv.
54599         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
54600         (U_TO_U8): Use it, rather than u16_to_u8.
54601         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
54602         units at the end of the input string.
54603         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
54604
54605 2008-04-20  Bruno Haible  <bruno@clisp.org>
54606
54607         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
54608         when the resulting length is 0.
54609         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
54610
54611 2008-04-20  Bruno Haible  <bruno@clisp.org>
54612
54613         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
54614         works.
54615         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
54616
54617 2008-04-20  Bruno Haible  <bruno@clisp.org>
54618
54619         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
54620         * modules/tsearch-tests (configure.ac): Test for initstate function.
54621
54622 2008-04-20  Bruno Haible  <bruno@clisp.org>
54623
54624         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
54625         for nlink_t if missing.
54626         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
54627
54628 2008-04-19  Bruno Haible  <bruno@clisp.org>
54629
54630         Work around snprintf bug on Linux libc5.
54631         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
54632         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54633         gl_SNPRINTF_SIZE1.
54634         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54635         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
54636         that test failed.
54637         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
54638         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
54639         * modules/snprintf (Files): Add m4/printf.m4.
54640         * modules/vsnprintf (Files): Likewise.
54641         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
54642         * doc/posix-functions/vsnprintf.texi: Likewise.
54643
54644 2008-04-19  Bruno Haible  <bruno@clisp.org>
54645
54646         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
54647         from 0.0058 to less than 10^-7.
54648
54649 2008-04-19  Bruno Haible  <bruno@clisp.org>
54650
54651         Fix rounding when a precision is given.
54652         * lib/vasnprintf.c (is_borderline): New function.
54653         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
54654         9...9x.
54655         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
54656         %e, %g.
54657         * tests/test-vasprintf-posix.c (test_function): Likewise.
54658         * tests/test-snprintf-posix.h (test_function): Likewise.
54659         * tests/test-sprintf-posix.h (test_function): Likewise.
54660         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
54661         * tests/test-printf-posix.h (test_function): Likewise.
54662         * tests/test-printf-posix.output: Update.
54663         Reported by John Darrington <john@darrington.wattle.id.au> via
54664         Ben Pfaff <blp@cs.stanford.edu>.
54665
54666 2008-04-18  Simon Josefsson  <simon@josefsson.org>
54667
54668         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
54669         Suggested by Bruno Haible <bruno@clisp.org>.
54670
54671 2008-04-17  Bruno Haible  <bruno@clisp.org>
54672
54673         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
54674         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
54675         implementation.
54676         Patch by Bruce Merry <bmerry@gmail.com>.
54677
54678 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54679
54680         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54681         doesn't work under Windows.
54682
54683 2008-04-16  Bruno Haible  <bruno@clisp.org>
54684
54685         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54686         New macros.
54687         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54688         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54689         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54690         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54691         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54692         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54693         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54694         macros.
54695         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54696         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54697         Northern Sotho, Uighur.
54698
54699 2008-04-16  Bruno Haible  <bruno@clisp.org>
54700
54701         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54702         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54703         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54704         Reported by Daniel Bergström <daniel@octocode.com>.
54705
54706 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54707             Bruno Haible  <bruno@clisp.org>
54708
54709         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54710         function.
54711         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54712         New functions, mostly extracted from gl_locale_name_default.
54713         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54714
54715 2008-04-16  Eric Blake  <ebb9@byu.net>
54716
54717         Adjust strtod detection to catch glibc 2.7 bug.
54718         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54719         Reported by John Gatewood Ham.
54720
54721 2008-04-16  Bruno Haible  <bruno@clisp.org>
54722
54723         Add tentative support for Linux libc5.
54724         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54725         * lib/fpurge.c (fpurge): Likewise.
54726         * lib/freadable.c (freadable): Likewise.
54727         * lib/freadahead.c (freadahead): Likewise.
54728         * lib/freading.c (freading): Likewise.
54729         * lib/freadptr.c (freadptr): Likewise.
54730         * lib/freadseek.c (freadptrinc): Likewise.
54731         * lib/fseeko.c (rpl_fseeko): Likewise.
54732         * lib/fseterr.c (fseterr): Likewise.
54733         * lib/fwritable.c (fwritable): Likewise.
54734         * lib/fwriting.c (fwriting): Likewise.
54735         Reported by Alain Guibert <alguibert+bts@free.fr>.
54736
54737 2008-04-15  Bruno Haible  <bruno@clisp.org>
54738
54739         * modules/mathl (configure.ac): Define module indicator.
54740
54741 2008-04-15  Bruno Haible  <bruno@clisp.org>
54742
54743         * lib/logl.c (logl): Remove unused variables.
54744
54745 2008-04-15  Bruno Haible  <bruno@clisp.org>
54746
54747         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54748         fails.
54749
54750 2008-04-15  Bruno Haible  <bruno@clisp.org>
54751
54752         * lib/trim.c (trim2): Fix argument of isspace() macro.
54753
54754 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54755
54756         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54757         to 0.
54758         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54759
54760 2008-04-14  Bruno Haible  <bruno@clisp.org>
54761
54762         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54763         AC_LANG_PROGRAM argument.
54764         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54765         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54766         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54767         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54768         * m4/math_h.m4 (gl_MATH_H): Likewise.
54769         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54770         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54771         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54772         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54773         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54774         * m4/regex.m4 (gl_REGEX): Likewise.
54775         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54776         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54777         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54778         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54779         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54780         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54781         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54782         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54783
54784 2008-04-14  Jim Meyering  <meyering@redhat.com>
54785
54786         test-strtod: fix typos: s/abs/fabs/
54787         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54788
54789 2008-04-13  Bruno Haible  <bruno@clisp.org>
54790
54791         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54792         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54793         module is also used and while not building the reloc-wrapper.
54794
54795 2008-04-13  Bruno Haible  <bruno@clisp.org>
54796
54797         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54798
54799 2008-04-13  Bruno Haible  <bruno@clisp.org>
54800
54801         Fix AIX compilation failure introduced on 2008-04-02.
54802         * tests/test-frexp.c (exp): Undefine before redefining.
54803         * tests/test-frexpl.c (exp): Likewise.
54804
54805 2008-04-13  Bruno Haible  <bruno@clisp.org>
54806
54807         Work around a HP-UX stdio bug.
54808         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54809         * tests/test-ftello.c (main): Likewise.
54810         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54811         * doc/posix-functions/ftello.texi: Likewise.
54812
54813 2008-04-13  Bruno Haible  <bruno@clisp.org>
54814
54815         Make test-signbit pass on HP-UX/hppa.
54816         * tests/test-signbit.c (minus_zerol): New variable.
54817         (test_signbitl): Use it.
54818
54819 2008-04-13  Bruno Haible  <bruno@clisp.org>
54820
54821         Make truncl work on OSF/1 4.0.
54822         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
54823         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54824         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54825         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
54826         HAVE_DECL_TRUNCL.
54827         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
54828         HAVE_DECL_TRUNCL.
54829         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
54830
54831 2008-04-13  Bruno Haible  <bruno@clisp.org>
54832
54833         * lib/unictype.h: Remove trailing comma from enumeration definitions.
54834
54835 2008-04-13  Bruno Haible  <bruno@clisp.org>
54836
54837         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
54838         expression, so as to avoid HP-UX 11 cc compiler bug.
54839
54840 2008-04-13  Bruno Haible  <bruno@clisp.org>
54841
54842         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
54843
54844 2008-04-13  Bruno Haible  <bruno@clisp.org>
54845
54846         * lib/git-merge-changelog.c: Remove empty declaration outside of
54847         functions.
54848
54849 2008-04-13  Bruno Haible  <bruno@clisp.org>
54850
54851         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54852
54853 2008-04-13  Bruno Haible  <bruno@clisp.org>
54854
54855         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54856         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54857         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54858         also if it exists but lacks definitions of the SHUT_* macros.
54859         * modules/sys_socket (Description): Update.
54860         Reported by Elbert Pol <e.pol@chello.nl>.
54861
54862 2008-04-13  Bruno Haible  <bruno@clisp.org>
54863
54864         * lib/localcharset.c (OS2): Don't redefine if already defined.
54865         Reported by Elbert Pol <e.pol@chello.nl>.
54866
54867 2008-04-13  Bruno Haible  <bruno@clisp.org>
54868
54869         * lib/binary-io.h [__EMX__]: Include <io.h>.
54870         Reported by Elbert Pol <e.pol@chello.nl>.
54871
54872 2008-04-12  Bruno Haible  <bruno@clisp.org>
54873
54874         * lib/fpucw.h: Enable the definitions also for x86_64.
54875         Needed for NetBSD/x86_64.
54876         Reported by Thomas Klausner <tk@giga.or.at>.
54877
54878 2008-04-12  Bruno Haible  <bruno@clisp.org>
54879
54880         * tests/test-strtod.c: Include isnand.h.
54881         (main): Use isnand instead of isnan.
54882         Reported by Jim Meyering.
54883
54884 2008-04-12  Bruno Haible  <bruno@clisp.org>
54885
54886         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54887         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54888
54889 2008-04-12  Jim Meyering  <meyering@redhat.com>
54890
54891         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54892
54893 2008-04-12  Bruno Haible  <bruno@clisp.org>
54894
54895         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54896         Reported by Elbert Pol <e.pol@chello.nl>.
54897
54898 2008-04-12  Eric Blake  <ebb9@byu.net>
54899
54900         Work around Solaris 10 math.h bug.
54901         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54902         (gl_MATH_H_DEFAULTS): Set up default.
54903         * modules/math (Makefile.am): Replace new indicators.
54904         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54905         * tests/test-math.c (main): Test this.
54906         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54907         * doc/posix-headers/math.texi (math.h): Mention bug.
54908         Reported by Nelson H. F. Beebe and Jim Meyering.
54909
54910 2008-04-11  Bruno Haible  <bruno@clisp.org>
54911
54912         Adapt to future versions of Apple GCC.
54913         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54914         Reported by Peter O'Gorman <peter@pogma.com>.
54915
54916 2008-04-11  Bruno Haible  <bruno@clisp.org>
54917
54918         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54919
54920 2008-04-11  Bruno Haible  <bruno@clisp.org>
54921
54922         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54923
54924         * modules/getaddrinfo-tests (Makefile.am): Define
54925         test_getaddrinfo_LDADD.
54926
54927 2008-04-11  Bruno Haible  <bruno@clisp.org>
54928
54929         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54930         (init): Fix syntax error.
54931         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54932         is declared.
54933
54934 2008-04-11  Bruno Haible  <bruno@clisp.org>
54935
54936         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54937         * modules/glob (Depends-on): Add stdbool.
54938
54939 2008-04-11  Bruno Haible  <bruno@clisp.org>
54940
54941         * lib/trim.c: Include <string.h>.
54942
54943 2008-04-11  Eric Blake  <ebb9@byu.net>
54944
54945         Avoid compile failure on OS/2.
54946         * lib/regex_internal.h (internal_function): Disable optimization
54947         on OS/2 (__EMX__), where it caused compiler error.
54948         Reported by Elbert Pol.
54949
54950 2008-04-11  Bruno Haible  <bruno@clisp.org>
54951
54952         Flush the standard error stream before aborting. Needed on mingw.
54953         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54954         * tests/test-array_list.c (ASSERT): Likewise.
54955         * tests/test-array_oset.c (ASSERT): Likewise.
54956         * tests/test-avltree_list.c (ASSERT): Likewise.
54957         * tests/test-avltree_oset.c (ASSERT): Likewise.
54958         * tests/test-avltreehash_list.c (ASSERT): Likewise.
54959         * tests/test-binary-io.c (ASSERT): Likewise.
54960         * tests/test-byteswap.c (ASSERT): Likewise.
54961         * tests/test-c-ctype.c (ASSERT): Likewise.
54962         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
54963         * tests/test-c-strcasestr.c (ASSERT): Likewise.
54964         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
54965         * tests/test-c-strstr.c (ASSERT): Likewise.
54966         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
54967         * tests/test-canonicalize.c (ASSERT): Likewise.
54968         * tests/test-carray_list.c (ASSERT): Likewise.
54969         * tests/test-ceilf1.c (ASSERT): Likewise.
54970         * tests/test-ceilf2.c (ASSERT): Likewise.
54971         * tests/test-ceill.c (ASSERT): Likewise.
54972         * tests/test-count-one-bits.c (ASSERT): Likewise.
54973         * tests/test-fbufmode.c (ASSERT): Likewise.
54974         * tests/test-fflush2.c (ASSERT): Likewise.
54975         * tests/test-floorf1.c (ASSERT): Likewise.
54976         * tests/test-floorf2.c (ASSERT): Likewise.
54977         * tests/test-floorl.c (ASSERT): Likewise.
54978         * tests/test-fopen.c (ASSERT): Likewise.
54979         * tests/test-fpending.c (ASSERT): Likewise.
54980         * tests/test-fprintf-posix.c (ASSERT): Likewise.
54981         * tests/test-fpurge.c (ASSERT): Likewise.
54982         * tests/test-freadable.c (ASSERT): Likewise.
54983         * tests/test-freadahead.c (ASSERT): Likewise.
54984         * tests/test-freading.c (ASSERT): Likewise.
54985         * tests/test-freadptr.c (ASSERT): Likewise.
54986         * tests/test-freadptr2.c (ASSERT): Likewise.
54987         * tests/test-freadseek.c (ASSERT): Likewise.
54988         * tests/test-freopen.c (ASSERT): Likewise.
54989         * tests/test-frexp.c (ASSERT): Likewise.
54990         * tests/test-frexpl.c (ASSERT): Likewise.
54991         * tests/test-fseek.c (ASSERT): Likewise.
54992         * tests/test-fseeko.c (ASSERT): Likewise.
54993         * tests/test-fstrcmp.c (ASSERT): Likewise.
54994         * tests/test-ftell.c (ASSERT): Likewise.
54995         * tests/test-ftello.c (ASSERT): Likewise.
54996         * tests/test-func.c (ASSERT): Likewise.
54997         * tests/test-fwritable.c (ASSERT): Likewise.
54998         * tests/test-fwriting.c (ASSERT): Likewise.
54999         * tests/test-getdelim.c (ASSERT): Likewise.
55000         * tests/test-getline.c (ASSERT): Likewise.
55001         * tests/test-i-ring.c (ASSERT): Likewise.
55002         * tests/test-iconv-utf.c (ASSERT): Likewise.
55003         * tests/test-iconv.c (ASSERT): Likewise.
55004         * tests/test-isfinite.c (ASSERT): Likewise.
55005         * tests/test-isnand.c (ASSERT): Likewise.
55006         * tests/test-isnanf.c (ASSERT): Likewise.
55007         * tests/test-isnanl.h (ASSERT): Likewise.
55008         * tests/test-ldexpl.c (ASSERT): Likewise.
55009         * tests/test-linked_list.c (ASSERT): Likewise.
55010         * tests/test-linkedhash_list.c (ASSERT): Likewise.
55011         * tests/test-localename.c (ASSERT): Likewise.
55012         * tests/test-lseek.c (ASSERT): Likewise.
55013         * tests/test-mbscasecmp.c (ASSERT): Likewise.
55014         * tests/test-mbscasestr1.c (ASSERT): Likewise.
55015         * tests/test-mbscasestr2.c (ASSERT): Likewise.
55016         * tests/test-mbscasestr3.c (ASSERT): Likewise.
55017         * tests/test-mbscasestr4.c (ASSERT): Likewise.
55018         * tests/test-mbschr.c (ASSERT): Likewise.
55019         * tests/test-mbscspn.c (ASSERT): Likewise.
55020         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
55021         * tests/test-mbspbrk.c (ASSERT): Likewise.
55022         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
55023         * tests/test-mbsrchr.c (ASSERT): Likewise.
55024         * tests/test-mbsspn.c (ASSERT): Likewise.
55025         * tests/test-mbsstr1.c (ASSERT): Likewise.
55026         * tests/test-mbsstr2.c (ASSERT): Likewise.
55027         * tests/test-mbsstr3.c (ASSERT): Likewise.
55028         * tests/test-memchr2.c (ASSERT): Likewise.
55029         * tests/test-memmem.c (ASSERT): Likewise.
55030         * tests/test-open.c (ASSERT): Likewise.
55031         * tests/test-printf-frexp.c (ASSERT): Likewise.
55032         * tests/test-printf-frexpl.c (ASSERT): Likewise.
55033         * tests/test-printf-posix.c (ASSERT): Likewise.
55034         * tests/test-quotearg.c (ASSERT): Likewise.
55035         * tests/test-rbtree_list.c (ASSERT): Likewise.
55036         * tests/test-rbtree_oset.c (ASSERT): Likewise.
55037         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
55038         * tests/test-round1.c (ASSERT): Likewise.
55039         * tests/test-roundf1.c (ASSERT): Likewise.
55040         * tests/test-roundl.c (ASSERT): Likewise.
55041         * tests/test-signbit.c (ASSERT): Likewise.
55042         * tests/test-sleep.c (ASSERT): Likewise.
55043         * tests/test-snprintf-posix.c (ASSERT): Likewise.
55044         * tests/test-snprintf.c (ASSERT): Likewise.
55045         * tests/test-sprintf-posix.c (ASSERT): Likewise.
55046         * tests/test-stat-time.c (ASSERT): Likewise.
55047         * tests/test-strcasestr.c (ASSERT): Likewise.
55048         * tests/test-strerror.c (ASSERT): Likewise.
55049         * tests/test-striconv.c (ASSERT): Likewise.
55050         * tests/test-striconveh.c (ASSERT): Likewise.
55051         * tests/test-striconveha.c (ASSERT): Likewise.
55052         * tests/test-strsignal.c (ASSERT): Likewise.
55053         * tests/test-strstr.c (ASSERT): Likewise.
55054         * tests/test-strtod.c (ASSERT): Likewise.
55055         * tests/test-trunc1.c (ASSERT): Likewise.
55056         * tests/test-trunc2.c (ASSERT): Likewise.
55057         * tests/test-truncf1.c (ASSERT): Likewise.
55058         * tests/test-truncf2.c (ASSERT): Likewise.
55059         * tests/test-truncl.c (ASSERT): Likewise.
55060         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
55061         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
55062         * tests/test-vasnprintf.c (ASSERT): Likewise.
55063         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
55064         * tests/test-vasprintf.c (ASSERT): Likewise.
55065         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
55066         * tests/test-vprintf-posix.c (ASSERT): Likewise.
55067         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
55068         * tests/test-vsnprintf.c (ASSERT): Likewise.
55069         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
55070         * tests/test-wcwidth.c (ASSERT): Likewise.
55071         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
55072         * tests/test-xprintf-posix.c (ASSERT): Likewise.
55073         * tests/test-xvasprintf.c (ASSERT): Likewise.
55074         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
55075         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
55076         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
55077         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
55078         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
55079         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
55080         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
55081         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
55082         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
55083         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
55084         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
55085         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
55086         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
55087         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
55088         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
55089         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
55090         * tests/unictype/test-block_list.c (ASSERT): Likewise.
55091         * tests/unictype/test-block_of.c (ASSERT): Likewise.
55092         * tests/unictype/test-block_test.c (ASSERT): Likewise.
55093         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
55094         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
55095         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
55096         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
55097         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
55098         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
55099         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
55100         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
55101         * tests/unictype/test-combining.c (ASSERT): Likewise.
55102         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
55103         * tests/unictype/test-digit.c (ASSERT): Likewise.
55104         * tests/unictype/test-mirror.c (ASSERT): Likewise.
55105         * tests/unictype/test-numeric.c (ASSERT): Likewise.
55106         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
55107         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
55108         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
55109         * tests/unictype/test-scripts.c (ASSERT): Likewise.
55110         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
55111         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
55112         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
55113         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
55114         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
55115         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
55116         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
55117         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
55118         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
55119         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
55120         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
55121         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
55122         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
55123         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
55124         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
55125         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
55126         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
55127         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
55128         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
55129         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
55130         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
55131         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
55132         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
55133         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
55134         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
55135         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
55136         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
55137         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
55138         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
55139         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
55140         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
55141         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
55142         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
55143         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
55144         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
55145         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
55146         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
55147         Reported by Eric Blake.
55148
55149 2008-04-11  Bruno Haible  <bruno@clisp.org>
55150
55151         * lib/wchar.in.h: Tweak comment.
55152
55153 2008-04-11  Bruno Haible  <bruno@clisp.org>
55154
55155         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
55156         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
55157         gl_COMMON.
55158         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
55159
55160 2008-04-11  Bruno Haible  <bruno@clisp.org>
55161
55162         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
55163
55164 2008-04-11  Simon Josefsson  <simon@josefsson.org>
55165
55166         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
55167         of attempting to use non-existing /dev/*random.  Based on patch
55168         from Adam Strzelecki <ono@java.pl> in
55169         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
55170
55171 2008-04-08  Bruno Haible  <bruno@clisp.org>
55172
55173         Add tentative support for emx+gcc.
55174         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
55175         * lib/fpurge.c (fpurge): Likewise.
55176         * lib/freadable.c (freadable): Likewise.
55177         * lib/freadahead.c (freadahead): Likewise.
55178         * lib/freading.c (freading): Likewise.
55179         * lib/freadptr.c (freadptr): Likewise.
55180         * lib/freadseek.c (freadptrinc): Likewise.
55181         * lib/fseeko.c (rpl_fseeko): Likewise.
55182         * lib/fseterr.c (fseterr): Likewise.
55183         * lib/fwritable.c (fwritable): Likewise.
55184         * lib/fwriting.c (fwriting): Likewise.
55185         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
55186
55187 2008-04-09  Eric Blake  <ebb9@byu.net>
55188
55189         Avoid some autoconf warnings.
55190         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
55191         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
55192         * m4/afs.m4 (gl_AFS): Likewise.
55193         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
55194         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
55195         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55196         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
55197         (gl_INTEGER_TYPE_SUFFIX): Likewise.
55198         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
55199         (AC_CHECK_DECLS_ONCE): Likewise.
55200         Rename file...
55201         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
55202         gnulib-tool requires autoconf 2.59 or better.
55203         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
55204
55205 2008-04-08  Eric Blake  <ebb9@byu.net>
55206
55207         Use 'git describe --match' if present (added in git 1.5.5).
55208         * build-aux/git-version-gen: Limit result to tags that match 'v*'
55209         if possible.
55210
55211 2008-04-08  Bruno Haible  <bruno@clisp.org>
55212
55213         Add tentative support for OpenServer.
55214         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
55215         _ptr, _cnt.
55216         * lib/fpurge.c (fpurge): Likewise.
55217         * lib/freadable.c (freadable): Likewise.
55218         * lib/freadahead.c (freadahead): Likewise.
55219         * lib/freading.c (freading): Likewise.
55220         * lib/freadptr.c (freadptr): Likewise.
55221         * lib/freadseek.c (freadptrinc): Likewise.
55222         * lib/fseeko.c (rpl_fseeko): Likewise.
55223         * lib/fseterr.c (fseterr): Likewise.
55224         * lib/fwritable.c (fwritable): Likewise.
55225         * lib/fwriting.c (fwriting): Likewise.
55226         Reported by Roger Cornelius <rac@tenzing.org> and
55227         Brian K. White <brian@aljex.com>.
55228
55229 2008-04-06  Jim Meyering  <meyering@redhat.com>
55230
55231         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
55232
55233 2008-04-06  Bruno Haible  <bruno@clisp.org>
55234
55235         Avoid possible error with non-ASCII bytes in UTF-8 locales.
55236         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
55237         * tests/test-printf-posix.sh: Likewise.
55238         * tests/test-vfprintf-posix.sh: Likewise.
55239         * tests/test-vprintf-posix.sh: Likewise.
55240         * tests/test-xprintf-posix.sh: Likewise.
55241
55242 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55243
55244         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
55245         hide error from 'ls', needed on OS/2.
55246         Report by Elbert Pol <elbert.pol@gmail.com>.
55247
55248 2008-04-04  Eric Blake  <ebb9@byu.net>
55249
55250         Make test-fseeko.c failures meaningful.
55251         * tests/test-fseeko.c: Print line number on failure.
55252         * tests/test-fseek.c: Likewise.
55253         Reported by Nelson H. F. Beebe.
55254
55255         Improve strtod bug detection check.
55256         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
55257         required for Solaris 10.
55258         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
55259
55260 2008-04-04  Bruno Haible  <bruno@clisp.org>
55261
55262         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
55263         by m4/setenv.m4.
55264
55265 2008-04-03  Eric Blake  <ebb9@byu.net>
55266
55267         Ensure sane .version contents.
55268         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
55269         version string.
55270         * build-aux/git-version-gen: Improve documentation.
55271
55272         Make GNU make output nicer.
55273         * top/GNUmakefile [!_have-Makefile]: Add dependency on
55274         MAKECMDGOALS to enforce message for all command line targets.  Set
55275         srcdir for use in maint.mk.
55276
55277         Another maintainer tweak.
55278         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
55279         a target that regenerates version.
55280
55281 2008-04-03  Jim Meyering  <meyering@redhat.com>
55282
55283         vc-list-files: don't cause coreutils "make po-check" failure
55284         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
55285
55286 2008-04-03  Eric Blake  <ebb9@byu.net>
55287
55288         Allow VPATH usage of vc-list-files.
55289         * build-aux/vc-list-files (scriptversion): Add timestamp.
55290         (options): Add --help, --version, -C.
55291         (CVS): Support installed cvsu.
55292
55293 2008-04-02  Bruno Haible  <bruno@clisp.org>
55294
55295         Avoid some "statement with no effect" warnings from gcc.
55296         * tests/test-wctype.c (main): Explicitly ignore unused values.
55297         Reported by Jim Meyering.
55298
55299 2008-04-02  Jim Meyering  <meyering@redhat.com>
55300
55301         Avoid some warnings from "gcc -Wshadow".
55302         * tests/test-frexp.c (exp): Define to a different identifier.
55303         * tests/test-frexpl.c (exp): Likewise.
55304
55305 2008-04-03  Jim Meyering  <meyering@redhat.com>
55306
55307         bootstrap: remove dangling *.[ch] symlinks from lib
55308         * build-aux/bootstrap [dangling symlink removal]: Move find's
55309         -depth option to precede all others, to avoid a warning.
55310         Remove *.[ch] files too, and from "$source_base" (usually lib/).
55311
55312 2008-04-02  Bruno Haible  <bruno@clisp.org>
55313
55314         Avoid some warnings from "gcc -Wshadow".
55315         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
55316         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
55317         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
55318         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
55319         Reported by Jim Meyering.
55320
55321 2008-04-01  Bruno Haible  <bruno@clisp.org>
55322
55323         Fix test to work on IRIX 6.5 with cc.
55324         * tests/test-math.c (numeric_equal): New function.
55325         (main): Use it.
55326
55327 2008-04-01  Bruno Haible  <bruno@clisp.org>
55328
55329         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
55330
55331 2008-04-01  Bruno Haible  <bruno@clisp.org>
55332
55333         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
55334         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55335         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
55336         (Depends-on): Remove math.
55337
55338         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
55339         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55340         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
55341         (Depends-on): Remove math.
55342
55343         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
55344         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55345         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
55346         (Depends-on): Remove math.
55347         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
55348         (Depends-on): Remove math.
55349
55350         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
55351         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55352         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
55353         (Depends-on): Remove math.
55354         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
55355         (Depends-on): Remove math.
55356
55357         * tests/test-round1.c: Include nan.h.
55358         (main): Use NaNd instead of NAN.
55359         * modules/round-tests (Files): Add tests/nan.h.
55360
55361         * tests/test-trunc1.c: Include nan.h.
55362         (main): Use NaNd instead of NAN.
55363         * modules/trunc-tests (Files): Add tests/nan.h.
55364
55365         * tests/test-roundf1.c: Include nan.h.
55366         (main): Use NaNf instead of NAN.
55367         * modules/roundf-tests (Files): Add tests/nan.h.
55368
55369         * tests/test-truncf1.c: Include nan.h.
55370         (main): Use NaNf instead of NAN.
55371         * modules/truncf-tests (Files): Add tests/nan.h.
55372
55373         * tests/test-ceilf1.c: Include nan.h.
55374         (main): Use NaNf instead of NAN.
55375         * modules/ceilf-tests (Files): Add tests/nan.h.
55376
55377         * tests/test-floorf1.c: Include nan.h.
55378         (main): Use NaNf instead of NAN.
55379         * modules/floorf-tests (Files): Add tests/nan.h.
55380
55381         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
55382         (main): Use NaNf instead of NAN.
55383         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
55384
55385         * tests/test-isnand.c: Include nan.h instead of <math.h>.
55386         (main): Use NaNd instead of NAN.
55387         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
55388
55389         * tests/test-frexp.c: Include nan.h.
55390         (main): Use NaNd instead of NAN.
55391         * modules/frexp-tests (Files): Add tests/nan.h.
55392
55393         * lib/isnan.c: Don't include <math.h>.
55394         (FUNC): Don't use NAN macro.
55395         * modules/isnand-nolibm (Depends-on): Remove math.
55396         * modules/isnanf-nolibm (Depends-on): Remove math.
55397         * modules/isnanl (Depends-on): Remove math.
55398         * modules/isnanl-nolibm (Depends-on): Remove math.
55399
55400         * tests/nan.h: New file.
55401
55402 2008-04-01  Eric Blake  <ebb9@byu.net>
55403
55404         Fix typos.
55405         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
55406         values to be the right type.
55407
55408         For now, cater to gnulib strtod inaccuracies.
55409         * tests/test-strtod.c (main): Allow 1-ulp error on expected
55410         fractional results.  While not as nice from a QoI perspective, it
55411         is a quicker patch than correctly implementing decimal to binary
55412         rounding.
55413
55414 2008-03-31  Eric Blake  <ebb9@byu.net>
55415
55416         Guarantee a definition of NAN.
55417         * lib/math.in.h (NAN): Define if missing.
55418         * tests/test-math.c (main): Test it.
55419         * doc/posix-headers/math.texi (math.h): Document this.
55420         * lib/isnan.c (rpl_isnand): Use it.
55421         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
55422         * tests/test-floorf1.c (NaN): Likewise.
55423         * tests/test-frexp.c (NaN): Likewise.
55424         * tests/test-isnand.c (NaN): Likewise.
55425         * tests/test-isnanf.c (NaN): Likewise.
55426         * tests/test-round1.c (NaN): Likewise.
55427         * tests/test-roundf1.c (NaN): Likewise.
55428         * tests/test-snprintf-posix.h (NaN): Likewise.
55429         * tests/test-sprintf-posix.h (NaN): Likewise.
55430         * tests/test-trunc1.c (NaN): Likewise.
55431         * tests/test-truncf1.c (NaN): Likewise.
55432         * tests/test-vasnprintf-posix.c (NaN): Likewise.
55433         * tests/test-vasprintf-posix.c (NaN): Likewise.
55434         * modules/isnand-nolibm (Depends-on): Add math.
55435         * modules/isnanf-nolibm (Depends-on): Likewise.
55436         * modules/isnanl (Depends-on): Likewise.
55437         * modules/isnanl-nolibm (Depends-on): Likewise.
55438         * modules/snprintf-posix-tests (Depends-on): Likewise.
55439         * modules/sprintf-posix-tests (Depends-on): Likewise.
55440         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
55441         * modules/vsprintf-posix-tests (Depends-on): Likewise.
55442         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
55443         * modules/vasprintf-posix-tests (Depends-on): Likewise.
55444
55445 2008-03-31  Bruno Haible  <bruno@clisp.org>
55446
55447         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
55448         * doc/posix-functions/strtod.texi: Likewise.
55449
55450 2008-03-31  Bruno Haible  <bruno@clisp.org>
55451
55452         * tests/test-strtod.c (main): Don't use C99 syntax.
55453
55454 2008-03-31  Bruno Haible  <bruno@clisp.org>
55455
55456         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
55457         Reported by Eric Blake.
55458
55459 2008-03-31  Jim Meyering  <meyering@redhat.com>
55460
55461         Don't compare actual signbit return values.
55462         * tests/test-strtod.c (main): Rather, compare only their
55463         zero/non-zero nature.
55464
55465 2008-03-31  Eric Blake  <ebb9@byu.net>
55466
55467         More strtod documentation.
55468         * doc/posix-functions/strtod.texi (strtod): Interpret more test
55469         failures as distinct bugs.
55470
55471 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55472
55473         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
55474         Problem reported by Erik Benada in
55475         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
55476
55477 2008-03-30  Bruno Haible  <bruno@clisp.org>
55478
55479         * tests/test-strtod.c: Add comments about which assertion fails on which
55480         platform.
55481         * doc/posix-functions/strtod.texi: Add info about many more platforms.
55482
55483 2008-03-30  Eric Blake  <ebb9@byu.net>
55484
55485         Test signbit behavior on zeros.
55486         * tests/test-signbit.c (test_signbitf): Add tests for zero.
55487         (test_signbitd, test_signbitl): Likewise.
55488
55489         More strtod touchups.
55490         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
55491         sign of negative underflow, for now.  Use .5, not .1.
55492         * doc/posix-functions/strtod.texi (strtod): Mention these
55493         limitations.
55494         Reported by Jim Meyering.
55495
55496 2008-03-30  Bruno Haible  <bruno@clisp.org>
55497
55498         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
55499         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
55500
55501 2008-03-30  Bruno Haible  <bruno@clisp.org>
55502
55503         Avoid failure when attempting to return empty iconv results on some
55504         platforms.
55505         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
55506         allocation, don't report ENOMEM when the resulting string is empty.
55507
55508 2008-03-30  Bruno Haible  <bruno@clisp.org>
55509
55510         Fix buffer overrun.
55511         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
55512         Don't consider the width for tmp_length. Check count against tmp_length
55513         before doing the padding. Ensure enough allocation during padding.
55514
55515 2008-03-30  Eric Blake  <ebb9@byu.net>
55516
55517         strtod touchups.
55518         * lib/strtod.c (strtod): Avoid compiler warnings.
55519         Reported by Jim Meyering.
55520
55521 2008-03-30  Bruno Haible  <bruno@clisp.org>
55522
55523         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
55524         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
55525         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
55526         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
55527         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
55528         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
55529         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
55530         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
55531
55532         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
55533         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
55534         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
55535         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
55536         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
55537         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
55538         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
55539         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
55540
55541         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
55542         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
55543         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
55544         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
55545         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
55546         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
55547         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
55548         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
55549
55550         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
55551         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
55552
55553         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
55554         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
55555
55556         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
55557         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
55558
55559         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
55560         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
55561         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
55562
55563         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
55564         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
55565         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
55566
55567         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
55568         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
55569         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
55570
55571         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
55572         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
55573         * modules/vasprintf (Depends-on): Add EOVERFLOW.
55574
55575         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
55576         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
55577         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
55578         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
55579         (Depends-on): Add EOVERFLOW.
55580         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
55581         (Depends-on): Add EOVERFLOW.
55582         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55583         (Depends-on): Add EOVERFLOW.
55584         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55585         (Depends-on): Add EOVERFLOW.
55586         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55587         (Depends-on): Add EOVERFLOW.
55588         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55589         (Depends-on): Add EOVERFLOW.
55590         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55591         (Depends-on): Add EOVERFLOW.
55592         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55593         (Depends-on): Add EOVERFLOW.
55594
55595         * lib/sprintf.c (EOVERFLOW): Remove fallback.
55596         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
55597         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
55598
55599         * lib/snprintf.c (EOVERFLOW): Remove fallback.
55600         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
55601         * modules/snprintf (Depends-on): Add EOVERFLOW.
55602
55603         * lib/poll.c (EOVERFLOW): Remove fallback.
55604         * modules/poll (Depends-on): Add EOVERFLOW.
55605
55606         * lib/getugroups.c (EOVERFLOW): Remove fallback.
55607         * modules/getugroups (Depends-on): Add EOVERFLOW.
55608
55609         * lib/getdelim.c (EOVERFLOW): Remove fallback.
55610         * modules/getdelim (Depends-on): Add EOVERFLOW.
55611
55612         * lib/ftell.c (EOVERFLOW): Remove fallback.
55613         * modules/ftell (Depends-on): Add EOVERFLOW.
55614
55615         * lib/fprintf.c (EOVERFLOW): Remove fallback.
55616         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
55617         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
55618
55619         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
55620
55621         * modules/EOVERFLOW-tests: New file.
55622         * tests/test-EOVERFLOW.c: New file.
55623
55624         * modules/EOVERFLOW: New file.
55625         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
55626
55627 2008-03-30  Bruno Haible  <bruno@clisp.org>
55628
55629         Fix bug introduced on 2007-06-10.
55630         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
55631         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
55632
55633 2008-03-30  Bruno Haible  <bruno@clisp.org>
55634
55635         Improve freadseek's efficiency after ungetc.
55636         * lib/freadseek.c: Include freadahead.h.
55637         (freadptrinc): New function, extracted from freadseek.
55638         (freadseek): Use it in a loop. Use freadahead to determine the number
55639         of loop iterations.
55640         * modules/freadseek (Depends-on): Add freadahead.
55641         (configure.ac): Require AC_C_INLINE.
55642
55643 2008-03-30  Bruno Haible  <bruno@clisp.org>
55644
55645         * lib/freadseek.c (freadseek): Don't ignore the return value of
55646         freadptr.
55647
55648 2008-03-29  Eric Blake  <ebb9@byu.net>
55649
55650         Add hex float support.
55651         * modules/strtod (Depends-on): Add c-ctype.
55652         (Link): Mention POW_LIB.
55653         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
55654         whitespace between 'e' and exponent.
55655         * tests/test-strtod.c (main): Enable hex float tests.
55656         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
55657         now provides.
55658
55659         Document various strtod bugs, with some fixes.
55660         * doc/posix-functions/strtod.texi (strtod): Document bugs with
55661         "-0x", "inf", "nan", and hex constants.
55662         * doc/posix-functions/atof.texi (atof): Likewise.
55663         * modules/stdlib (Makefile.am): Support strtod.
55664         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
55665         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
55666         detect additional strtod bugs.
55667         * lib/stdlib.in.h (rpl_strtod): Add declarations.
55668         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
55669         bool where appropriate.  Parse 'inf' and 'nan'.
55670         * tests/test-strtod.c: New file.
55671         * modules/strtod (Depends-on): Add stdbool, stdlib.
55672         (configure.ac): Turn on module indicator.
55673         * modules/strtod-tests: New module.
55674
55675 2008-03-29  Eric Blake  <ebb9@byu.net>
55676
55677         Fix ftell on mingw.
55678         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55679         * modules/ftell-tests (Depends-on): Add binary-io.
55680         * modules/ftello-tests (Depends-on): Likewise.
55681         * tests/test-ftell.c (main): Enhance test to cover behavior after
55682         ungetc.  Enforce binary mode.
55683         * tests/test-ftello.c (main): Likewise.
55684
55685         Pass test-freadseek on cygwin.
55686         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55687         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55688         ungetc buffer.
55689
55690         * tests/test-fflush2.c (main): Fix typo.
55691
55692 2008-03-29  Bruno Haible  <bruno@clisp.org>
55693
55694         * tests/test-fflush2.c (main): Temporarily disable the contents of
55695         this test.
55696         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55697         Reported by Eric Blake.
55698
55699 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55700
55701         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55702         (GC_SHA224_DIGEST_SIZE): Add.
55703
55704         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55705         (gc_hash_digest_length): Likewise.
55706         (gc_hash_buffer): Likewise.
55707
55708 2008-03-25  Bruno Haible  <bruno@clisp.org>
55709
55710         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55711         detail which gettext release to use.
55712         Reported by Simon Josefsson.
55713
55714 2008-03-26  Jim Meyering  <meyering@redhat.com>
55715
55716         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55717         * modules/gnumakefile (clean-GNUmakefile): Also, use
55718         test ... && ... || : syntax rather than if-then ... fi.
55719
55720         gnumakefile: Don't double-quote-expand $(VPATH) value.
55721         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55722
55723 2008-03-24  Eric Blake  <ebb9@byu.net>
55724
55725         Alter GNUmakefile to install into top directory.
55726         * modules/maintainer-makefile: Split, and add dependency...
55727         * modules/gnumakefile: to this new module.
55728         * build-aux/GNUmakefile: Move...
55729         * top/GNUmakefile: ...here.
55730         * build-aux/maint.mk: Move...
55731         * top/maint.mk: ...here.
55732         * MODULES.html.sh (Support for maintaining...): Document new
55733         module.
55734
55735 2008-03-23  Bruno Haible  <bruno@clisp.org>
55736
55737         * gnulib-tool: New options --vc-files, --no-vc-files.
55738         (func_usage): Document them.
55739         (vc_files): New variable.
55740         (func_import): Consider vc_files.
55741         (func_create_testdir): Set vc_files to empty.
55742         Suggested by Jim Meyering and Karl Berry.
55743
55744 2008-03-23  Bruno Haible  <bruno@clisp.org>
55745
55746         Fix regex compilation error on HP-UX 11.
55747         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55748         * modules/regex (Files): Add m4/mbstate_t.m4.
55749         Reported by Ton Voon <ton.voon@altinity.com>.
55750
55751 2008-03-23  Bruno Haible  <bruno@clisp.org>
55752
55753         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55754
55755 2008-03-23  Eric Blake  <ebb9@byu.net>
55756             Bruno Haible  <bruno@clisp.org>
55757
55758         Install files from top/ in the destination directory.
55759         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55760         augmentation also for the files from top/.
55761         (func_import, func_create_testdir): Rewrite file names:
55762         top/filename -> filename.
55763
55764 2008-03-23  Bruno Haible  <bruno@clisp.org>
55765
55766         Tweak "gnulib --version" output.
55767         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55768
55769 2008-03-23  Bruno Haible  <bruno@clisp.org>
55770
55771         Tweak "gnulib --version" output.
55772         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55773         rather than contents of ChangeLog, when possible.
55774
55775 2008-03-21  Eric Blake  <ebb9@byu.net>
55776
55777         More --version tweaks.
55778         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55779         date of last ChangeLog entry.
55780
55781 2008-03-21  Jim Meyering  <meyering@redhat.com>
55782
55783         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55784
55785 2008-03-20  Eric Blake  <ebb9@byu.net>
55786
55787         VPATH fix.
55788         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55789
55790 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55791
55792         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55793         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55794
55795 2008-03-20  Eric Blake  <ebb9@byu.net>
55796
55797         Sync GNUmakefile with coreutils.
55798         * build-aux/GNUmakefile (have-Makefile): Rename...
55799         (_have-Makefile): ...to this, for namespace consideration.
55800         (GNUmakefile.cfg): Include, if present.
55801         (_autoreconf): Define a default.
55802         (_is-dist-target): New rule for rebuilds to pick up intra-release
55803         version.
55804         (maint-cfg.mk): Rename...
55805         (cfg.mk): ...to this.
55806
55807 2008-03-18  Jim Meyering  <meyering@redhat.com>
55808
55809         New script and module: mktempd
55810         * MODULES.html.sh (maint+release support): Add mktempd.
55811         * build-aux/mktempd: New file.
55812         * modules/mktempd: New file.
55813
55814 2008-03-15  Jim Meyering  <meyering@redhat.com>
55815
55816         Undo last change.
55817         * lib/sha1.c, lib/md5.c: 63 != ~63.
55818         Reported by Andreas Schwab.
55819
55820         sha1.c, md5.c: Hoist a redundant expression.
55821         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
55822         "ctx->buflen" only once, before calling *_process_block.
55823         * lib/md5.c (md5_process_bytes): Likewise.
55824
55825 2008-03-14  Eric Blake  <ebb9@byu.net>
55826
55827         Bump copyright year in files generated by gnulib-tool.
55828         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
55829         gnulib-tool, rather than hard-coding it.
55830
55831         Fix 'gnulib-tool --version' output to work with git.
55832         * gnulib-tool (func_gnulib_dir): New function, extracted from...
55833         (startup): ...here.
55834         (func_version): Use it to invoke git-version-gen, rather than
55835         relying on CVS keyword expansion.  Modernize wording.
55836         (cvsdatestamp, last_checkin_date, version): Kill unused
55837         variables.
55838
55839 2008-03-12  Jim Meyering  <meyering@redhat.com>
55840
55841         Recognize optional cast of the argument to free.
55842         * build-aux/useless-if-before-free: Update regexps.
55843
55844         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55845
55846 2008-03-11  Bruno Haible  <bruno@clisp.org>
55847
55848         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55849         by a single package.
55850         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55851         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55852         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55853         Reported by Sam Steingold <sds@gnu.org>.
55854
55855 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55856
55857         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55858         repositories.
55859
55860 2008-03-11  Bruno Haible  <bruno@clisp.org>
55861
55862         Avoid conflicts between local macro definitions.
55863         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55864         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55865
55866 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55867             Bruno Haible  <bruno@clisp.org>
55868
55869         Make va_copy work with some version of xlc on AIX 5.1.
55870         * lib/stdarg.in.h: New file.
55871         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55872         On AIX, use a <stdarg.h> file substitute.
55873         * modules/stdarg (Files): Add lib/stdarg.in.h.
55874         (Depends-on): Add include_next.
55875         (Makefile.am): Build a stdarg.h substitute if requested.
55876         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55877
55878 2008-03-10  Bruno Haible  <bruno@clisp.org>
55879
55880         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55881         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55882         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55883
55884 2008-03-10  Bruno Haible  <bruno@clisp.org>
55885
55886         * modules/stdlib (Depends-on): Add include_next, remove
55887         absolute-header.
55888
55889 2008-03-09  Bruno Haible  <bruno@clisp.org>
55890
55891         * lib/freadahead.h (freadahead): Document more precisely.
55892         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55893         the sum of both buffer sizes.
55894         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55895         * NEWS: Document the change.
55896
55897 2008-03-09  Bruno Haible  <bruno@clisp.org>
55898
55899         Extend freadptr to return also the buffer size.
55900         * lib/freadptr.h (freadptr): Add sizep argument.
55901         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55902         (freadptr): Add sizep argument. Determine buffer size like freadahead
55903         does.
55904         * tests/test-freadptr.c: Don't include freadahead.h.
55905         (main): Adapt for new calling convention of freadptr.
55906         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55907         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55908         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55909         tests/test-freadptr2.sh.
55910         (Depends): Remove freadahead.
55911         (TESTS): Add test-freadptr2.sh.
55912         (check_PROGRAMS): Add test-freadptr2.
55913
55914 2008-03-09  Bruno Haible  <bruno@clisp.org>
55915
55916         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55917         Report and solution by Simon Josefsson.
55918
55919 2008-03-06  Bruno Haible  <bruno@clisp.org>
55920
55921         Make fflush after ungetc work on BSD platforms.
55922         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55923         * tests/test-fflush2.c: New file.
55924         * tests/test-fflush2.sh: New file.
55925         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55926         tests/test-fflush2.c.
55927         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55928         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55929
55930 2008-03-06  Eric Blake  <ebb9@byu.net>
55931
55932         Likewise for ftello.
55933         * modules/ftello (Dependencies): Add extensions.
55934         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55935
55936 2008-03-06  Bruno Haible  <bruno@clisp.org>
55937
55938         * modules/fseeko (Dependencies): Add extensions.
55939         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55940         Needed on glibc systems.
55941
55942 2008-03-06  Bruno Haible  <bruno@clisp.org>
55943
55944         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55945         email address.
55946         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55947
55948 2008-03-06  Bruno Haible  <bruno@clisp.org>
55949
55950         * users.txt: Add libgnupdf.
55951
55952 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55953
55954         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55955         (Header File Substitutes, Function Substitutes,
55956         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55957         (Build robot for gnulib): Fix typo.
55958
55959 2008-03-06  Bruno Haible  <bruno@clisp.org>
55960
55961         * doc/gnulib-tool.texi (VCS Issues): Small updates.
55962         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55963
55964 2008-03-06  Bruno Haible  <bruno@clisp.org>
55965
55966         * doc/func.texi: New file, extracted from doc/gnulib.texi.
55967         * doc/gnulib.texi: Include it.
55968
55969 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55970
55971         * modules/func (License): Change license to unlimited; there was
55972         no LGPL parts in the module anyway.
55973
55974 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55975
55976         * modules/__func__: Renamed to modules/func.
55977         * modules/__func__-tests: Renamed to modules/func-tests.
55978         * tests/test-__func__.c: Renamed to tests/test-func.c.
55979         * m4/__func__.m4: Renamed to m4/func.m4.
55980         * doc/gnulib.texi (__func__): Section renamed to func.
55981         Suggested by Eric Blake <ebb9@byu.net>.
55982
55983 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55984
55985         * doc/gnulib.texi (__func__): Use C99 terminology when talking
55986         about __func__.  Make example self-contained.  Suggested by Eric
55987         Blake <ebb9@byu.net>.
55988
55989         * tests/test-__func__.c (main): Avoid extraneous () around __func.
55990         Suggested by Eric Blake <ebb9@byu.net>.
55991
55992 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55993
55994         * modules/__func__: New file.
55995         * modules/__func__-tests: New file.
55996         * tests/test-__func__.c: New file.
55997         * m4/__func__.m4: New file.
55998         * doc/gnulib.texi (__func__): Document __func__ module.
55999
56000 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56001
56002         * modules/byteswap (License): Re-license as LGPLv2+.
56003
56004 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56005
56006         * doc/Makefile: Add pdf target.
56007
56008 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56009
56010         * modules/inline (License): Use 'unlimited', since there are only
56011         *.m4 files in this module.
56012
56013 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56014             Bruno Haible  <bruno@clisp.org>
56015
56016         Add support for HP C 7.1 on OpenVMS 8.3.
56017         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
56018
56019 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56020
56021         Update VMS specifics.
56022         * lib/getopt.c [VMS]: Remove include of unixlib.h.
56023
56024 2008-03-02  Jim Meyering  <meyering@redhat.com>
56025
56026         Remove the last dependency on the "free" module.
56027         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
56028         Reported by Bob Proulx.
56029
56030         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
56031
56032         Remove useless "if" tests before free.  Deprecate "free" module.
56033         * doc/posix-functions/free.texi: Mention that this
56034         module is no longer useful.
56035         * modules/free (Notice): Say this module is obsolete.
56036         * modules/readutmp (Depends-on): Remove free.
56037         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
56038         * lib/putenv.c (putenv): Likewise.
56039         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
56040         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
56041         * tests/test-c-strcasestr.c (main): Likewise.
56042         * tests/test-c-strstr.c (main): Likewise.
56043         * tests/test-mbscasestr1.c (main): Likewise.
56044         * tests/test-mbscasestr2.c (main): Likewise.
56045         * tests/test-mbsstr1.c (main): Likewise.
56046         * tests/test-mbsstr2.c (main): Likewise.
56047         * tests/test-memmem.c (main): Likewise.
56048         * tests/test-strcasestr.c (main): Likewise.
56049         * tests/test-striconv.c (main): Likewise.
56050         * tests/test-striconveh.c (main): Likewise.
56051         * tests/test-striconveha.c (main): Likewise.
56052         * tests/test-strstr.c (main): Likewise.
56053
56054         * build-aux/git-version-gen: Adjust a comment and the Usage string.
56055
56056         bootstrap: sync from coreutils again
56057         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
56058
56059 2008-03-01  Jim Meyering  <meyering@redhat.com>
56060
56061         bootstrap: sync from coreutils
56062         * build-aux/bootstrap (update_po_files): Copy a .po file into place
56063         also when the target doesn't exist.
56064
56065 2008-03-01  Eric Blake  <ebb9@byu.net>
56066
56067         Fix bugs in last patch.
56068         * lib/memchr2.c (memchr2): Fix typo.
56069         * tests/test-memchr2.c: Test previous bug, and don't use GNU
56070         extension.
56071         Reported by Bruce Korb.
56072
56073         New module 'memchr2'.
56074         * modules/memchr2: New file.
56075         * modules/memchr2-tests: Likewise.
56076         * lib/memchr2.h: Likewise.
56077         * lib/memchr2.c: Likewise, based on memchr.c.
56078         * tests/test-memchr2.c: New test.
56079         * MODULES.html.sh (String handling): Add memchr2.
56080
56081 2008-02-29  Bruno Haible  <bruno@clisp.org>
56082
56083         * modules/freadseek-tests: New file.
56084         * tests/test-freadseek.sh: New file.
56085         * tests/test-freadseek.c: New file.
56086
56087         New module 'freadseek'.
56088         * modules/freadseek: New file.
56089         * lib/freadseek.h: New file.
56090         * lib/freadseek.c: New file.
56091         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
56092
56093 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
56094
56095         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
56096         wydawca.
56097
56098         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
56099         program_invocation_name and program_invocation_short_name are
56100         present.
56101
56102 2008-02-28  Bruno Haible  <bruno@clisp.org>
56103
56104         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
56105         * tests/test-freadptr.sh: Also test non-seekable stdin.
56106
56107 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
56108
56109         * build-aux/bootstrap (source_base, m4_base)
56110         (doc_base, tests_base): New variables.
56111         (gnulib_tool_options): Do not hardcode base directories, use
56112         the above variables instead.
56113
56114 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
56115
56116         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
56117
56118 2008-02-28  Bruno Haible  <bruno@clisp.org>
56119
56120         * modules/freadptr-tests: New file.
56121         * tests/test-freadptr.sh: New file.
56122         * tests/test-freadptr.c: New file.
56123
56124         New module 'freadptr'.
56125         * modules/freadptr: New file.
56126         * lib/freadptr.h: New file.
56127         * lib/freadptr.c: New file.
56128         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
56129
56130 2008-02-26  Karl Berry  <karl@freefriends.org>
56131
56132         Sync from Libtool:
56133         * libltdl/argz.c (argz_add, argz_count): New functions.
56134         * libltdl/argz.in.h: Declare them.
56135         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
56136
56137 2008-02-22  Bruno Haible  <bruno@clisp.org>
56138
56139         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
56140         is a pointer type.  Needed for HP-UX 10.
56141         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
56142         * doc/posix-functions/gmtime_r.texi: Likewise.
56143         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56144
56145 2008-02-24  Bruno Haible  <bruno@clisp.org>
56146
56147         * modules/environ-tests: New file.
56148         * tests/test-environ.c: New file.
56149
56150         New module 'environ'.
56151         * modules/environ: New file.
56152         * lib/unistd.in.h (environ): New declaration.
56153         * m4/environ.m4: New file.
56154         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
56155         after use.
56156         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
56157         HAVE_DECL_ENVIRON.
56158         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
56159         HAVE_DECL_ENVIRON.
56160         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
56161         wrong claim that 'environ' is missing on some systems.
56162         * modules/execute (Depends-on): Add environ.
56163         * lib/execute.c (environ): Remove fallback declaration.
56164         * modules/pipe (Depends-on): Add environ.
56165         * lib/pipe.c (environ): Remove fallback declaration.
56166         * modules/setenv (Depends-on): Add environ.
56167         * lib/setenv.c (environ): Remove fallback declaration.
56168         * modules/unsetenv (Depends-on): Add environ.
56169         * lib/unsetenv.c (environ): Remove fallback declaration.
56170         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
56171         m4/environ.m4.
56172         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
56173         (gl_PREREQ_UNSETENV): Likewise.
56174
56175 2008-02-24  Bruno Haible  <bruno@clisp.org>
56176
56177         * doc/posix-functions/environ.texi: Document the MacOS X problem.
56178
56179 2008-02-20  Bob Proulx  <bob@proulx.com>
56180
56181         Enable use of older two part flavor 'git describe'.
56182         * build-aux/git-version-gen: If using the older two part flavor of
56183         git version then recreate the third part now present in the
56184         newer three part flavor of git describe.
56185
56186 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
56187
56188         * lib/fts.c (fts_build): Typo correction to comment.
56189
56190 2008-02-17  Bruno Haible  <bruno@clisp.org>
56191
56192         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
56193         generating no-op conflicts.
56194
56195 2008-02-17  Bruno Haible  <bruno@clisp.org>
56196
56197         Speed up by 10%.
56198         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
56199         result_entries, rather than an index-based loop.
56200
56201 2008-02-17  Bruno Haible  <bruno@clisp.org>
56202
56203         Speed up by 25%.
56204         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
56205         'hashcode_cached'.
56206         (entry_create): New function.
56207         (entry_hashcode): Use the cached hashcode if possible.
56208         (read_changelog_file, try_split_merged_entry): Use entry_create.
56209
56210 2008-02-17  Bruno Haible  <bruno@clisp.org>
56211
56212         Speed up from O(n^2) to O(n) for long ChangeLog files.
56213         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
56214         (read_changelog_file): Change implementation of entries_reversed list
56215         to rbtreehash.
56216         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
56217
56218 2008-02-17  Bruno Haible  <bruno@clisp.org>
56219
56220         New option --split-merged-entry.
56221         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
56222         (find_paragraph_end, try_split_merged_entry): New functions.
56223         (long_options): Add option --split-merged-entry.
56224         (usage): Document option --split-merged-entry.
56225         (main): Implement option --split-merged-entry.
56226         Reported by Eric Blake.
56227
56228 2008-02-17  Bruno Haible  <bruno@clisp.org>
56229
56230         * lib/git-merge-changelog.c: Include c-strstr.h.
56231         (main): Support the "git pull --rebase" situation.
56232         * modules/git-merge-changelog (Depends-on): Add c-strstr.
56233         Reported by Eric Blake.
56234
56235 2008-02-16  Eric Blake  <ebb9@byu.net>
56236
56237         Avoid doubling \ in common case of "c-maybe" quoting style.
56238         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
56239         eliding outer quotes.
56240         * lib/quotearg.h: Document this.
56241         * tests/test-quotearg.c (result_strings, inputs, results_g)
56242         (flag_results, locale_results): Test it by adding a new string to
56243         each test group.
56244         (compare_strings): Test new string.
56245
56246 2008-02-13  Eric Blake  <ebb9@byu.net>
56247
56248         Avoid trigraph quoting in default output.
56249         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
56250         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
56251         unless explicitly requested.
56252         * tests/test-quotearg.c (flag_results, main): Add additional tests.
56253
56254 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
56255
56256         Don't rely on signed integer overflowing to negative value.
56257         * lib/getugroups.c (getugroups): Include <limits.h>.
56258         Instead, compare against INT_MAX, and increment only if the test passes.
56259
56260 2008-02-13  Jim Meyering  <meyering@redhat.com>
56261         and Eric Blake  <ebb9@byu.net>
56262
56263         Avoid shadowing warning and compile errors on Linux.
56264         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
56265         forwarding macros on Linux.
56266         (dcgettext): Define a stub, for Linux.
56267         (results_g, main): Avoid warnings.
56268
56269 2008-02-12  Eric Blake  <ebb9@byu.net>
56270
56271         Silence warning in last patch.
56272         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
56273
56274         Quotearg part 4: add tests, fix c-maybe colon quoting.
56275         * lib/quotearg.h: Improve documentation.
56276         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
56277         escapes when adding outer quotes.  When quoting trigraphs, use
56278         valid C notation.  When quoting NUL, omit extra characters if next
56279         character is not digit.  Alter prototype.
56280         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
56281         callers.
56282         * modules/quotearg-tests: New module.
56283         * tests/test-quotearg.c: New test.
56284
56285 2008-02-07  Eric Blake  <ebb9@byu.net>
56286
56287         Quotearg part 3: add flag to control outer quote elision.
56288         * lib/quotearg.h (c_maybe_quoting_style): New style.
56289         (enum quoting_flags): Better documentation of flags.
56290         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
56291         c-maybe style.
56292         (quotearg_buffer_restyled): Handle new flag to elide outer
56293         quotes.
56294
56295         Quotearg part 2: add flag that can control NUL elision.
56296         * lib/quotearg.h (set_quoting_flags): New prototype.
56297         * lib/quotearg.c (struct quoting_options): Add flag field.
56298         (set_quoting_flags): New function.
56299         (quotearg_buffer_restyled): Add flags parameter.
56300         (quotearg_alloc_mem): Set the flag if length cannot be returned.
56301         (quotearg_n_options): Set the flag, since length cannot be
56302         returned.
56303         (quoting_options_from_style): Default flags correctly.
56304
56305         Quotearg part 1: more wrappers, restore quotearg_char state.
56306         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
56307         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
56308         (quotearg_colon_mem): New wrappers.
56309         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
56310         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
56311         functions.
56312         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
56313         (quotearg_colon_mem): New functions.
56314
56315 2008-02-11  Bruno Haible  <bruno@clisp.org>
56316
56317         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
56318         library in the current directory: it does not work with parallel make.
56319         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56320
56321 2008-02-11  Bruno Haible  <bruno@clisp.org>
56322
56323         * .gitattributes: New file.
56324
56325 2008-02-11  Jim Meyering  <meyering@redhat.com>
56326
56327         useless-if-before-free: Fix reversed exit values.
56328         * build-aux/useless-if-before-free: Use correct values
56329         for EXIT_MATCH and EXIT_NO_MATCH.
56330
56331         * build-aux/useless-if-before-free: Close stdout carefully.
56332
56333 2008-02-10  Bruno Haible  <bruno@clisp.org>
56334
56335         New module 'git-merge-changelog'.
56336         * modules/git-merge-changelog: New file.
56337         * lib/git-merge-changelog.c: New file.
56338
56339 2008-02-10  Jim Meyering  <meyering@redhat.com>
56340
56341         useless-if-before-free: New option: --list (-l).
56342
56343         useless-if-before-free: Don't exit immediately upon open failure.
56344         * build-aux/useless-if-before-free: Exit 2 for errors.
56345         Upon failure to open a file, don't exit immediately.
56346         Rather, just warn and continue with any remaining files.
56347
56348 2008-02-10  Bruno Haible  <bruno@clisp.org>
56349
56350         New abstract list operation 'node_set_value'.
56351         * lib/gl_list.h (gl_list_node_set_value): New function.
56352         (struct gl_list_implementation): New field node_set_value.
56353         * lib/gl_list.c (gl_list_node_set_value): New function.
56354         * lib/gl_array_list.c (gl_array_node_set_value): New function.
56355         (gl_array_list_implementation): Update.
56356         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
56357         (gl_carray_list_implementation): Update.
56358         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
56359         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56360         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56361         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
56362         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56363         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56364         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56365         Update.
56366         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56367         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
56368         (gl_sublist_list_implementation): Update.
56369
56370 2008-02-10  Bruno Haible  <bruno@clisp.org>
56371
56372         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
56373         Needed when ELEMENT is #defined to 'some_type *'.
56374
56375 2008-02-10  Jim Meyering  <meyering@redhat.com>
56376
56377         New script and module: useless-if-before-free
56378         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
56379         * build-aux/useless-if-before-free: New file.
56380         * modules/useless-if-before-free: New file.
56381
56382         * build-aux/gitlog-to-changelog: Use committer date, not author date.
56383
56384         xstrtol_error: Fix typo.
56385         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
56386         s/exit_failure/exit_status/.
56387
56388 2008-02-09  Jim Meyering  <meyering@redhat.com>
56389
56390         New script and module: gitlog-to-changelog
56391         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
56392         * modules/gitlog-to-changelog: New file.
56393         * build-aux/gitlog-to-changelog: New file.
56394
56395 2008-02-08  Jim Meyering  <meyering@redhat.com>
56396
56397         Avoid two "parameter unused" warnings.
56398         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
56399         Mark "st" as used.
56400
56401         Use "git COMMAND", not "git-COMMAND".
56402         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
56403         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
56404         * build-aux/git-version-gen: Use "git status", not "git-status".
56405
56406 2008-02-07  Bruno Haible  <bruno@clisp.org>
56407
56408         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
56409         Avoids a crash on Windows Vista.
56410         Reported by Adam Strzelecki <ono@java.pl> via
56411         Simon Josefsson <simon@josefsson.org>.
56412
56413 2008-02-06  Bruno Haible  <bruno@clisp.org>
56414
56415         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
56416         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
56417         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
56418         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
56419         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56420         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56421         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
56422         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
56423         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56424         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56425         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56426         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56427         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56428         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56429         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56430         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
56431         left-adjust flag.
56432         * tests/test-snprintf-posix.h (test_function): Likewise.
56433         * tests/test-sprintf-posix.h (test_function): Likewise.
56434         * tests/test-vasprintf-posix.c (test_function): Likewise.
56435         * doc/posix-functions/fprintf.texi: Update.
56436         * doc/posix-functions/printf.texi: Update.
56437         * doc/posix-functions/snprintf.texi: Update.
56438         * doc/posix-functions/sprintf.texi: Update.
56439         * doc/posix-functions/vfprintf.texi: Update.
56440         * doc/posix-functions/vprintf.texi: Update.
56441         * doc/posix-functions/vsnprintf.texi: Update.
56442         * doc/posix-functions/vsprintf.texi: Update.
56443         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56444
56445 2008-02-06  Bruno Haible  <bruno@clisp.org>
56446
56447         Fix bug introduced on 2008-01-26.
56448         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
56449
56450 2008-02-06  Bruno Haible  <bruno@clisp.org>
56451
56452         Fix bug introduced on 2007-06-10.
56453         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
56454         !NEED_PRINTF_FLAG_ZERO.
56455
56456 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
56457
56458         getloadavg: use libperfstat on AIX5
56459         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
56460
56461 2008-02-03  Bruno Haible  <bruno@clisp.org>
56462
56463         * lib/diffseq.h: Add comments about required #includes.
56464         Reported by Michael Biggs <gnulib@doubleplum.net>.
56465
56466 2008-02-01  Bruno Haible  <bruno@clisp.org>
56467
56468         * users.txt: Add gnuit.
56469
56470 2008-01-31  Bruno Haible  <bruno@clisp.org>
56471
56472         * lib/md4.c (set_uint32): Mark as inline.
56473         * lib/md5.c (set_uint32): Likewise.
56474         * lib/sha1.c (set_uint32): Likewise.
56475         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
56476         * m4/md5.m4 (gl_MD5): Likewise.
56477         * m4/sha1.m4 (gl_SHA1): Likewise.
56478
56479 2008-01-31  Jim Meyering  <meyering@redhat.com>
56480
56481         Use "sizeof VAR", rather than a literal "4".
56482         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
56483         * lib/md4.c (md4_read_ctx): Likewise.
56484         * lib/sha1.c (sha1_read_ctx): Likewise.
56485
56486 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56487
56488         * tests/test-sha1.c: New file, based on test-md5.c.
56489
56490         * modules/crypto/sha1-tests: New file.
56491
56492 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56493
56494         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
56495
56496 2008-01-31  Jim Meyering  <meyering@redhat.com>
56497
56498         Prefer "sizeof v" over the equivalent "4".
56499         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
56500         * lib/md5.c (set_uint32): Likewise.
56501         * lib/sha1.c (set_uint32): Likewise.
56502
56503 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56504
56505         * lib/sha1.c (set_uint32): Mark function as static.
56506
56507 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56508
56509         md2: clarify comments to say that alignment is not required.
56510         * lib/md2.h: Remove warning about alignment in comment.
56511         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
56512         never been required.
56513
56514 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56515
56516         md4: adapt alignment constraint fix from sha1.
56517         * lib/md4.c (set_uint32): New function, from sha1.c
56518         (md4_read_ctx): Use it.
56519         (md4_finish_ctx): Doc fix.
56520         * lib/md4.h: Doc fix.
56521
56522 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56523
56524         md5: adapt alignment constraint fix from sha1.
56525         * lib/md5.c (set_uint32): New function, from sha1.c
56526         (md5_read_ctx): Use it.
56527         (md5_finish_ctx): Doc fix.
56528         * lib/md5.h: Doc fix.
56529
56530 2008-01-30  Peter Palfrader  <weasel@debian.org>
56531
56532         sha1: remove the result buffer alignment constraint
56533         * lib/sha1.c (set_uint32): New function.
56534         (sha1_read_ctx): Rewrite to remove the result buffer alignment
56535         constraint.
56536         (sha1_finish_ctx): Remove comment warning about alignment constraint.
56537         * lib/sha1.h: Likewise.
56538
56539 2008-01-30  Andreas Schwab  <schwab@suse.de>
56540             Bruno Haible  <bruno@clisp.org>
56541
56542         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
56543         correct definition of LDBL_MIN_EXP.
56544
56545 2008-01-30  Karl Berry  <karl@gnu.org>
56546
56547         * config/srclist-update: try to preserve x bit on updates.
56548         * config/srclistvars.sh: update for karl.
56549
56550 2008-01-29  Jim Meyering  <meyering@redhat.com>
56551
56552         vasnprintf.c: Avoid warning about unused label
56553         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
56554         "overflow" label definition and associated code with the
56555         same cpp condition that guards the sole use of that label.
56556
56557 2008-01-26  Bruno Haible  <bruno@clisp.org>
56558
56559         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
56560         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
56561         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
56562         * lib/isnanl-nolibm.h (isnanl): Likewise.
56563         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56564
56565 2008-01-26  Bruno Haible  <bruno@clisp.org>
56566
56567         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
56568         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
56569
56570 2008-01-26  Bruno Haible  <bruno@clisp.org>
56571
56572         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
56573         GCC >= 4.0 built-in.
56574         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
56575
56576 2008-01-26  Bruno Haible  <bruno@clisp.org>
56577
56578         Rename isnan, applicable to 'double' only, to isnand.
56579         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
56580         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
56581         (configure.ac): Update.
56582         (Include): Replace "isnan.h" with "isnand.h".
56583         * m4/isnand.m4: Renamed from m4/isnan.m4.
56584         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
56585         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
56586         instead of isnan.c.
56587         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
56588         instead of HAVE_ISNAN_IN_LIBC.
56589         (isnand): Renamed from isnan.
56590         * lib/isnand.c: New file.
56591         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
56592         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
56593         (Makefile.am): Update.
56594         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
56595         Include isnand.h instead of isnan.h.
56596         (main): Test isnand instead of isnan.
56597         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
56598         isnan-nolibm.
56599         * modules/frexp (Depends-on): Likewise.
56600         * modules/frexp-tests (Depends-on): Likewise.
56601         * modules/frexp-nolibm (Depends-on): Likewise.
56602         * modules/frexp-nolibm-tests (Depends-on): Likewise.
56603         * modules/isfinite (Depends-on): Likewise.
56604         * modules/round-tests (Depends-on): Likewise.
56605         * modules/signbit (Depends-on): Likewise.
56606         * modules/signbit-tests (Depends-on): Likewise.
56607         * modules/snprintf-posix (Depends-on): Likewise.
56608         * modules/sprintf-posix (Depends-on): Likewise.
56609         * modules/trunc-tests (Depends-on): Likewise.
56610         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56611         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56612         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56613         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56614         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56615         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56616         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56617         * modules/vasnprintf-posix (Depends-on): Likewise.
56618         * modules/vasprintf-posix (Depends-on): Likewise.
56619         * modules/vfprintf-posix (Depends-on): Likewise.
56620         * modules/vsnprintf-posix (Depends-on): Likewise.
56621         * modules/vsprintf-posix (Depends-on): Likewise.
56622         * lib/frexp.c: Include isnand.h instead of isnan.h.
56623         (ISNAN): Set to isnand instead of isnan.
56624         * lib/isfinite.c: Include isnand.h instead of isnan.h.
56625         (gl_isfinited): Use isnand instead of isnan.
56626         * lib/signbitd.c: Include isnand.h instead of isnan.h.
56627         (gl_signbitd): Use isnand instead of isnan.
56628         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
56629         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
56630         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
56631         (main): Use isnand instead of isnan.
56632         * tests/test-round1.c: Include isnand.h.
56633         (main): Use isnand instead of isnan.
56634         * tests/test-round2.c: Include isnand.h instead of isnan.h.
56635         (ISNAN): Set to isnand instead of isnan.
56636         * tests/test-trunc1.c: Include isnand.h.
56637         (main): Use isnand instead of isnan.
56638         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
56639         (equal): Use isnand instead of isnan.
56640         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
56641         isnand-nolibm.
56642         * NEWS: Mention the change.
56643
56644 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56645             Bruno Haible  <bruno@clisp.org>
56646
56647         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
56648         the GCC builtins for signbits are present and set
56649         REPLACE_SIGNBIT_USING_GCC if so.
56650         * lib/math.in.h (signbit): Define using GCC builtins if
56651         REPLACE_SIGNBIT_USING_GCC is set.
56652         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
56653         REPLACE_SIGNBIT_USING_GCC.
56654         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
56655
56656 2008-01-25  Jim Meyering  <meyering@redhat.com>
56657
56658         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
56659         * lib/poll.c: Include <config.h>, not "config.h".
56660         * tests/test-getaddrinfo.c: Likewise.
56661
56662 2008-01-25  Simon Josefsson  <simon@josefsson.org>
56663
56664         * modules/sockets-tests: New file.
56665
56666 2008-01-24  Simon Josefsson  <simon@josefsson.org>
56667
56668         * modules/sockets: New module, can be used to call WSA_Startup and
56669         WSA_Cleanup when needed.
56670
56671         * lib/sockets.h, lib/sockets.c: New files.
56672
56673         * m4/sockets.m4: New file.
56674
56675         * tests/test-sockets.c: New file.
56676
56677 2008-01-19  Bruno Haible  <bruno@clisp.org>
56678
56679         * doc/posix-headers: Renamed from doc/headers.
56680         * doc/posix-functions: Renamed from doc/functions.
56681         * doc/gnulib.texi: Update.
56682
56683 2008-01-19  Bruno Haible  <bruno@clisp.org>
56684
56685         * doc/glibc-functions/strcasestr.texi: Include contents of
56686         doc/functions/strcasestr.texi, fixing the list of platforms.
56687         * doc/functions/strcasestr.texi: Remove file.
56688
56689 2008-01-19  Bruno Haible  <bruno@clisp.org>
56690
56691         * doc/glibc-functions/memmem.texi: Include contents of
56692         doc/functions/memmem.texi.
56693         * doc/functions/memmem.texi: Remove file.
56694
56695 2008-01-18  Bruno Haible  <bruno@clisp.org>
56696
56697         * doc/glibc-functions/*.texi: New files.
56698         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56699         to use the new files.
56700
56701 2008-01-17  Bruno Haible  <bruno@clisp.org>
56702
56703         * tests/test-gethostname.c (main): Fix printf statement.
56704
56705 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56706
56707         * modules/gethostname-tests: New file.
56708
56709         * tests/test-gethostname.c: New file.
56710
56711 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56712
56713         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56714         used by the UNAME case.  Reported by Bruno Haible
56715         <bruno@clisp.org>.
56716
56717 2008-01-17  Eric Blake  <ebb9@byu.net>
56718
56719         Convert c-strcasestr to be more efficient.
56720         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56721         (Depends-on): Add c-strcase, remove malloca, strnlen.
56722         * tests/test-c-strcasestr.c (main): Enhance test.
56723         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56724
56725 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56726
56727         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56728         Use it in creating po/Makevars.
56729
56730 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56731
56732         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56733         Applications that requires it should initialize libgcrypt
56734         manually.
56735
56736 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56737
56738         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56739
56740 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56741
56742         Fix problem with getdate on mingw32 reported by Simon Josefsson
56743         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56744         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56745         tzname", when deciding whether to declare tzname.
56746         * lib/strftime.c (tzname): Likewise.
56747
56748 2008-01-15  Bruno Haible  <bruno@clisp.org>
56749
56750         Work around a MacOS X 10.5 bug in frexpl().
56751         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56752         * doc/functions/frexpl.texi: Document the bug.
56753         Reported by Elias Pipping <pipping@gentoo.org>.
56754
56755 2008-01-14  Eric Blake  <ebb9@byu.net>
56756
56757         Touch up previous patch.
56758         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56759         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56760
56761         Convert strcasestr module to use Two-Way algorithm.
56762         * modules/strcasestr-simple: New module, based on the old
56763         strcasestr, but with Two-Way rather than KMP.
56764         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56765         * lib/string.in.h (rpl_strcasestr): Declare.
56766         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56767         performance.
56768         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56769         * modules/string (Makefile.am): Support strcasestr.
56770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56771         * modules/strcasestr-tests (Depends-on): Check for alarm.
56772         * tests/test-strcasestr.c: Augment test.
56773         * lib/str-two-way.h: Clean up stray macro.
56774         * NEWS: Document new module.
56775         * MODULES.html.sh (string handling): Likewise.
56776         * doc/functions/strcasestr.texi: New file.
56777         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56778         here, since it is not a POSIX function.
56779
56780 2008-01-14  Colin Watson  <cjwatson@debian.org>
56781             Bruno Haible  <bruno@clisp.org>
56782
56783         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56784         works fine; if not, set REPLACE_STRSIGNAL.
56785         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56786         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56787         REPLACE_STRSIGNAL.
56788         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56789         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56790         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56791
56792 2008-01-14  Bruno Haible  <bruno@clisp.org>
56793
56794         * modules/strsignal (Include): Change to <string.h>.
56795
56796 2008-01-14  Colin Watson  <cjwatson@debian.org>
56797
56798         * modules/argp (Notice): Add a notice recommending to change
56799         XGETTEXT_OPTIONS.
56800         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56801
56802 2008-01-13  Colin Watson  <cjwatson@debian.org>
56803
56804         * modules/strsignal-tests: New file.
56805         * tests/test-strsignal.c: New file.
56806
56807         * lib/strsignal.c: New file, from glibc with modifications.
56808         * lib/siglist.h: New file, from glibc with modifications.
56809         * lib/string.in.h (strsignal): New declaration.
56810         * m4/strsignal.m4: New file.
56811         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56812         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56813         * modules/strsignal: New file.
56814         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56815         HAVE_DECL_STRSIGNAL.
56816
56817 2008-01-13  Bruno Haible  <bruno@clisp.org>
56818
56819         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
56820         locale encoding is not ASCII. Needed for OpenBSD 4.0.
56821         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56822         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56823
56824 2008-01-13  Bruno Haible  <bruno@clisp.org>
56825
56826         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
56827         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
56828         * lib/argp.h (__attribute__): Likewise.
56829         * lib/c-stack.c (__attribute__): Likewise.
56830         * lib/error.h (__attribute__): Likewise.
56831         * lib/fts.c (__attribute__): Likewise.
56832         * lib/openat.h (__attribute__): Likewise.
56833         * lib/stdio.in.h (__attribute__): Likewise.
56834         * lib/string.in.h (__attribute__): Likewise.
56835         * lib/utimens.c (__attribute__): Likewise.
56836         * lib/vasnprintf.h (__attribute__): Likewise.
56837         * lib/xalloc.h (__attribute__): Likewise.
56838         * lib/xprintf.h (__attribute__): Likewise.
56839         * lib/xstrtol.h (__attribute__): Likewise.
56840         * lib/xvasprintf.h (__attribute__): Likewise.
56841
56842 2008-01-12  Bruno Haible  <bruno@clisp.org>
56843
56844         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56845         * doc/glibc-headers/a.out.texi: New file.
56846         * doc/glibc-headers/aliases.texi: New file.
56847         * doc/glibc-headers/alloca.texi: New file.
56848         * doc/glibc-headers/ar.texi: New file.
56849         * doc/glibc-headers/argp.texi: New file.
56850         * doc/glibc-headers/argz.texi: New file.
56851         * doc/glibc-headers/byteswap.texi: New file.
56852         * doc/glibc-headers/crypt.texi: New file.
56853         * doc/glibc-headers/endian.texi: New file.
56854         * doc/glibc-headers/envz.texi: New file.
56855         * doc/glibc-headers/err.texi: New file.
56856         * doc/glibc-headers/error.texi: New file.
56857         * doc/glibc-headers/execinfo.texi: New file.
56858         * doc/glibc-headers/fpu_control.texi: New file.
56859         * doc/glibc-headers/fstab.texi: New file.
56860         * doc/glibc-headers/fts.texi: New file.
56861         * doc/glibc-headers/getopt.texi: New file.
56862         * doc/glibc-headers/ieee754.texi: New file.
56863         * doc/glibc-headers/ifaddrs.texi: New file.
56864         * doc/glibc-headers/libintl.texi: New file.
56865         * doc/glibc-headers/mcheck.texi: New file.
56866         * doc/glibc-headers/mntent.texi: New file.
56867         * doc/glibc-headers/obstack.texi: New file.
56868         * doc/glibc-headers/paths.texi: New file.
56869         * doc/glibc-headers/printf.texi: New file.
56870         * doc/glibc-headers/pty.texi: New file.
56871         * doc/glibc-headers/resolv.texi: New file.
56872         * doc/glibc-headers/shadow.texi: New file.
56873         * doc/glibc-headers/sysexits.texi: New file.
56874         * doc/glibc-headers/ttyent.texi: New file.
56875
56876 2008-01-12  Jim Meyering  <meyering@redhat.com>
56877
56878         announce-gen: emit Gnulib's git-based version string.
56879         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56880         New option --gnulib-version=V, where V is expected to be
56881         the output of running git describe in the gnulib directory.
56882         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56883         not useful, and plan to stop publishing an xdelta file with each
56884         coreutils release.
56885
56886         * build-aux/announce-gen: Also check for lzma-compressed files.
56887
56888 2008-01-11  Bruno Haible  <bruno@clisp.org>
56889
56890         * tests/test-memmem.c (main): Increase maximum allowed time.
56891         * tests/test-strstr.c (main): Likewise.
56892
56893 2008-01-11  Bruno Haible  <bruno@clisp.org>
56894
56895         * doc/functions/memmem.texi: Add more precisions about platforms.
56896         * doc/functions/strstr.texi: Likewise.
56897
56898 2008-01-10  Eric Blake  <ebb9@byu.net>
56899
56900         * m4/strstr.m4: Delete cruft from copy-n-paste.
56901         Reported by Bruno Haible.
56902
56903 2008-01-10  Bruno Haible  <bruno@clisp.org>
56904
56905         Make c-strstr rely on strstr.
56906         * lib/c-strstr.c: Don't include str-kmp.h.
56907         (c_strstr): Define in terms of strstr.
56908         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56909         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56910
56911 2008-01-10  Bruno Haible  <bruno@clisp.org>
56912
56913         * doc/gnulib.texi (String Functions in C Locale): New section.
56914         * doc/c-ctype.texi: New file.
56915         * doc/c-strcase.texi: New file.
56916         * doc/c-strcaseeq.texi: New file.
56917         * doc/c-strcasestr.texi: New file.
56918         * doc/c-strstr.texi: New file.
56919         * doc/c-strtod.texi: New file.
56920         * doc/c-strtold.texi: New file.
56921
56922 2008-01-10  Eric Blake  <ebb9@byu.net>
56923
56924         * lib/relocatable.h: Fix a comment.
56925
56926 2008-01-10  Eric Blake  <ebb9@byu.net>
56927
56928         Share two-way algorithm.
56929         * lib/str-two-way.h: New file, merged from...
56930         * lib/memmem.c: ...here...
56931         * lib/strstr.c: ...and here.
56932         * modules/memmem (Files): Use it.
56933         * modules/strstr (Files): Likewise.
56934
56935         Avoid quadratic strstr implementations.
56936         * lib/strstr.c: New file.
56937         * m4/strstr.m4: Likewise.
56938         * modules/strstr: Likewise.
56939         * modules/strstr-tests: Likewise.
56940         * tests/test-strstr.c: Likewise.
56941         * lib/string.in.h (rpl_strstr): Declare.
56942         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56943         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56944         * modules/string (Makefile.am): Likewise.
56945         * MODULES.html.sh (string handling): Mention new module.
56946         * doc/functions/strstr.texi (strstr): Document the bug.
56947
56948 2008-01-10  Bruno Haible  <bruno@clisp.org>
56949
56950         * lib/relocatable.h (relocate): State whether result is freshly
56951         allocated or not.
56952         * lib/relocatable.c (relocate): Return a freshly allocated string
56953         instead of a pointer to a privately held string.
56954         Reported by Sylvain Beucler <beuc@gnu.org>.
56955
56956 2008-01-10  Colin Watson  <cjwatson@debian.org>
56957
56958         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
56959         s/S_ISNLK/S_ISLNK/.
56960
56961 2008-01-09  Bruno Haible  <bruno@clisp.org>
56962
56963         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
56964         and other files.
56965         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
56966         if it's only a guess.
56967         * modules/memmem: Simplify by depending on memmem-simple.
56968
56969 2008-01-09  Bruno Haible  <bruno@clisp.org>
56970
56971         Work around OpenBSD 4.0 tdelete() bug.
56972         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
56973         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
56974         macros and don't redefine the enum values.
56975         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
56976         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
56977         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
56978
56979 2008-01-09  Bruno Haible  <bruno@clisp.org>
56980
56981         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
56982         (main): Don't perform the tests if setlocale did not install a UTF-8
56983         locale. Needed on OpenBSD 4.0.
56984         * modules/wcwidth-tests (Depends-on): Add localcharset.
56985
56986 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56987
56988         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
56989         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
56990         * NEWS: announce this.
56991         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
56992
56993 2008-01-09  Simon Josefsson  <simon@josefsson.org>
56994         and Eric Blake  <ebb9@byu.net>
56995
56996         Add memmem-simple module.
56997         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
56998         (gl_FUNC_MEMMEM): Separate performance from presence checks.
56999         * modules/memmem-simple: New file.
57000         * modules/memmem (Description): Tweak.
57001         * MODULES.html.sh (string handling): Mention new module.
57002         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
57003         addressed by memmem-simple.
57004         * NEWS: Document the difference.
57005
57006 2008-01-09  Eric Blake  <ebb9@byu.net>
57007
57008         Give gcc some memmem optimization hints.
57009         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
57010         (strcasestr): Declare as pure.
57011         * modules/memmem (Maintainer): Claim my implementation.
57012
57013 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57014
57015         Support AIX 6.1 and higher.
57016         * build-aux/config.libpath: Likewise.
57017         * build-aux/config.rpath: Likewise.
57018
57019 2008-01-08  Jim Meyering  <meyering@redhat.com>
57020             Bruno Haible  <bruno@clisp.org>
57021
57022         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
57023         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
57024         Reported by Peter Fales in
57025         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
57026
57027 2008-01-08  Bruno Haible  <bruno@clisp.org>
57028
57029         * modules/unictype/category-of (Depends-on): Add
57030         unictype/category-none.
57031         * modules/unictype/category-and-tests (Depends-on): Add
57032         unictype/category-{L,N,Lu,Nd}.
57033         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
57034         * modules/unictype/category-or-tests (Depends-on): Add
57035         unictype/category-{L,N}.
57036         * modules/unictype/category-name-tests (Depends-on): Add
57037         unictype/category-{Z,Nl}.
57038         Reported by Simon Josefsson.
57039
57040 2008-01-08  Bruno Haible  <bruno@clisp.org>
57041
57042         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
57043         convention better.
57044         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
57045         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
57046         Reported by Peter Miller <millerp@canb.auug.org.au>.
57047
57048 2008-01-08  Eric Blake  <ebb9@byu.net>
57049
57050         Rewrite memmem to guarantee linear complexity without malloc.
57051         * lib/memmem.c (memmem): Use Two-Way rather than
57052         Knuth-Morris-Pratt, to allow O(1) space usage.
57053         (critical_factorization, two_way_short_needle)
57054         (two_way_long_needle): New functions.
57055         (knuth_morris_pratt): Delete.
57056         * modules/memmem (Depends-on): No longer need malloca or stdbool.
57057         Add stdint.
57058         * tests/test-memmem.c (main): Add tests for periodic needle and
57059         sublinear performance.
57060         * doc/functions/memmem.texi (memmem): Document other deficiencies
57061         in cygwin and older glibc.
57062
57063 2008-01-08  Bruno Haible  <bruno@clisp.org>
57064
57065         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
57066         augmentation.
57067
57068 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
57069
57070         Add a configure time option: --disable-acl.
57071         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
57072         AC_ARG_ENABLE(acl).
57073
57074 2008-01-06  Simon Josefsson  <simon@josefsson.org>
57075
57076         * tests/test-localename.c: Don't include obsolete "setenv.h".
57077
57078         * modules/localename-tests (Depends-on): Need unsetenv.
57079
57080 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57081
57082         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
57083
57084 2008-01-06  Colin Watson  <cjwatson@debian.org>
57085
57086         * users.txt: Add man-db.
57087
57088 2008-01-07  Bruno Haible  <bruno@clisp.org>
57089
57090         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
57091         previous section name.
57092
57093 2008-01-07  Bruno Haible  <bruno@clisp.org>
57094
57095         * lib/progname.c (set_program_name): Don't strip off a leading
57096         "lt-" prefix outside a .libs directory.
57097         Suggested by Paul Eggert.
57098
57099 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
57100             Bruno Haible  <bruno@clisp.org>
57101
57102         Improve memory cleanup in 'relocatable' module.
57103         * lib/relocatable.h (compute_curr_prefix): Change return type to
57104         'char *'.
57105         * lib/relocatable.c (compute_curr_prefix): Change return type to
57106         'char *'. Free curr_installdir after use.
57107         (relocate): Free curr_prefix_better after use.
57108         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
57109
57110 2008-01-01  Bruno Haible  <bruno@clisp.org>
57111
57112         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
57113         failure on older glibc systems.
57114         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57115
57116 2008-01-05  Eric Blake  <ebb9@byu.net>
57117
57118         Avoid quadratic system memmem.
57119         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
57120         Reported by Ralf Wildenhues.
57121
57122         Fix memmem test for mingw.
57123         * modules/memmem-tests (configure.ac): Check for alarm.
57124         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
57125         it.
57126         * doc/functions/memmem.texi: New file.
57127         * doc/gnulib.texi (Function Substitutes): Add memmem.
57128         Reported by Bruno Haible.
57129
57130 2008-01-04  Bruno Haible  <bruno@clisp.org>
57131
57132         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
57133         Require gl_HEADER_STRINGS_H_DEFAULTS, not
57134         gl_HEADER_STRING_H_DEFAULTS.
57135
57136 2008-01-04  Eric Blake  <ebb9@byu.net>
57137
57138         Shorten duration of memmem test.
57139         * tests/test-memmem.c (main): Use alarm to declare failure if test
57140         is taking too long.
57141         Reported by Ralf Wildenhues.
57142
57143 2007-12-21  Simon Josefsson  <simon@josefsson.org>
57144
57145         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
57146         string, needed by strerror.
57147
57148 2008-01-03  Colin Watson  <cjwatson@debian.org>
57149             Bruno Haible  <bruno@clisp.org>
57150
57151         * doc/gnulib-tool.texi (Localization): New section.
57152
57153 2008-01-02  Bruno Haible  <bruno@clisp.org>
57154
57155         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
57156         variables to 'unsigned char *' type.
57157         Reported by Paul Eggert.
57158
57159 2008-01-02  Jim Meyering  <jim@meyering.net>
57160
57161         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
57162
57163 2007-12-31  Jim Meyering  <jim@meyering.net>
57164
57165         Avoid use of private FTS type name.
57166         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
57167
57168 2007-12-30  Karl Berry  <karl@gnu.org>
57169
57170         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
57171         work around defect in Texinfo and/or the standalone Info browser.
57172
57173 2007-12-30  Bruno Haible  <bruno@clisp.org>
57174
57175         Unify 5 copies of the KMP code.
57176         * lib/str-kmp.h: New file.
57177         * lib/c-strcasestr.c: Include str-kmp.h.
57178         (knuth_morris_pratt): Remove function.
57179         (c_strcasestr): Update.
57180         * lib/c-strstr.c: Include str-kmp.h.
57181         (knuth_morris_pratt): Remove function.
57182         (c_strcasestr): Update.
57183         * lib/mbscasestr.c: Include str-kmp.h.
57184         (knuth_morris_pratt_unibyte): Remove function.
57185         * lib/mbsstr.c: Include str-kmp.h.
57186         (knuth_morris_pratt_unibyte): Remove function.
57187         * lib/strcasestr.c: Include str-kmp.h.
57188         (knuth_morris_pratt): Remove function.
57189         (strcasestr): Update.
57190         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
57191         * modules/c-strstr (Files): Likewise.
57192         * modules/mbscasestr (Files): Likewise.
57193         * modules/mbsstr (Files): Likewise.
57194         * modules/strcasestr (Files): Likewise.
57195         Suggested by Paul Eggert.
57196
57197 2007-12-30  Bruno Haible  <bruno@clisp.org>
57198
57199         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
57200         defined.
57201
57202 2007-12-30  Bruno Haible  <bruno@clisp.org>
57203
57204         * lib/xmalloca.h: Include xalloc.h.
57205         (xnmalloca): New macro.
57206
57207 2007-12-30  Bruno Haible  <bruno@clisp.org>
57208
57209         * lib/malloca.h (nmalloca): New macro.
57210         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
57211         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
57212         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
57213         knuth_morris_pratt_multibyte): Likewise.
57214         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
57215         knuth_morris_pratt_multibyte): Likewise.
57216         * lib/memmem.c (knuth_morris_pratt): Likewise.
57217         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
57218
57219 2007-12-25  Bruno Haible  <bruno@clisp.org>
57220
57221         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
57222         * lib/glob.c: Don't include openat.h.
57223         (link_exists2_p): Add back the code that deals with the
57224         !GLOB_ALTDIRFUNC case.
57225         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
57226         let it do the filename concatenation.
57227         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
57228         * modules/glob (Depends-on): Remove openat.
57229
57230 2007-12-31  Bruno Haible  <bruno@clisp.org>
57231
57232         * modules/dirfd (License): Change to LGPLv2+.
57233         Approved by Jim Meyering.
57234
57235 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57236
57237         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
57238         when multiplying M by sizeof (size_t).
57239
57240 2007-12-10  Martin Lambers  <marlam@marlam.de>
57241
57242         Override getpagesize on mingw.
57243         * lib/getpagesize.c: New file.
57244         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
57245         * modules/getpagesize (Files): Add lib/getpagesize.c.
57246         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
57247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57248         REPLACE_GETPAGESIZE.
57249         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
57250
57251 2007-12-25  Bruno Haible  <bruno@clisp.org>
57252
57253         * modules/localcharset (Notice): New field.
57254         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
57255         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57256
57257 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57258             Bruno Haible  <bruno@clisp.org>
57259
57260         Avoid using the syntax symbol() in formatted documentation.
57261         * MODULES.html.sh (func_module): When replacing symbol() with a
57262         hyperlink, remove the parentheses. Show an error if some remain.
57263         Recognize and render the '...' syntax.
57264         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
57265         Rework. Add paragraph about GCC's inlining.
57266         * doc/alloca.texi: Likewise.
57267         * doc/error.texi: Remove parentheses from symbol reference.
57268         * doc/gnulib-intro.texi: Likewise.
57269         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
57270         * modules/fnmatch (Description): Reword to say "the ... function".
57271         * modules/full-read (Description): Likewise.
57272         * modules/full-write (Description): Likewise.
57273         * modules/safe-read (Description): Likewise.
57274         * modules/safe-write (Description): Likewise.
57275         * modules/strchrnul (Description): Likewise.
57276         * modules/trim (Description): Likewise.
57277         * modules/error (Description): Remove parentheses from symbol
57278         references.
57279         * modules/verror (Description): Likewise.
57280         Reported by Karl Berry.
57281
57282 2007-12-25  Bruno Haible  <bruno@clisp.org>
57283
57284         Fixup after 2007-10-16 commit.
57285         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
57286
57287 2007-12-24  Bruno Haible  <bruno@clisp.org>
57288
57289         Make --enable-relocatable work with DESTDIR.
57290         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
57291         to compute installdir from destprog.
57292         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
57293         also set the RELOC_DESTDIR variable.
57294         Reported by Левашев Иван <octagram@bluebottle.com>.
57295
57296 2007-12-24  Bruno Haible  <bruno@clisp.org>
57297
57298         Fix link error due to xalloc_die().
57299         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
57300         of xreadlink.
57301         * lib/relocwrapper.c: Update comments.
57302         * build-aux/install-reloc: Remove xreadlink.c from file list.
57303         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
57304         xreadlink.c.
57305         Reported by Левашев Иван <octagram@bluebottle.com>.
57306
57307 2007-12-24  Bruno Haible  <bruno@clisp.org>
57308
57309         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
57310         * lib/setenv.h: Remove file.
57311         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
57312         lib/setenv.h.
57313         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
57314         (Depends-on): Add stdlib.
57315         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
57316         gl_FUNC_UNSETENV.
57317         (Include): Replace setenv.h with <stdlib.h>.
57318         * modules/unsetenv: New file.
57319         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
57320         * lib/unsetenv.c: Include <stdlib.h> first.
57321         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
57322         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
57323         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
57324         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
57325         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
57326         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
57328         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57329         * doc/functions/unsetenv.texi: Update.
57330         * modules/xsetenv (Depends-on): Add unsetenv.
57331         * modules/getdate (Depends-on): Likewise.
57332         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
57333         * lib/xsetenv.c: Don't include setenv.h.
57334         * lib/getdate.y: Likewise.
57335         * lib/relocwrapper.c: Likewise.
57336         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
57337         (Depends-on): Add stdlib.
57338         * NEWS: Mention the changes.
57339         Reported by Левашев Иван <octagram@bluebottle.com>.
57340
57341 2007-12-23  Bruno Haible  <bruno@clisp.org>
57342
57343         * lib/memmem.c (memmem): Use lowercase variable names. Tab
57344         indentation.
57345
57346 2007-12-23  Bruno Haible  <bruno@clisp.org>
57347
57348         * lib/c-strcasestr.c: Add more comments.
57349         * lib/c-strstr.c: Likewise.
57350         * lib/mbscasestr.c: Likewise.
57351         * lib/mbsstr.c: Likewise.
57352         * lib/strcasestr.c: Likewise.
57353         * lib/memmem.c: Likewise.
57354
57355 2007-12-23  Bruno Haible  <bruno@clisp.org>
57356
57357         * tests/test-memmem.c: Include <string.h> first.
57358
57359 2007-12-22  Bruno Haible  <bruno@clisp.org>
57360
57361         * gnulib-tool (func_create_testdir): Change $auxdir while generating
57362         the contents of $testsbase.
57363         Reported by Ralf Wildenhues.
57364
57365 2007-12-22  Bruno Haible  <bruno@clisp.org>
57366
57367         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
57368         two variables local_ldadd_before, local_ldadd_last.
57369
57370 2007-12-20  Eric Blake  <ebb9@byu.net>
57371
57372         Work around circular library issue when cross-compiling.
57373         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
57374         that progname.o does not need to pull in rpl_memcmp.
57375
57376 2007-12-19  Eric Blake  <ebb9@byu.net>
57377
57378         Fix memmem to avoid O(n^2) worst-case complexity.
57379         * lib/memmem.c (knuth_morris_pratt): New function.
57380         (memmem): Use it if first few naive iterations fail.
57381         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
57382         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
57383         * modules/memchr (License): Likewise.
57384         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
57385         malloca.
57386         * tests/test-memmem.c: Rewrite, borrowing ideas from
57387         test-mbsstr1.c; the old version wouldn't even compile!
57388         * modules/memmem-tests: New file.
57389         * lib/string.in.h (rpl_memmem): Add declaration.
57390         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
57391         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
57392         REPLACE_MEMMEM.
57393
57394 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57395
57396         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
57397         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
57398         before any system include files, and undef after them all.  This
57399         should fix a problem on VMS reported by John E. Malmberg in
57400         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
57401
57402 2007-12-17  Eric Blake  <ebb9@byu.net>
57403
57404         Revert addition of verify, for BSD/OS.
57405         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
57406         can't handle large files, for the sake of obsolete platforms.
57407         * modules/fseeko (Depends-on): Remove verify.
57408         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
57409         * doc/functions/ftello.texi (ftello): Likewise.
57410         * doc/functions/fgetpos.texi (fgetpos): Likewise.
57411         Reported by Larry Jones.
57412
57413 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
57414
57415         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
57416         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
57417
57418 2007-12-17  Jim Meyering  <meyering@redhat.com>
57419
57420         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
57421         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
57422         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
57423         * modules/getcwd (Depends-on): Add openat.
57424         Reported by Petr Salinger.
57425
57426 2007-12-17  Bruno Haible  <bruno@clisp.org>
57427
57428         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
57429         avoid a segmentation fault of the configure test on x86_64 systems.
57430
57431 2007-12-15  Jim Meyering  <meyering@redhat.com>
57432
57433         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
57434
57435 2007-12-13  Eric Blake  <ebb9@byu.net>
57436
57437         Another fseek test.
57438         * tests/test-fseek.c (main): Also test ungetc handling.
57439         * tests/test-fseeko.c (main): Likewise.
57440         * modules/fseeko (Depends-on): Add verify.
57441         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
57442         large.
57443         Reported by Larry Jones.
57444
57445         Fix fseeko on mingw.
57446         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
57447         seek.
57448
57449         Beef up fseek tests.
57450         * tests/test-fseek.c (main): Also test eof handling.
57451         * tests/test-fseeko.c (main): Likewise.
57452         Reported by Larry Jones.
57453
57454 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
57455
57456         Fix fseeko on BSD-based platforms.
57457         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
57458         successful seek.
57459
57460 2007-12-12  Eric Blake  <ebb9@byu.net>
57461
57462         Allow circular dependency of separate libtests.a
57463         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
57464         when use_libtests.
57465
57466 2007-12-11  Eric Blake  <ebb9@byu.net>
57467
57468         Fix bug with -0.0L in previous patch.
57469         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
57470         * tests/test-isnan.c (main): Also test on zeroes.
57471         * tests/test-isnanf.c (main): Likewise.
57472         * tests/test-isnanl.h (main): Likewise.
57473
57474         Detect pseudo-denormals on x86 even when cross-compiling.
57475         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
57476         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
57477         invalid bit patterns that happen to satisfy ==.
57478
57479         Avoid link failures with separate libtests.a.
57480         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
57481         last, to satisfy circular dependencies.
57482
57483 2007-12-11  Eric Blake  <ebb9@byu.net>
57484         and Bruno Haible  <bruno@clisp.org>
57485
57486         Fix OpenBSD 4.0 <float.h> handling of long double.
57487         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
57488         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
57489         * doc/headers/float.texi (float.h): Document OpenBSD bug.
57490
57491 2007-12-11  Jim Meyering  <meyering@redhat.com>
57492
57493         * users.txt: Add libvirt.
57494
57495         Support versions of autoconf prior to 2.59c.
57496         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
57497         if it is not already defined.
57498
57499 2007-12-09  Bruno Haible  <bruno@clisp.org>
57500
57501         Let 'gnulib-tool --import' collect sources needed for the tests in
57502         tests/ rather than in lib/.
57503         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
57504         argument. If true, add rules to generate libtests.a, and put libtests.a
57505         into $(LDADD). Consider source files in subdirectories and set
57506         uses_subdirs.
57507         (func_emit_initmacro_start, func_emit_initmacro_end,
57508         func_emit_initmacro_done): Pass all arguments explicitly.
57509         (func_import): Determine two module lists main_modules,
57510         testsrelated_modules. Determine use_libtests. Determine two variables
57511         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
57512         instead of just sed_transform_lib_file. Determine two variables
57513         main_files and testsrelated_files. Compute 'files' as the union of
57514         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
57515         func_add_or_update. In the generated gnulib-comp.m4, collect the
57516         object files for tests/ in different variables than those for lib/.
57517         Substitute LIBTESTS_LIBDEPS.
57518         (func_create_testdir): Combine the uses_subdirs results from
57519         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
57520
57521 2007-12-09  Bruno Haible  <bruno@clisp.org>
57522
57523         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
57524         the build-aux directory.
57525
57526 2007-12-09  Bruno Haible  <bruno@clisp.org>
57527
57528         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
57529         introduced on 2006-09-09.
57530
57531 2007-12-07  Jim Meyering  <meyering@redhat.com>
57532
57533         Let these macros work also with autoconf-2.59.
57534         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
57535         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
57536         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57537
57538 2007-12-06  Jim Meyering  <meyering@redhat.com>
57539
57540         Avoid a configure-time syntax error in gl_FUNC_ACL.
57541         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
57542         function in each branch, before testing the cache variable.
57543
57544 2007-12-04  Eric Blake  <ebb9@byu.net>
57545
57546         Make scripts executable.
57547         * build-aux/config.guess: Add execute permissions.
57548         * build-aux/config.sub: Likewise.
57549         * build-aux/gendocs.sh: Likewise.
57550
57551         Fix frexp on mingw.
57552         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
57553         cross-compiling.
57554         * doc/functions/frexp.texi (frexp): Document the bug.
57555
57556         Make cygwin fseeko check more reliable.
57557         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
57558         version numbers, rather than unrelated feature check.
57559         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
57560         * doc/functions/ftello.texi (ftello): Likewise.
57561         Reported by Bruno Haible.
57562
57563         * m4/strerror.m4: Bump version number.
57564
57565 2007-12-03  Bruno Haible  <bruno@clisp.org>
57566
57567         * doc/functions/mprotect.texi: Mention the mingw problem.
57568
57569 2007-12-03  Eric Blake  <ebb9@byu.net>
57570
57571         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
57572         REPLACE_STRERROR is initialized before this macro.
57573
57574 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57575
57576         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
57577         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
57578         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
57579         put -lsec in even for programs other than 'ls'.  This fixes a problem
57580         for gettext reported by Bruno Haible in
57581         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
57582         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
57583         Add support for Solaris 10.  This isn't efficient, but should get the
57584         job done for now.
57585
57586 2007-12-03  James Youngman  <jay@gnu.org>
57587
57588         * doc/regexprops-generic.texi: change "an close-group" to "a
57589         close-group" and "illegal" to "not allowed".
57590
57591 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57592
57593         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
57594         pr_byname.h. Needed for the rare case when the maintainer has done
57595         "make maintainer-clean" in the source directory and then attempts a
57596         build outside the source directory.
57597         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
57598         scripts_byname.h.
57599
57600 2007-12-02  Martin Lambers <marlam@marlam.de>
57601             Bruno Haible  <bruno@clisp.org>
57602
57603         * lib/getpagesize.h: Remove file.
57604         * lib/unistd.in.h: Include declaration of getpagesize here.
57605         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
57606         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
57607         HAVE_SYS_PARAM_H.
57608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
57609         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57610         * modules/getpagesize (Files): Remove lib/getpagesize.h.
57611         (Depends-on): Add unistd.
57612         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57613         (Include): Use <unistd.h> instead of getpagesize.h.
57614         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
57615         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57616         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
57617         gl_GETPAGESIZE invocation, already handled by module dependency.
57618         * lib/pagealign_alloc.c: Don't include getpagesize.h.
57619
57620 2007-12-02  Bruno Haible  <bruno@clisp.org>
57621
57622         * modules/strings-tests: New file.
57623         * tests/test-strings.c: New file.
57624
57625         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
57626         * lib/strings.in.h: New file.
57627         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
57628         * m4/strings_h.m4: New file.
57629         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
57630         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
57631         * modules/strings: New file.
57632         * modules/string (Makefile.am): Update.
57633         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
57634         Reported by Karl Berry.
57635
57636 2007-12-01  Eric Blake  <ebb9@byu.net>
57637
57638         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
57639         accomodate fix in cygwin 1.5.25.
57640
57641 2007-12-01  Jim Meyering  <meyering@redhat.com>
57642
57643         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
57644         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
57645         that would inhibit utf8-optimization of a regexp containing line-
57646         or buffer-anchors, e.g., `^', `$'.
57647
57648 2007-11-30  Bruno Haible  <bruno@clisp.org>
57649
57650         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
57651         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
57652         glthread_recursive_lock_init.
57653         * lib/lock.c (glthread_recursive_lock_init)
57654         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
57655         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57656
57657 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
57658
57659         New function qset_acl, like set_acl but with syscall semantics.
57660         * lib/acl.h (qset_acl): New decl.
57661         * lib/acl.c (qset_acl): New function.
57662         (set_acl): Use new function.  Use more-consistent diagnostics.
57663
57664 2007-11-28  Jim Meyering  <meyering@redhat.com>
57665
57666         * modules/physmem (License): Change from GPL to LGPLv2+.
57667
57668 2007-11-26  Bruno Haible  <bruno@clisp.org>
57669
57670         * lib/vasnprintf.c (decode_long_double): Don't abort if the
57671         'long double' type has excess precision.
57672         Reported by Jim Meyering in
57673         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
57674
57675 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57676
57677         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
57678         Sync from <http://gnu.org/licenses>.
57679         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57680         with license text from same location.
57681         * doc/maintain.texi, doc/standards.texi:  Sync from
57682         <http://savannah.gnu.org/projects/gnustandards>.
57683
57684 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
57685         and Jim Meyering  <meyering@redhat.com>
57686
57687         Adjust getdate' grammar to accept a slightly more regular language.
57688         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57689         Before, the former was rejected.
57690         * lib/getdate.y (digits_to_date_time): New function, factored
57691         out of ...
57692         (number): ...here.  Just call digits_to_date_time.
57693         (hybrid): New non-terminal to handle an <unsigned number,
57694         signed relative offset> sequence consistently.
57695
57696 2007-11-18  Jim Meyering  <meyering@redhat.com>
57697
57698         Pull my changes from coreutils:
57699         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57700         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57701         use of $gnulib_tool_option_extras, so that it's separated from the
57702         preceding argument.
57703
57704         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57705         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57706         parent destination directories before copying a file into place.
57707
57708 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57709
57710         bootstrap: work also with 4-argument variant of AC_INIT
57711         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57712
57713 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57714
57715         Port test-getaddrinfo to Solaris.
57716         Problem reported by Bruno Haible in
57717         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57718         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57719         explanation of setting 'hints'.
57720         Don't reject an implementation merely because it returns EAI_SERVICE.
57721         (EAI_SERVICE): Define to 0 if not defined.
57722
57723 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57724
57725         The license of gnu-make and posix-shell is now "GPLed build tool".
57726         * modules/gnu-make (License): Likewise.
57727         * modules/posix-shell (License): Likewise.
57728
57729         New module posix-shell, for determining a POSIX shell
57730         or perhaps something that is close enough to a POSIX shell.
57731         * m4/posix-shell.m4: New file.
57732         * modules/posix-shell: New file.
57733
57734         * MODULES.html.sh: Mention new module.
57735
57736         New module gnu-make, for determining whether we're using GNU Make.
57737         * m4/gnu-make.m4: New file.
57738         * modules/gnu-make: New file.
57739         * MODULES.html.sh: Mention new module.
57740
57741 2007-11-14  Jim Meyering  <meyering@redhat.com>
57742
57743         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57744         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57745         use this macro to create a function _definition_.
57746         Remove useless "#undef ARGMATCH_DIE".
57747
57748 2007-11-14  Bruno Haible  <bruno@clisp.org>
57749
57750         * lib/config.charset: Update for OpenBSD 4.1.
57751         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57752
57753 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57754
57755         Document 64-bit #if problems in stdint.texi.
57756         * doc/headers/stdint.texi (stdint.h): Mention problems with
57757         64-bit-#if, and how to work around them.
57758
57759         Don't insist on 'long long int' support in the preprocessor.  It
57760         breaks too many things.  For example, PRIdMAX still uses a 'long
57761         long int' format with the latest Sun compiler, even though
57762         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57763         preprocessor problem.  This causes the latest coreutils to dump
57764         core on Solaris 10 sparc with the Sun C compiler.
57765         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57766         the troublesome expressions at configure-time, not at #if-time.
57767         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57768         preprocessor.
57769         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57770         compile-time C checks, done at 'configure'-time.
57771         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57772         * modules/inttypes (Makefile): Substitute the new symbols that
57773         gl_INTTYPES_H now generates.
57774         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57775
57776 2007-11-12  Bruno Haible  <bruno@clisp.org>
57777
57778         Tests for Unicode character classification functions.
57779
57780         * modules/unictype/bidicategory-byname-tests: New file.
57781         * modules/unictype/bidicategory-name-tests: New file.
57782         * modules/unictype/bidicategory-of-tests: New file.
57783         * modules/unictype/bidicategory-test-tests: New file.
57784         * modules/unictype/block-list-tests: New file.
57785         * modules/unictype/block-of-tests: New file.
57786         * modules/unictype/block-test-tests: New file.
57787         * modules/unictype/category-C-tests: New file.
57788         * modules/unictype/category-Cc-tests: New file.
57789         * modules/unictype/category-Cf-tests: New file.
57790         * modules/unictype/category-Cn-tests: New file.
57791         * modules/unictype/category-Co-tests: New file.
57792         * modules/unictype/category-Cs-tests: New file.
57793         * modules/unictype/category-L-tests: New file.
57794         * modules/unictype/category-Ll-tests: New file.
57795         * modules/unictype/category-Lm-tests: New file.
57796         * modules/unictype/category-Lo-tests: New file.
57797         * modules/unictype/category-Lt-tests: New file.
57798         * modules/unictype/category-Lu-tests: New file.
57799         * modules/unictype/category-M-tests: New file.
57800         * modules/unictype/category-Mc-tests: New file.
57801         * modules/unictype/category-Me-tests: New file.
57802         * modules/unictype/category-Mn-tests: New file.
57803         * modules/unictype/category-N-tests: New file.
57804         * modules/unictype/category-Nd-tests: New file.
57805         * modules/unictype/category-Nl-tests: New file.
57806         * modules/unictype/category-No-tests: New file.
57807         * modules/unictype/category-P-tests: New file.
57808         * modules/unictype/category-Pc-tests: New file.
57809         * modules/unictype/category-Pd-tests: New file.
57810         * modules/unictype/category-Pe-tests: New file.
57811         * modules/unictype/category-Pf-tests: New file.
57812         * modules/unictype/category-Pi-tests: New file.
57813         * modules/unictype/category-Po-tests: New file.
57814         * modules/unictype/category-Ps-tests: New file.
57815         * modules/unictype/category-S-tests: New file.
57816         * modules/unictype/category-Sc-tests: New file.
57817         * modules/unictype/category-Sk-tests: New file.
57818         * modules/unictype/category-Sm-tests: New file.
57819         * modules/unictype/category-So-tests: New file.
57820         * modules/unictype/category-Z-tests: New file.
57821         * modules/unictype/category-Zl-tests: New file.
57822         * modules/unictype/category-Zp-tests: New file.
57823         * modules/unictype/category-Zs-tests: New file.
57824         * modules/unictype/category-and-not-tests: New file.
57825         * modules/unictype/category-and-tests: New file.
57826         * modules/unictype/category-byname-tests: New file.
57827         * modules/unictype/category-name-tests: New file.
57828         * modules/unictype/category-none-tests: New file.
57829         * modules/unictype/category-of-tests: New file.
57830         * modules/unictype/category-or-tests: New file.
57831         * modules/unictype/category-test-withtable-tests: New file.
57832         * modules/unictype/combining-class-tests: New file.
57833         * modules/unictype/ctype-alnum-tests: New file.
57834         * modules/unictype/ctype-alpha-tests: New file.
57835         * modules/unictype/ctype-blank-tests: New file.
57836         * modules/unictype/ctype-cntrl-tests: New file.
57837         * modules/unictype/ctype-digit-tests: New file.
57838         * modules/unictype/ctype-graph-tests: New file.
57839         * modules/unictype/ctype-lower-tests: New file.
57840         * modules/unictype/ctype-print-tests: New file.
57841         * modules/unictype/ctype-punct-tests: New file.
57842         * modules/unictype/ctype-space-tests: New file.
57843         * modules/unictype/ctype-upper-tests: New file.
57844         * modules/unictype/ctype-xdigit-tests: New file.
57845         * modules/unictype/decimal-digit-tests: New file.
57846         * modules/unictype/digit-tests: New file.
57847         * modules/unictype/mirror-tests: New file.
57848         * modules/unictype/numeric-tests: New file.
57849         * modules/unictype/property-alphabetic-tests: New file.
57850         * modules/unictype/property-ascii-hex-digit-tests: New file.
57851         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57852         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57853         * modules/unictype/property-bidi-block-separator-tests: New file.
57854         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57855         * modules/unictype/property-bidi-common-separator-tests: New file.
57856         * modules/unictype/property-bidi-control-tests: New file.
57857         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57858         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57859         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57860         * modules/unictype/property-bidi-european-digit-tests: New file.
57861         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57862         * modules/unictype/property-bidi-left-to-right-tests: New file.
57863         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57864         * modules/unictype/property-bidi-other-neutral-tests: New file.
57865         * modules/unictype/property-bidi-pdf-tests: New file.
57866         * modules/unictype/property-bidi-segment-separator-tests: New file.
57867         * modules/unictype/property-bidi-whitespace-tests: New file.
57868         * modules/unictype/property-byname-tests: New file.
57869         * modules/unictype/property-combining-tests: New file.
57870         * modules/unictype/property-composite-tests: New file.
57871         * modules/unictype/property-currency-symbol-tests: New file.
57872         * modules/unictype/property-dash-tests: New file.
57873         * modules/unictype/property-decimal-digit-tests: New file.
57874         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57875         * modules/unictype/property-deprecated-tests: New file.
57876         * modules/unictype/property-diacritic-tests: New file.
57877         * modules/unictype/property-extender-tests: New file.
57878         * modules/unictype/property-format-control-tests: New file.
57879         * modules/unictype/property-grapheme-base-tests: New file.
57880         * modules/unictype/property-grapheme-extend-tests: New file.
57881         * modules/unictype/property-grapheme-link-tests: New file.
57882         * modules/unictype/property-hex-digit-tests: New file.
57883         * modules/unictype/property-hyphen-tests: New file.
57884         * modules/unictype/property-id-continue-tests: New file.
57885         * modules/unictype/property-id-start-tests: New file.
57886         * modules/unictype/property-ideographic-tests: New file.
57887         * modules/unictype/property-ids-binary-operator-tests: New file.
57888         * modules/unictype/property-ids-trinary-operator-tests: New file.
57889         * modules/unictype/property-ignorable-control-tests: New file.
57890         * modules/unictype/property-iso-control-tests: New file.
57891         * modules/unictype/property-join-control-tests: New file.
57892         * modules/unictype/property-left-of-pair-tests: New file.
57893         * modules/unictype/property-line-separator-tests: New file.
57894         * modules/unictype/property-logical-order-exception-tests: New file.
57895         * modules/unictype/property-lowercase-tests: New file.
57896         * modules/unictype/property-math-tests: New file.
57897         * modules/unictype/property-non-break-tests: New file.
57898         * modules/unictype/property-not-a-character-tests: New file.
57899         * modules/unictype/property-numeric-tests: New file.
57900         * modules/unictype/property-other-alphabetic-tests: New file.
57901         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57902         * modules/unictype/property-other-grapheme-extend-tests: New file.
57903         * modules/unictype/property-other-id-continue-tests: New file.
57904         * modules/unictype/property-other-id-start-tests: New file.
57905         * modules/unictype/property-other-lowercase-tests: New file.
57906         * modules/unictype/property-other-math-tests: New file.
57907         * modules/unictype/property-other-uppercase-tests: New file.
57908         * modules/unictype/property-paired-punctuation-tests: New file.
57909         * modules/unictype/property-paragraph-separator-tests: New file.
57910         * modules/unictype/property-pattern-syntax-tests: New file.
57911         * modules/unictype/property-pattern-white-space-tests: New file.
57912         * modules/unictype/property-private-use-tests: New file.
57913         * modules/unictype/property-punctuation-tests: New file.
57914         * modules/unictype/property-quotation-mark-tests: New file.
57915         * modules/unictype/property-radical-tests: New file.
57916         * modules/unictype/property-sentence-terminal-tests: New file.
57917         * modules/unictype/property-soft-dotted-tests: New file.
57918         * modules/unictype/property-space-tests: New file.
57919         * modules/unictype/property-terminal-punctuation-tests: New file.
57920         * modules/unictype/property-test-tests: New file.
57921         * modules/unictype/property-titlecase-tests: New file.
57922         * modules/unictype/property-unassigned-code-value-tests: New file.
57923         * modules/unictype/property-unified-ideograph-tests: New file.
57924         * modules/unictype/property-uppercase-tests: New file.
57925         * modules/unictype/property-variation-selector-tests: New file.
57926         * modules/unictype/property-white-space-tests: New file.
57927         * modules/unictype/property-xid-continue-tests: New file.
57928         * modules/unictype/property-xid-start-tests: New file.
57929         * modules/unictype/property-zero-width-tests: New file.
57930         * modules/unictype/scripts-tests: New file.
57931         * modules/unictype/syntax-c-ident-tests: New file.
57932         * modules/unictype/syntax-c-whitespace-tests: New file.
57933         * modules/unictype/syntax-java-ident-tests: New file.
57934         * modules/unictype/syntax-java-whitespace-tests: New file.
57935         * tests/unictype/test-bidi_byname.c: New file.
57936         * tests/unictype/test-bidi_name.c: New file.
57937         * tests/unictype/test-bidi_of.c: New file.
57938         * tests/unictype/test-bidi_test.c: New file.
57939         * tests/unictype/test-block_list.c: New file.
57940         * tests/unictype/test-block_of.c: New file.
57941         * tests/unictype/test-block_test.c: New file.
57942         * tests/unictype/test-categ_and.c: New file.
57943         * tests/unictype/test-categ_and_not.c: New file.
57944         * tests/unictype/test-categ_byname.c: New file.
57945         * tests/unictype/test-categ_name.c: New file.
57946         * tests/unictype/test-categ_none.c: New file.
57947         * tests/unictype/test-categ_of.c: New file.
57948         * tests/unictype/test-categ_or.c: New file.
57949         * tests/unictype/test-categ_test_withtable.c: New file.
57950         * tests/unictype/test-combining.c: New file.
57951         * tests/unictype/test-decdigit.c: New file.
57952         * tests/unictype/test-digit.c: New file.
57953         * tests/unictype/test-mirror.c: New file.
57954         * tests/unictype/test-numeric.c: New file.
57955         * tests/unictype/test-pr_byname.c: New file.
57956         * tests/unictype/test-pr_test.c: New file.
57957         * tests/unictype/test-predicate-part1.h: New file.
57958         * tests/unictype/test-predicate-part2.h: New file.
57959         * tests/unictype/test-scripts.c: New file.
57960         * tests/unictype/test-sy_c_ident.c: New file.
57961         * tests/unictype/test-sy_java_ident.c: New file.
57962
57963         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
57964         for Unicode 5.0.0.
57965         * tests/unictype/test-categ_Cc.c: Likewise.
57966         * tests/unictype/test-categ_Cf.c: Likewise.
57967         * tests/unictype/test-categ_Cn.c: Likewise.
57968         * tests/unictype/test-categ_Co.c: Likewise.
57969         * tests/unictype/test-categ_Cs.c: Likewise.
57970         * tests/unictype/test-categ_L.c: Likewise.
57971         * tests/unictype/test-categ_Ll.c: Likewise.
57972         * tests/unictype/test-categ_Lm.c: Likewise.
57973         * tests/unictype/test-categ_Lo.c: Likewise.
57974         * tests/unictype/test-categ_Lt.c: Likewise.
57975         * tests/unictype/test-categ_Lu.c: Likewise.
57976         * tests/unictype/test-categ_M.c: Likewise.
57977         * tests/unictype/test-categ_Mc.c: Likewise.
57978         * tests/unictype/test-categ_Me.c: Likewise.
57979         * tests/unictype/test-categ_Mn.c: Likewise.
57980         * tests/unictype/test-categ_N.c: Likewise.
57981         * tests/unictype/test-categ_Nd.c: Likewise.
57982         * tests/unictype/test-categ_Nl.c: Likewise.
57983         * tests/unictype/test-categ_No.c: Likewise.
57984         * tests/unictype/test-categ_P.c: Likewise.
57985         * tests/unictype/test-categ_Pc.c: Likewise.
57986         * tests/unictype/test-categ_Pd.c: Likewise.
57987         * tests/unictype/test-categ_Pe.c: Likewise.
57988         * tests/unictype/test-categ_Pf.c: Likewise.
57989         * tests/unictype/test-categ_Pi.c: Likewise.
57990         * tests/unictype/test-categ_Po.c: Likewise.
57991         * tests/unictype/test-categ_Ps.c: Likewise.
57992         * tests/unictype/test-categ_S.c: Likewise.
57993         * tests/unictype/test-categ_Sc.c: Likewise.
57994         * tests/unictype/test-categ_Sk.c: Likewise.
57995         * tests/unictype/test-categ_Sm.c: Likewise.
57996         * tests/unictype/test-categ_So.c: Likewise.
57997         * tests/unictype/test-categ_Z.c: Likewise.
57998         * tests/unictype/test-categ_Zl.c: Likewise.
57999         * tests/unictype/test-categ_Zp.c: Likewise.
58000         * tests/unictype/test-categ_Zs.c: Likewise.
58001         * tests/unictype/test-ctype_alnum.c: Likewise.
58002         * tests/unictype/test-ctype_alpha.c: Likewise.
58003         * tests/unictype/test-ctype_blank.c: Likewise.
58004         * tests/unictype/test-ctype_cntrl.c: Likewise.
58005         * tests/unictype/test-ctype_digit.c: Likewise.
58006         * tests/unictype/test-ctype_graph.c: Likewise.
58007         * tests/unictype/test-ctype_lower.c: Likewise.
58008         * tests/unictype/test-ctype_print.c: Likewise.
58009         * tests/unictype/test-ctype_punct.c: Likewise.
58010         * tests/unictype/test-ctype_space.c: Likewise.
58011         * tests/unictype/test-ctype_upper.c: Likewise.
58012         * tests/unictype/test-ctype_xdigit.c: Likewise.
58013         * tests/unictype/test-decdigit.h: Likewise.
58014         * tests/unictype/test-digit.h: Likewise.
58015         * tests/unictype/test-numeric.h: Likewise.
58016         * tests/unictype/test-pr_alphabetic.c: Likewise.
58017         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
58018         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
58019         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
58020         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
58021         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
58022         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
58023         * tests/unictype/test-pr_bidi_control.c: Likewise.
58024         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
58025         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
58026         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
58027         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
58028         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
58029         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
58030         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
58031         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
58032         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
58033         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
58034         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
58035         * tests/unictype/test-pr_combining.c: Likewise.
58036         * tests/unictype/test-pr_composite.c: Likewise.
58037         * tests/unictype/test-pr_currency_symbol.c: Likewise.
58038         * tests/unictype/test-pr_dash.c: Likewise.
58039         * tests/unictype/test-pr_decimal_digit.c: Likewise.
58040         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
58041         * tests/unictype/test-pr_deprecated.c: Likewise.
58042         * tests/unictype/test-pr_diacritic.c: Likewise.
58043         * tests/unictype/test-pr_extender.c: Likewise.
58044         * tests/unictype/test-pr_format_control.c: Likewise.
58045         * tests/unictype/test-pr_grapheme_base.c: Likewise.
58046         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
58047         * tests/unictype/test-pr_grapheme_link.c: Likewise.
58048         * tests/unictype/test-pr_hex_digit.c: Likewise.
58049         * tests/unictype/test-pr_hyphen.c: Likewise.
58050         * tests/unictype/test-pr_id_continue.c: Likewise.
58051         * tests/unictype/test-pr_id_start.c: Likewise.
58052         * tests/unictype/test-pr_ideographic.c: Likewise.
58053         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
58054         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
58055         * tests/unictype/test-pr_ignorable_control.c: Likewise.
58056         * tests/unictype/test-pr_iso_control.c: Likewise.
58057         * tests/unictype/test-pr_join_control.c: Likewise.
58058         * tests/unictype/test-pr_left_of_pair.c: Likewise.
58059         * tests/unictype/test-pr_line_separator.c: Likewise.
58060         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
58061         * tests/unictype/test-pr_lowercase.c: Likewise.
58062         * tests/unictype/test-pr_math.c: Likewise.
58063         * tests/unictype/test-pr_non_break.c: Likewise.
58064         * tests/unictype/test-pr_not_a_character.c: Likewise.
58065         * tests/unictype/test-pr_numeric.c: Likewise.
58066         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
58067         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
58068         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
58069         * tests/unictype/test-pr_other_id_continue.c: Likewise.
58070         * tests/unictype/test-pr_other_id_start.c: Likewise.
58071         * tests/unictype/test-pr_other_lowercase.c: Likewise.
58072         * tests/unictype/test-pr_other_math.c: Likewise.
58073         * tests/unictype/test-pr_other_uppercase.c: Likewise.
58074         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
58075         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
58076         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
58077         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
58078         * tests/unictype/test-pr_private_use.c: Likewise.
58079         * tests/unictype/test-pr_punctuation.c: Likewise.
58080         * tests/unictype/test-pr_quotation_mark.c: Likewise.
58081         * tests/unictype/test-pr_radical.c: Likewise.
58082         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
58083         * tests/unictype/test-pr_soft_dotted.c: Likewise.
58084         * tests/unictype/test-pr_space.c: Likewise.
58085         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
58086         * tests/unictype/test-pr_titlecase.c: Likewise.
58087         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
58088         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
58089         * tests/unictype/test-pr_uppercase.c: Likewise.
58090         * tests/unictype/test-pr_variation_selector.c: Likewise.
58091         * tests/unictype/test-pr_white_space.c: Likewise.
58092         * tests/unictype/test-pr_xid_continue.c: Likewise.
58093         * tests/unictype/test-pr_xid_start.c: Likewise.
58094         * tests/unictype/test-pr_zero_width.c: Likewise.
58095         * tests/unictype/test-sy_c_whitespace.c: Likewise.
58096         * tests/unictype/test-sy_java_whitespace.c: Likewise.
58097
58098 2007-11-12  Bruno Haible  <bruno@clisp.org>
58099
58100         Unicode character classification functions.
58101         * lib/unictype.h: New file.
58102         * modules/unictype/base: New file.
58103         * modules/unictype/category-L: New file.
58104         * modules/unictype/category-Lu: New file.
58105         * modules/unictype/category-Ll: New file.
58106         * modules/unictype/category-Lt: New file.
58107         * modules/unictype/category-Lm: New file.
58108         * modules/unictype/category-Lo: New file.
58109         * modules/unictype/category-M: New file.
58110         * modules/unictype/category-Mn: New file.
58111         * modules/unictype/category-Mc: New file.
58112         * modules/unictype/category-Me: New file.
58113         * modules/unictype/category-N: New file.
58114         * modules/unictype/category-Nd: New file.
58115         * modules/unictype/category-Nl: New file.
58116         * modules/unictype/category-No: New file.
58117         * modules/unictype/category-P: New file.
58118         * modules/unictype/category-Pc: New file.
58119         * modules/unictype/category-Pd: New file.
58120         * modules/unictype/category-Ps: New file.
58121         * modules/unictype/category-Pe: New file.
58122         * modules/unictype/category-Pi: New file.
58123         * modules/unictype/category-Pf: New file.
58124         * modules/unictype/category-Po: New file.
58125         * modules/unictype/category-S: New file.
58126         * modules/unictype/category-Sm: New file.
58127         * modules/unictype/category-Sc: New file.
58128         * modules/unictype/category-Sk: New file.
58129         * modules/unictype/category-So: New file.
58130         * modules/unictype/category-Z: New file.
58131         * modules/unictype/category-Zs: New file.
58132         * modules/unictype/category-Zl: New file.
58133         * modules/unictype/category-Zp: New file.
58134         * modules/unictype/category-C: New file.
58135         * modules/unictype/category-Cc: New file.
58136         * modules/unictype/category-Cf: New file.
58137         * modules/unictype/category-Cs: New file.
58138         * modules/unictype/category-Co: New file.
58139         * modules/unictype/category-Cn: New file.
58140         * modules/unictype/category-or: New file.
58141         * modules/unictype/category-of: New file.
58142         * modules/unictype/category-test: New file.
58143         * modules/unictype/category-test-withtable: New file.
58144         * modules/unictype/category-byname: New file.
58145         * modules/unictype/category-none: New file.
58146         * modules/unictype/category-and: New file.
58147         * modules/unictype/category-and-not: New file.
58148         * modules/unictype/category-name: New file.
58149         * modules/unictype/combining-class: New file.
58150         * modules/unictype/category-all: New file.
58151         * modules/unictype/bidicategory-all: New file.
58152         * modules/unictype/bidicategory-byname: New file.
58153         * modules/unictype/bidicategory-name: New file.
58154         * modules/unictype/bidicategory-of: New file.
58155         * modules/unictype/bidicategory-test: New file.
58156         * modules/unictype/decimal-digit: New file.
58157         * modules/unictype/digit: New file.
58158         * modules/unictype/numeric: New file.
58159         * modules/unictype/mirror: New file.
58160         * modules/unictype/property-white-space: New file.
58161         * modules/unictype/property-alphabetic: New file.
58162         * modules/unictype/property-other-alphabetic: New file.
58163         * modules/unictype/property-not-a-character: New file.
58164         * modules/unictype/property-default-ignorable-code-point: New file.
58165         * modules/unictype/property-other-default-ignorable-code-point: New
58166         file.
58167         * modules/unictype/property-deprecated: New file.
58168         * modules/unictype/property-logical-order-exception: New file.
58169         * modules/unictype/property-variation-selector: New file.
58170         * modules/unictype/property-private-use: New file.
58171         * modules/unictype/property-unassigned-code-value: New file.
58172         * modules/unictype/property-uppercase: New file.
58173         * modules/unictype/property-other-uppercase: New file.
58174         * modules/unictype/property-lowercase: New file.
58175         * modules/unictype/property-other-lowercase: New file.
58176         * modules/unictype/property-titlecase: New file.
58177         * modules/unictype/property-soft-dotted: New file.
58178         * modules/unictype/property-id-start: New file.
58179         * modules/unictype/property-other-id-start: New file.
58180         * modules/unictype/property-id-continue: New file.
58181         * modules/unictype/property-other-id-continue: New file.
58182         * modules/unictype/property-xid-start: New file.
58183         * modules/unictype/property-xid-continue: New file.
58184         * modules/unictype/property-pattern-white-space: New file.
58185         * modules/unictype/property-pattern-syntax: New file.
58186         * modules/unictype/property-join-control: New file.
58187         * modules/unictype/property-grapheme-base: New file.
58188         * modules/unictype/property-grapheme-extend: New file.
58189         * modules/unictype/property-other-grapheme-extend: New file.
58190         * modules/unictype/property-grapheme-link: New file.
58191         * modules/unictype/property-bidi-control: New file.
58192         * modules/unictype/property-bidi-left-to-right: New file.
58193         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
58194         * modules/unictype/property-bidi-arabic-right-to-left: New file.
58195         * modules/unictype/property-bidi-european-digit: New file.
58196         * modules/unictype/property-bidi-eur-num-separator: New file.
58197         * modules/unictype/property-bidi-eur-num-terminator: New file.
58198         * modules/unictype/property-bidi-arabic-digit: New file.
58199         * modules/unictype/property-bidi-common-separator: New file.
58200         * modules/unictype/property-bidi-block-separator: New file.
58201         * modules/unictype/property-bidi-segment-separator: New file.
58202         * modules/unictype/property-bidi-whitespace: New file.
58203         * modules/unictype/property-bidi-non-spacing-mark: New file.
58204         * modules/unictype/property-bidi-boundary-neutral: New file.
58205         * modules/unictype/property-bidi-pdf: New file.
58206         * modules/unictype/property-bidi-embedding-or-override: New file.
58207         * modules/unictype/property-bidi-other-neutral: New file.
58208         * modules/unictype/property-hex-digit: New file.
58209         * modules/unictype/property-ascii-hex-digit: New file.
58210         * modules/unictype/property-ideographic: New file.
58211         * modules/unictype/property-unified-ideograph: New file.
58212         * modules/unictype/property-radical: New file.
58213         * modules/unictype/property-ids-binary-operator: New file.
58214         * modules/unictype/property-ids-trinary-operator: New file.
58215         * modules/unictype/property-zero-width: New file.
58216         * modules/unictype/property-space: New file.
58217         * modules/unictype/property-non-break: New file.
58218         * modules/unictype/property-iso-control: New file.
58219         * modules/unictype/property-format-control: New file.
58220         * modules/unictype/property-dash: New file.
58221         * modules/unictype/property-hyphen: New file.
58222         * modules/unictype/property-punctuation: New file.
58223         * modules/unictype/property-line-separator: New file.
58224         * modules/unictype/property-paragraph-separator: New file.
58225         * modules/unictype/property-quotation-mark: New file.
58226         * modules/unictype/property-sentence-terminal: New file.
58227         * modules/unictype/property-terminal-punctuation: New file.
58228         * modules/unictype/property-currency-symbol: New file.
58229         * modules/unictype/property-math: New file.
58230         * modules/unictype/property-other-math: New file.
58231         * modules/unictype/property-paired-punctuation: New file.
58232         * modules/unictype/property-left-of-pair: New file.
58233         * modules/unictype/property-combining: New file.
58234         * modules/unictype/property-composite: New file.
58235         * modules/unictype/property-decimal-digit: New file.
58236         * modules/unictype/property-numeric: New file.
58237         * modules/unictype/property-diacritic: New file.
58238         * modules/unictype/property-extender: New file.
58239         * modules/unictype/property-ignorable-control: New file.
58240         * modules/unictype/property-test: New file.
58241         * modules/unictype/property-byname: New file.
58242         * modules/unictype/property-all: New file.
58243         * modules/unictype/scripts: New file.
58244         * modules/unictype/scripts-all: New file.
58245         * modules/unictype/block-of: New file.
58246         * modules/unictype/block-test: New file.
58247         * modules/unictype/block-list: New file.
58248         * modules/unictype/block-all: New file.
58249         * modules/unictype/syntax-c-whitespace: New file.
58250         * modules/unictype/syntax-java-whitespace: New file.
58251         * modules/unictype/syntax-c-ident: New file.
58252         * modules/unictype/syntax-java-ident: New file.
58253         * modules/unictype/ctype-alnum: New file.
58254         * modules/unictype/ctype-alpha: New file.
58255         * modules/unictype/ctype-cntrl: New file.
58256         * modules/unictype/ctype-digit: New file.
58257         * modules/unictype/ctype-graph: New file.
58258         * modules/unictype/ctype-lower: New file.
58259         * modules/unictype/ctype-print: New file.
58260         * modules/unictype/ctype-punct: New file.
58261         * modules/unictype/ctype-space: New file.
58262         * modules/unictype/ctype-upper: New file.
58263         * modules/unictype/ctype-xdigit: New file.
58264         * modules/unictype/ctype-blank: New file.
58265         * lib/unictype/bidi_byname.c: New file.
58266         * lib/unictype/bidi_name.c: New file.
58267         * lib/unictype/bidi_of.c: New file.
58268         * lib/unictype/bidi_test.c: New file.
58269         * lib/unictype/bitmap.h: New file.
58270         * lib/unictype/block_test.c: New file.
58271         * lib/unictype/blocks.c: New file.
58272         * lib/unictype/categ_C.c: New file.
58273         * lib/unictype/categ_Cc.c: New file.
58274         * lib/unictype/categ_Cf.c: New file.
58275         * lib/unictype/categ_Cn.c: New file.
58276         * lib/unictype/categ_Co.c: New file.
58277         * lib/unictype/categ_Cs.c: New file.
58278         * lib/unictype/categ_L.c: New file.
58279         * lib/unictype/categ_Ll.c: New file.
58280         * lib/unictype/categ_Lm.c: New file.
58281         * lib/unictype/categ_Lo.c: New file.
58282         * lib/unictype/categ_Lt.c: New file.
58283         * lib/unictype/categ_Lu.c: New file.
58284         * lib/unictype/categ_M.c: New file.
58285         * lib/unictype/categ_Mc.c: New file.
58286         * lib/unictype/categ_Me.c: New file.
58287         * lib/unictype/categ_Mn.c: New file.
58288         * lib/unictype/categ_N.c: New file.
58289         * lib/unictype/categ_Nd.c: New file.
58290         * lib/unictype/categ_Nl.c: New file.
58291         * lib/unictype/categ_No.c: New file.
58292         * lib/unictype/categ_P.c: New file.
58293         * lib/unictype/categ_Pc.c: New file.
58294         * lib/unictype/categ_Pd.c: New file.
58295         * lib/unictype/categ_Pe.c: New file.
58296         * lib/unictype/categ_Pf.c: New file.
58297         * lib/unictype/categ_Pi.c: New file.
58298         * lib/unictype/categ_Po.c: New file.
58299         * lib/unictype/categ_Ps.c: New file.
58300         * lib/unictype/categ_S.c: New file.
58301         * lib/unictype/categ_Sc.c: New file.
58302         * lib/unictype/categ_Sk.c: New file.
58303         * lib/unictype/categ_Sm.c: New file.
58304         * lib/unictype/categ_So.c: New file.
58305         * lib/unictype/categ_Z.c: New file.
58306         * lib/unictype/categ_Zl.c: New file.
58307         * lib/unictype/categ_Zp.c: New file.
58308         * lib/unictype/categ_Zs.c: New file.
58309         * lib/unictype/categ_and.c: New file.
58310         * lib/unictype/categ_and_not.c: New file.
58311         * lib/unictype/categ_byname.c: New file.
58312         * lib/unictype/categ_name.c: New file.
58313         * lib/unictype/categ_none.c: New file.
58314         * lib/unictype/categ_of.c: New file.
58315         * lib/unictype/categ_or.c: New file.
58316         * lib/unictype/categ_test.c: New file.
58317         * lib/unictype/combining.c: New file.
58318         * lib/unictype/ctype_alnum.c: New file.
58319         * lib/unictype/ctype_alpha.c: New file.
58320         * lib/unictype/ctype_blank.c: New file.
58321         * lib/unictype/ctype_cntrl.c: New file.
58322         * lib/unictype/ctype_digit.c: New file.
58323         * lib/unictype/ctype_graph.c: New file.
58324         * lib/unictype/ctype_lower.c: New file.
58325         * lib/unictype/ctype_print.c: New file.
58326         * lib/unictype/ctype_punct.c: New file.
58327         * lib/unictype/ctype_space.c: New file.
58328         * lib/unictype/ctype_upper.c: New file.
58329         * lib/unictype/ctype_xdigit.c: New file.
58330         * lib/unictype/decdigit.c: New file.
58331         * lib/unictype/digit.c: New file.
58332         * lib/unictype/identsyntaxmap.h: New file.
58333         * lib/unictype/mirror.c: New file.
58334         * lib/unictype/numeric.c: New file.
58335         * lib/unictype/pr_alphabetic.c: New file.
58336         * lib/unictype/pr_ascii_hex_digit.c: New file.
58337         * lib/unictype/pr_bidi_arabic_digit.c: New file.
58338         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
58339         * lib/unictype/pr_bidi_block_separator.c: New file.
58340         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
58341         * lib/unictype/pr_bidi_common_separator.c: New file.
58342         * lib/unictype/pr_bidi_control.c: New file.
58343         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
58344         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
58345         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
58346         * lib/unictype/pr_bidi_european_digit.c: New file.
58347         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
58348         * lib/unictype/pr_bidi_left_to_right.c: New file.
58349         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
58350         * lib/unictype/pr_bidi_other_neutral.c: New file.
58351         * lib/unictype/pr_bidi_pdf.c: New file.
58352         * lib/unictype/pr_bidi_segment_separator.c: New file.
58353         * lib/unictype/pr_bidi_whitespace.c: New file.
58354         * lib/unictype/pr_byname.c: New file.
58355         * lib/unictype/pr_byname.gperf: New file.
58356         * lib/unictype/pr_combining.c: New file.
58357         * lib/unictype/pr_composite.c: New file.
58358         * lib/unictype/pr_currency_symbol.c: New file.
58359         * lib/unictype/pr_dash.c: New file.
58360         * lib/unictype/pr_decimal_digit.c: New file.
58361         * lib/unictype/pr_default_ignorable_code_point.c: New file.
58362         * lib/unictype/pr_deprecated.c: New file.
58363         * lib/unictype/pr_diacritic.c: New file.
58364         * lib/unictype/pr_extender.c: New file.
58365         * lib/unictype/pr_format_control.c: New file.
58366         * lib/unictype/pr_grapheme_base.c: New file.
58367         * lib/unictype/pr_grapheme_extend.c: New file.
58368         * lib/unictype/pr_grapheme_link.c: New file.
58369         * lib/unictype/pr_hex_digit.c: New file.
58370         * lib/unictype/pr_hyphen.c: New file.
58371         * lib/unictype/pr_id_continue.c: New file.
58372         * lib/unictype/pr_id_start.c: New file.
58373         * lib/unictype/pr_ideographic.c: New file.
58374         * lib/unictype/pr_ids_binary_operator.c: New file.
58375         * lib/unictype/pr_ids_trinary_operator.c: New file.
58376         * lib/unictype/pr_ignorable_control.c: New file.
58377         * lib/unictype/pr_iso_control.c: New file.
58378         * lib/unictype/pr_join_control.c: New file.
58379         * lib/unictype/pr_left_of_pair.c: New file.
58380         * lib/unictype/pr_line_separator.c: New file.
58381         * lib/unictype/pr_logical_order_exception.c: New file.
58382         * lib/unictype/pr_lowercase.c: New file.
58383         * lib/unictype/pr_math.c: New file.
58384         * lib/unictype/pr_non_break.c: New file.
58385         * lib/unictype/pr_not_a_character.c: New file.
58386         * lib/unictype/pr_numeric.c: New file.
58387         * lib/unictype/pr_other_alphabetic.c: New file.
58388         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
58389         * lib/unictype/pr_other_grapheme_extend.c: New file.
58390         * lib/unictype/pr_other_id_continue.c: New file.
58391         * lib/unictype/pr_other_id_start.c: New file.
58392         * lib/unictype/pr_other_lowercase.c: New file.
58393         * lib/unictype/pr_other_math.c: New file.
58394         * lib/unictype/pr_other_uppercase.c: New file.
58395         * lib/unictype/pr_paired_punctuation.c: New file.
58396         * lib/unictype/pr_paragraph_separator.c: New file.
58397         * lib/unictype/pr_pattern_syntax.c: New file.
58398         * lib/unictype/pr_pattern_white_space.c: New file.
58399         * lib/unictype/pr_private_use.c: New file.
58400         * lib/unictype/pr_punctuation.c: New file.
58401         * lib/unictype/pr_quotation_mark.c: New file.
58402         * lib/unictype/pr_radical.c: New file.
58403         * lib/unictype/pr_sentence_terminal.c: New file.
58404         * lib/unictype/pr_soft_dotted.c: New file.
58405         * lib/unictype/pr_space.c: New file.
58406         * lib/unictype/pr_terminal_punctuation.c: New file.
58407         * lib/unictype/pr_test.c: New file.
58408         * lib/unictype/pr_titlecase.c: New file.
58409         * lib/unictype/pr_unassigned_code_value.c: New file.
58410         * lib/unictype/pr_unified_ideograph.c: New file.
58411         * lib/unictype/pr_uppercase.c: New file.
58412         * lib/unictype/pr_variation_selector.c: New file.
58413         * lib/unictype/pr_white_space.c: New file.
58414         * lib/unictype/pr_xid_continue.c: New file.
58415         * lib/unictype/pr_xid_start.c: New file.
58416         * lib/unictype/pr_zero_width.c: New file.
58417         * lib/unictype/scripts.c: New file.
58418         * lib/unictype/sy_c_ident.c: New file.
58419         * lib/unictype/sy_c_whitespace.c: New file.
58420         * lib/unictype/sy_java_ident.c: New file.
58421         * lib/unictype/sy_java_whitespace.c: New file.
58422
58423         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
58424         Unicode 5.0.0.
58425         * lib/unictype/blocks.h: Likewise.
58426         * lib/unictype/categ_C.h: Likewise.
58427         * lib/unictype/categ_Cc.h: Likewise.
58428         * lib/unictype/categ_Cf.h: Likewise.
58429         * lib/unictype/categ_Cn.h: Likewise.
58430         * lib/unictype/categ_Co.h: Likewise.
58431         * lib/unictype/categ_Cs.h: Likewise.
58432         * lib/unictype/categ_L.h: Likewise.
58433         * lib/unictype/categ_Ll.h: Likewise.
58434         * lib/unictype/categ_Lm.h: Likewise.
58435         * lib/unictype/categ_Lo.h: Likewise.
58436         * lib/unictype/categ_Lt.h: Likewise.
58437         * lib/unictype/categ_Lu.h: Likewise.
58438         * lib/unictype/categ_M.h: Likewise.
58439         * lib/unictype/categ_Mc.h: Likewise.
58440         * lib/unictype/categ_Me.h: Likewise.
58441         * lib/unictype/categ_Mn.h: Likewise.
58442         * lib/unictype/categ_N.h: Likewise.
58443         * lib/unictype/categ_Nd.h: Likewise.
58444         * lib/unictype/categ_Nl.h: Likewise.
58445         * lib/unictype/categ_No.h: Likewise.
58446         * lib/unictype/categ_P.h: Likewise.
58447         * lib/unictype/categ_Pc.h: Likewise.
58448         * lib/unictype/categ_Pd.h: Likewise.
58449         * lib/unictype/categ_Pe.h: Likewise.
58450         * lib/unictype/categ_Pf.h: Likewise.
58451         * lib/unictype/categ_Pi.h: Likewise.
58452         * lib/unictype/categ_Po.h: Likewise.
58453         * lib/unictype/categ_Ps.h: Likewise.
58454         * lib/unictype/categ_S.h: Likewise.
58455         * lib/unictype/categ_Sc.h: Likewise.
58456         * lib/unictype/categ_Sk.h: Likewise.
58457         * lib/unictype/categ_Sm.h: Likewise.
58458         * lib/unictype/categ_So.h: Likewise.
58459         * lib/unictype/categ_Z.h: Likewise.
58460         * lib/unictype/categ_Zl.h: Likewise.
58461         * lib/unictype/categ_Zp.h: Likewise.
58462         * lib/unictype/categ_Zs.h: Likewise.
58463         * lib/unictype/categ_of.h: Likewise.
58464         * lib/unictype/combining.h: Likewise.
58465         * lib/unictype/ctype_alnum.h: Likewise.
58466         * lib/unictype/ctype_alpha.h: Likewise.
58467         * lib/unictype/ctype_blank.h: Likewise.
58468         * lib/unictype/ctype_cntrl.h: Likewise.
58469         * lib/unictype/ctype_digit.h: Likewise.
58470         * lib/unictype/ctype_graph.h: Likewise.
58471         * lib/unictype/ctype_lower.h: Likewise.
58472         * lib/unictype/ctype_print.h: Likewise.
58473         * lib/unictype/ctype_punct.h: Likewise.
58474         * lib/unictype/ctype_space.h: Likewise.
58475         * lib/unictype/ctype_upper.h: Likewise.
58476         * lib/unictype/ctype_xdigit.h: Likewise.
58477         * lib/unictype/decdigit.h: Likewise.
58478         * lib/unictype/digit.h: Likewise.
58479         * lib/unictype/mirror.h: Likewise.
58480         * lib/unictype/numeric.h: Likewise.
58481         * lib/unictype/pr_alphabetic.h: Likewise.
58482         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
58483         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
58484         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
58485         * lib/unictype/pr_bidi_block_separator.h: Likewise.
58486         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
58487         * lib/unictype/pr_bidi_common_separator.h: Likewise.
58488         * lib/unictype/pr_bidi_control.h: Likewise.
58489         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
58490         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
58491         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
58492         * lib/unictype/pr_bidi_european_digit.h: Likewise.
58493         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
58494         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
58495         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
58496         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
58497         * lib/unictype/pr_bidi_pdf.h: Likewise.
58498         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
58499         * lib/unictype/pr_bidi_whitespace.h: Likewise.
58500         * lib/unictype/pr_combining.h: Likewise.
58501         * lib/unictype/pr_composite.h: Likewise.
58502         * lib/unictype/pr_currency_symbol.h: Likewise.
58503         * lib/unictype/pr_dash.h: Likewise.
58504         * lib/unictype/pr_decimal_digit.h: Likewise.
58505         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
58506         * lib/unictype/pr_deprecated.h: Likewise.
58507         * lib/unictype/pr_diacritic.h: Likewise.
58508         * lib/unictype/pr_extender.h: Likewise.
58509         * lib/unictype/pr_format_control.h: Likewise.
58510         * lib/unictype/pr_grapheme_base.h: Likewise.
58511         * lib/unictype/pr_grapheme_extend.h: Likewise.
58512         * lib/unictype/pr_grapheme_link.h: Likewise.
58513         * lib/unictype/pr_hex_digit.h: Likewise.
58514         * lib/unictype/pr_hyphen.h: Likewise.
58515         * lib/unictype/pr_id_continue.h: Likewise.
58516         * lib/unictype/pr_id_start.h: Likewise.
58517         * lib/unictype/pr_ideographic.h: Likewise.
58518         * lib/unictype/pr_ids_binary_operator.h: Likewise.
58519         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
58520         * lib/unictype/pr_ignorable_control.h: Likewise.
58521         * lib/unictype/pr_iso_control.h: Likewise.
58522         * lib/unictype/pr_join_control.h: Likewise.
58523         * lib/unictype/pr_left_of_pair.h: Likewise.
58524         * lib/unictype/pr_line_separator.h: Likewise.
58525         * lib/unictype/pr_logical_order_exception.h: Likewise.
58526         * lib/unictype/pr_lowercase.h: Likewise.
58527         * lib/unictype/pr_math.h: Likewise.
58528         * lib/unictype/pr_non_break.h: Likewise.
58529         * lib/unictype/pr_not_a_character.h: Likewise.
58530         * lib/unictype/pr_numeric.h: Likewise.
58531         * lib/unictype/pr_other_alphabetic.h: Likewise.
58532         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
58533         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
58534         * lib/unictype/pr_other_id_continue.h: Likewise.
58535         * lib/unictype/pr_other_id_start.h: Likewise.
58536         * lib/unictype/pr_other_lowercase.h: Likewise.
58537         * lib/unictype/pr_other_math.h: Likewise.
58538         * lib/unictype/pr_other_uppercase.h: Likewise.
58539         * lib/unictype/pr_paired_punctuation.h: Likewise.
58540         * lib/unictype/pr_paragraph_separator.h: Likewise.
58541         * lib/unictype/pr_pattern_syntax.h: Likewise.
58542         * lib/unictype/pr_pattern_white_space.h: Likewise.
58543         * lib/unictype/pr_private_use.h: Likewise.
58544         * lib/unictype/pr_punctuation.h: Likewise.
58545         * lib/unictype/pr_quotation_mark.h: Likewise.
58546         * lib/unictype/pr_radical.h: Likewise.
58547         * lib/unictype/pr_sentence_terminal.h: Likewise.
58548         * lib/unictype/pr_soft_dotted.h: Likewise.
58549         * lib/unictype/pr_space.h: Likewise.
58550         * lib/unictype/pr_terminal_punctuation.h: Likewise.
58551         * lib/unictype/pr_titlecase.h: Likewise.
58552         * lib/unictype/pr_unassigned_code_value.h: Likewise.
58553         * lib/unictype/pr_unified_ideograph.h: Likewise.
58554         * lib/unictype/pr_uppercase.h: Likewise.
58555         * lib/unictype/pr_variation_selector.h: Likewise.
58556         * lib/unictype/pr_white_space.h: Likewise.
58557         * lib/unictype/pr_xid_continue.h: Likewise.
58558         * lib/unictype/pr_xid_start.h: Likewise.
58559         * lib/unictype/pr_zero_width.h: Likewise.
58560         * lib/unictype/scripts.h: Likewise.
58561         * lib/unictype/scripts_byname.gperf: Likewise.
58562         * lib/unictype/sy_c_ident.h: Likewise.
58563         * lib/unictype/sy_c_whitespace.h: Likewise.
58564         * lib/unictype/sy_java_ident.h: Likewise.
58565         * lib/unictype/sy_java_whitespace.h: Likewise.
58566
58567         * lib/unictype/Makefile: New file.
58568         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
58569         glibc.
58570         * lib/unictype/3level.h: New file, copied from glibc.
58571         * lib/unictype/3levelbit.h: New file.
58572
58573 2007-11-11  Bruno Haible  <bruno@clisp.org>
58574
58575         * modules/gperf: New file.
58576         * modules/iconv_open (Depends-on): Add it.
58577         (Makefile.am): Remove the GPERF definition.
58578
58579 2007-11-11  Bruno Haible  <bruno@clisp.org>
58580
58581         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
58582         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
58583
58584 2007-11-11  Bruno Haible  <bruno@clisp.org>
58585
58586         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
58587         (usage): Remove function.
58588
58589 2007-11-11  Bruno Haible  <bruno@clisp.org>
58590
58591         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
58592         gl_FUNC_CEILF_LIBS.
58593         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
58594         gl_FUNC_CEIL_LIBS.
58595         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
58596         gl_FUNC_CEILL_LIBS.
58597         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
58598         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
58599         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
58600
58601 2007-11-11  Bruno Haible  <bruno@clisp.org>
58602
58603         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
58604         roundf were declared but do not exist on functions.
58605         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
58606         roundl were declared but do not exist on functions.
58607         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
58608         HAVE_FLOORL_AND_CEILL, respectively.
58609         Needed for Sun C on Solaris 10.
58610
58611 2007-11-11  Bruno Haible  <bruno@clisp.org>
58612
58613         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
58614         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
58615         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
58616         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
58617         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
58618         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
58619         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
58620         HAVE_DECL_ROUNDF.
58621         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
58622         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
58623         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
58624         of HAVE_DECL_ROUND*.
58625         * modules/math (Makefile.am): Update.
58626
58627 2007-11-10  Bruno Haible  <bruno@clisp.org>
58628
58629         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
58630         ptrdiff_t as m4/intl.m4.
58631
58632 2007-11-10  Jim Meyering  <meyering@redhat.com>
58633
58634         Avoid link failure for the argmatch test.
58635         * tests/test-argmatch.c (usage): Define function to avoid a link
58636         failure: argmatch_die requires a usage function.
58637
58638 2007-11-09  Bruno Haible  <bruno@clisp.org>
58639
58640         * doc/functions/snprintf.texi: Mention BeOS deficiency.
58641         * doc/functions/vsnprintf.texi: Likewise.
58642         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
58643         with a size argument < 2.
58644
58645 2007-11-09  Bruno Haible  <bruno@clisp.org>
58646
58647         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
58648         buffer. Fixes an inefficiency introduced on 2007-11-03.
58649
58650 2007-11-09  Bruno Haible  <bruno@clisp.org>
58651
58652         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
58653         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
58654
58655 2007-11-08  Jim Meyering  <meyering@redhat.com>
58656
58657         Change cache variable name prefix "jm_" to "gl_" everywhere.
58658         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
58659         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
58660         * m4/uptime.m4: s/gl_/jm_/
58661
58662 2007-11-07  Bruno Haible  <bruno@clisp.org>
58663
58664         Update to GNU gettext 0.17.
58665         * m4/intl.m4: Update to GNU gettext 0.17.
58666         * m4/po.m4: Likewise.
58667         * modules/gettext (Files): Remove m4/ulonglong.m4.
58668         (configure.ac): Require gettext infrastructure from version 0.17.
58669
58670 2007-11-06  Bruno Haible  <bruno@clisp.org>
58671
58672         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
58673         symbolic values are not defined in a public header.
58674         * lib/freadable.c (freadable) [QNX]: Likewise.
58675         * lib/freadahead.c (freadahead) [QNX]: Likewise.
58676         * lib/freading.c (freading) [QNX]: Likewise.
58677         * lib/fseterr.c (fseterr) [QNX]: Likewise.
58678         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58679         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58680         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58681         Reported by Alain Magloire.
58682
58683         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58684
58685 2007-11-05  Bruno Haible  <bruno@clisp.org>
58686
58687         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58688         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58689         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58690         Reported by Eric Blake.
58691
58692 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58693             Bruno Haible  <bruno@clisp.org>
58694
58695         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58696         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58697         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58698         (malloc): Undefine also before including <stdlib.h>.
58699         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58700         Needed on OSF/1 4.0.
58701
58702 2007-11-05  Jim Meyering  <meyering@redhat.com>
58703
58704         git-version-gen: sync from coreutils.
58705         * build-aux/git-version-gen: Add comments.
58706         Change the first '-' to '.' in the snapshot version string,
58707         e.g., 6.9-377-08144 -> 6.9.377-08144
58708         Remove first parameter.
58709         Don't declare a version "-dirty" merely because a time
58710         stamp has changed.
58711
58712 2007-11-04  Bruno Haible  <bruno@clisp.org>
58713
58714         * lib/lock.h: Protect all macro definitions containing an 'if'
58715         statement through a "do { ... } while (0)".
58716         * lib/tls.h: Likewise.
58717
58718 2007-11-04  Bruno Haible  <bruno@clisp.org>
58719
58720         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58721
58722 2007-11-04  Bruno Haible  <bruno@clisp.org>
58723
58724         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58725         * modules/fprintf-posix (Depends-on): Add nocrash.
58726         * modules/snprintf-posix (Depends-on): Likewise.
58727         * modules/sprintf-posix (Depends-on): Likewise.
58728         * modules/vasnprintf-posix (Depends-on): Likewise.
58729         * modules/vasprintf-posix (Depends-on): Likewise.
58730         * modules/vfprintf-posix (Depends-on): Likewise.
58731         * modules/vsnprintf-posix (Depends-on): Likewise.
58732         * modules/vsprintf-posix (Depends-on): Likewise.
58733         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58734         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58735         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58736         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58737         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58738         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58739         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58740
58741 2007-11-04  Bruno Haible  <bruno@clisp.org>
58742
58743         * modules/nocrash: New file.
58744         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58745         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58746
58747 2007-11-04  Bruno Haible  <bruno@clisp.org>
58748
58749         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58750         precision handling.
58751         * tests/test-vasprintf-posix.c (test_function): Likewise.
58752         * tests/test-snprintf-posix.h (test_function): Likewise.
58753         * tests/test-sprintf-posix.h (test_function): Likewise.
58754
58755         Fix *printf behaviour for large precisions on mingw and BeOS.
58756         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58757         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58758         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58759         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58760         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58761         gl_PRINTF_PRECISION and test its result. Invoke
58762         gl_PREREQ_VASNPRINTF_PRECISION.
58763         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58764         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58765         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58766         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58767         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58768         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58769         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58770         * doc/functions/fprintf.texi: Update.
58771         * doc/functions/printf.texi: Update.
58772         * doc/functions/snprintf.texi: Update.
58773         * doc/functions/sprintf.texi: Update.
58774         * doc/functions/vfprintf.texi: Update.
58775         * doc/functions/vprintf.texi: Update.
58776         * doc/functions/vsnprintf.texi: Update.
58777         * doc/functions/vsprintf.texi: Update.
58778
58779 2007-11-04  Bruno Haible  <bruno@clisp.org>
58780
58781         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58782
58783 2007-11-04  Bruno Haible  <bruno@clisp.org>
58784
58785         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58786         Reported by Sylvain Beucler <beuc@gnu.org>.
58787
58788 2007-11-03  Bruno Haible  <bruno@clisp.org>
58789
58790         * tests/test-fprintf-posix2.sh: New file.
58791         * tests/test-fprintf-posix2.c: New file.
58792         * modules/fprintf-posix-tests (Files): Add them.
58793         (TESTS): Add test-fprintf-posix2.sh.
58794         (configure.ac): Check for getrlimit and setrlimit.
58795         (check_PROGRAMS): Add test-fprintf-posix2.
58796
58797         * tests/test-printf-posix2.sh: New file.
58798         * tests/test-printf-posix2.c: New file.
58799         * modules/printf-posix-tests (Files): Add them.
58800         (TESTS): Add test-printf-posix2.sh.
58801         (configure.ac): Check for getrlimit and setrlimit.
58802         (check_PROGRAMS): Add test-printf-posix2.
58803
58804         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58805         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58806         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58807         (decode_double): New function, copied from decode_long_double.
58808         (scale10_round_decimal_decoded): New function, extracted from
58809         scale10_round_decimal_long_double.
58810         (scale10_round_decimal_long_double): Use it.
58811         (scale10_round_decimal_double): New function.
58812         (floorlog10): New function.
58813         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58814         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58815         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58816         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58817         gl_PRINTF_ENOMEM and test its result. Invoke
58818         gl_PREREQ_VASNPRINTF_ENOMEM.
58819         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58820         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58821         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58822         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58823         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58824         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58825         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58826         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
58827         * modules/snprintf-posix (Depends-on): Likewise.
58828         * modules/sprintf-posix (Depends-on): Likewise.
58829         * modules/vasnprintf-posix (Depends-on): Likewise.
58830         * modules/vasprintf-posix (Depends-on): Likewise.
58831         * modules/vfprintf-posix (Depends-on): Likewise.
58832         * modules/vsnprintf-posix (Depends-on): Likewise.
58833         * modules/vsprintf-posix (Depends-on): Likewise.
58834         * doc/functions/fprintf.texi: Update.
58835         * doc/functions/printf.texi: Update.
58836         * doc/functions/snprintf.texi: Update.
58837         * doc/functions/sprintf.texi: Update.
58838         * doc/functions/vfprintf.texi: Update.
58839         * doc/functions/vprintf.texi: Update.
58840         * doc/functions/vsnprintf.texi: Update.
58841         * doc/functions/vsprintf.texi: Update.
58842
58843 2007-11-03  Bruno Haible  <bruno@clisp.org>
58844
58845         * modules/frexp-nolibm-tests: New file.
58846
58847         * modules/frexp-nolibm: New file.
58848         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58849
58850 2007-11-03  Bruno Haible  <bruno@clisp.org>
58851
58852         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58853         value is C99 compliant.
58854         Needed for OSF/1 5.1.
58855
58856 2007-11-03  Bruno Haible  <bruno@clisp.org>
58857
58858         Fix out-of-memory handling of vasnprintf.
58859         * lib/printf-parse.c: Include <errno.h>.
58860         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58861         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58862         is already set.
58863
58864 2007-11-02  Eric Blake  <ebb9@byu.net>
58865
58866         Fix tests on cygwin.
58867         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58868
58869 2007-11-01  Bruno Haible  <bruno@clisp.org>
58870
58871         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58872         warning.
58873         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58874         needed for POSIX compatibility.
58875
58876 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58877
58878         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58879         for compatibility with GNU.
58880
58881 2007-11-01  Bruno Haible  <bruno@clisp.org>
58882
58883         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58884         (putenv): Renamed from rpl_putenv. Change argument type from
58885         'const char *' to 'char *'.
58886         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58887         of defining putenv in config.h, just set REPLACE_PUTENV.
58888         * modules/putenv (Depends-on): Add stdlib.
58889         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58890         (Include): Use <stdlib.h>.
58891         * lib/stdlib.in.h (putenv): New declaration.
58892         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58893         REPLACE_PUTENV.
58894         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58895         REPLACE_PUTENV.
58896         Needed for MacOS X 10.5.0.
58897         Reported by Peter O'Gorman <peter@pogma.com>.
58898
58899 2007-11-01  Jim Meyering  <meyering@redhat.com>
58900
58901         Treat an empty date string exactly like "0".
58902         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58903         if the remaining date string (to be parsed) is empty, use "0".
58904         Reported by Mischa Molhoek and discussed in this thread:
58905         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58906
58907 2007-10-31  Bruno Haible  <bruno@clisp.org>
58908
58909         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58910         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58911         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58912         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58913         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58914         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58915
58916 2007-10-31  Bruno Haible  <bruno@clisp.org>
58917
58918         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58919         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58920         (AC_TYPE_LONG_LONG_INT): Use it.
58921         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58922         it as well.
58923         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58924         to m4/longlong.m4.
58925         * modules/stdint (Files): Remove m4/ulonglong.m4.
58926         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58927         m4/ulonglong.m4.
58928         * modules/strtoumax (Files): Likewise.
58929
58930 2007-10-30  Bruno Haible  <bruno@clisp.org>
58931
58932         * modules/xvasprintf-posix: New file.
58933         Suggested by Eric Blake.
58934
58935 2007-10-30  Bruno Haible  <bruno@clisp.org>
58936
58937         * modules/xprintf-posix-tests: New file.
58938         * tests/test-xprintf-posix.sh: New file.
58939         * tests/test-xprintf-posix.c: New file.
58940         * tests/test-xfprintf-posix.c: New file.
58941
58942         * modules/xprintf-posix: New file.
58943
58944 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58945
58946         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58947         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58948         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58949
58950 2007-10-29  Bruno Haible  <bruno@clisp.org>
58951
58952         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58953         contain the special marker '_cv_'.
58954         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58955         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58956         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58957         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58958         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58959         Reported by Ralf Wildenhues.
58960
58961 2007-10-29  Bruno Haible  <bruno@clisp.org>
58962
58963         * gnulib-tool (func_import): When --lgpl is not specified, set
58964         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
58965         GPLv3.
58966         Reported by Simon Josefsson.
58967
58968 2007-10-28  Bruno Haible  <bruno@clisp.org>
58969
58970         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
58971         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
58972         HAVE_DECL_ISFINITE.
58973         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58974         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
58975         HAVE_DECL_ISFINITE.
58976
58977 2007-10-28  Bruno Haible  <bruno@clisp.org>
58978
58979         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
58980         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
58981
58982 2007-10-28  Bruno Haible  <bruno@clisp.org>
58983
58984         Fix link errors with Sun C 5.0 on Solaris 10.
58985         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
58986         function is declared but not present in the compiler's libm.
58987         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
58988         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
58989         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
58990         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
58991         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
58992         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
58993         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
58994         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58995         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
58996         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
58997         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
58998         HAVE_DECL_FLOORL.
58999
59000 2007-10-28  Bruno Haible  <bruno@clisp.org>
59001
59002         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
59003         gl_FUNC_FLOORL. Cache the result.
59004         (gl_FUNC_FLOORL): Use it.
59005         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
59006         gl_FUNC_CEILL. Cache the result.
59007         (gl_FUNC_CEILL): Use it.
59008
59009         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
59010         gl_FUNC_FLOOR. Cache the result.
59011         (gl_FUNC_FLOOR): Use it.
59012         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
59013         gl_FUNC_CEIL. Cache the result.
59014         (gl_FUNC_CEIL): Use it.
59015
59016         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
59017         gl_FUNC_FLOORF. Cache the result.
59018         (gl_FUNC_FLOORF): Use it.
59019         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
59020         gl_FUNC_CEILF. Cache the result.
59021         (gl_FUNC_CEILF): Use it.
59022
59023 2007-10-28  Bruno Haible  <bruno@clisp.org>
59024
59025         * gnulib-tool: Allow specifying the LGPL version number through
59026         --lgpl=2 or --lgpl=3.
59027         (func_usage): Document --lgpl with argument.
59028         Handle --lgpl=... arguments.
59029         (func_import): Recognize also gl_LGPL calls with an argument. When
59030         --lgpl=2 is used and the module's license is just LGPL, report an
59031         error. Set sed_transform_lib_file according to the lgpl variable. In
59032         the generated files, use --lgpl or gl_LGPL invocations with argument,
59033         if necessary.
59034         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
59035         an LGPv2+ license.
59036         * doc/gnulib-tool.texi (Modified imports): Update explanation of
59037         gl_LGPL macro.
59038
59039 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59040             Bruno Haible  <bruno@clisp.org>
59041
59042         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
59043         (u16_uctomb_aux): Likewise.
59044         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
59045         !HAVE_INLINE.
59046         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
59047
59048 2007-10-28  Bruno Haible  <bruno@clisp.org>
59049
59050         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
59051         Invoke AM_GETTEXT_OPTION if it exists.
59052         * modules/vasprintf: Likewise.
59053         * modules/verror: Likewise.
59054         * modules/xprintf: Likewise.
59055         * modules/xvasprintf: Likewise.
59056
59057 2007-10-27  Ben Pfaff  <blp@gnu.org>
59058
59059         * lib/math.in.h: Define isfinite macro and prototypes for
59060         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
59061         implementations.
59062         * m4/math_h.m4: New substitutions for isfinite module.
59063         * lib/isfinite.c: New file.
59064         * m4/isfinite.m4: New file.
59065         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
59066         * modules/isfinite: New file.
59067         * modules/isfinite-tests: New file.
59068         * tests/tests-isfinite.c: New file.
59069         * doc/functions/isfinite.texi: Mention isfinite module.
59070         * MODULES.html.sh: Mention new module.
59071
59072 2007-10-27  Ben Pfaff  <blp@gnu.org>
59073
59074         Ralf Wildenhues reported that Tru64 4.0D declares the round
59075         functions but does not have definitions.
59076         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
59077         cannot be found in any library, set the output variable to
59078         "missing" instead of "".
59079         * m4/round.m4: Also use our substitute if we cannot find round in
59080         any library, even if it is declared.
59081         * m4/roundf.m4: Likewise for roundf.
59082         * m4/roundl.m4: Likewise for roundl.
59083         * lib/math.in.h: Undefine roundf, round, roundl before defining
59084         their replacements, to allow for hypothetical systems where these
59085         may be defined as macros but not available in libraries.
59086
59087 2007-10-27  Bruno Haible  <bruno@clisp.org>
59088
59089         * doc/gnulib.texi: Invoke @firstparagraphindent.
59090         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
59091         changes in gnulib.
59092         (Source changes): New section.
59093
59094 2007-10-26  Bruno Haible  <bruno@clisp.org>
59095
59096         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
59097         borrowed from autoconf.
59098
59099 2007-10-26  Bruno Haible  <bruno@clisp.org>
59100
59101         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
59102         strerror returned the empty string. Needed on HP-UX 11.00.
59103
59104 2007-10-24  Micah Cowan  <micah@cowan.name>
59105
59106         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
59107         * build-aux/bootstrap: Remove support for now-unnecessary option,
59108         --cvs-user, and envvars CVS_USER, CVS_RSH.
59109
59110 2007-10-24  Jim Meyering  <meyering@redhat.com>
59111
59112         Avoid diagnostics from sha1sum when there is no cached checksum.
59113         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
59114         if the po.s1 file hasn't been created yet.
59115
59116         * build-aux/bootstrap: Sync from coreutils:
59117         2007-10-24  Jim Meyering  <meyering@redhat.com>
59118         Get gnulib from the git repository, not from an obsolete cvs one.
59119         * build-aux/bootstrap: Suggestion from Micah Cowan.
59120         2007-10-04  Jim Meyering  <jim@meyering.net>
59121         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
59122         (update_po_files): Work also when there are no .po files in po/.
59123
59124 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59125
59126         * README: Append ".git" to git and cg examples.
59127         Problem reported by Benoit Sigoure.
59128
59129 2007-10-23  Micah Cowan  <micah@cowan.name>
59130
59131         * users.txt: Add wget.
59132
59133 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59134
59135         Fix linking of some unistdio tests on FreeBSD.
59136         * modules/unistdio/u16-vsnprintf-tests
59137         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
59138         * modules/unistdio/u16-vsprintf-tests
59139         (test_u16_vsnprintf1_LDADD): Likewise.
59140         * modules/unistdio/u32-vsnprintf-tests
59141         (test_u32_vsnprintf1_LDADD): Likewise.
59142         * modules/unistdio/u32-vsprintf-tests
59143         (test_u32_vsprintf1_LDADD): Likewise.
59144         * modules/unistdio/u8-vsnprintf-tests
59145         (test_u8_vsnprintf1_LDADD): Likewise.
59146         * modules/unistdio/u8-vsprintf-tests
59147         (test_u8_vsprintf1_LDADD): Likewise.
59148         * modules/unistdio/ulc-vsnprintf-tests
59149         (test_ulc_vsnprintf1_LDADD): Likewise.
59150         * modules/unistdio/ulc-vsprintf-tests
59151         (test_ulc_vsprintf1_LDADD): Likewise.
59152
59153         Fix linking of some uniconv tests on FreeBSD.
59154         * modules/uniconv/u16-conv-from-enc-tests
59155         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
59156         * modules/uniconv/u16-conv-to-enc-tests
59157         (test_u16_conv_to_enc_LDADD): Likewise.
59158         * modules/uniconv/u16-strconv-from-enc-tests
59159         (test_u16_strconv_from_enc_LDADD): Likewise.
59160         * modules/uniconv/u16-strconv-to-enc-tests
59161         (test_u16_strconv_to_enc_LDADD): Likewise.
59162         * modules/uniconv/u32-conv-from-enc-tests
59163         (test_u32_conv_from_enc_LDADD): Likewise.
59164         * modules/uniconv/u32-conv-to-enc-tests
59165         (test_u32_conv_to_enc_LDADD): Likewise.
59166         * modules/uniconv/u32-strconv-from-enc-tests
59167         (test_u32_strconv_from_enc_LDADD): Likewise.
59168         * modules/uniconv/u32-strconv-to-enc-tests
59169         (test_u32_strconv_to_enc_LDADD): Likewise.
59170         * modules/uniconv/u8-conv-from-enc-tests
59171         (test_u8_conv_from_enc_LDADD): Likewise.
59172         * modules/uniconv/u8-conv-to-enc-tests
59173         (test_u8_conv_to_enc_LDADD): Likewise.
59174         * modules/uniconv/u8-strconv-from-enc-tests
59175         (test_u8_strconv_from_enc_LDADD): Likewise.
59176         * modules/uniconv/u8-strconv-to-enc-tests
59177         (test_u8_strconv_to_enc_LDADD): Likewise.
59178
59179 2007-10-22  Bruno Haible  <bruno@clisp.org>
59180
59181         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
59182         size.
59183
59184 2007-10-22  Eric Blake  <ebb9@byu.net>
59185
59186         Tweak x*printf documentation.
59187         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
59188         variable name and comments.
59189         Suggested by Bruno Haible.
59190
59191 2007-10-22  Bruno Haible  <bruno@clisp.org>
59192
59193         * lib/acl.c (copy_acl): Fix file name in comment.
59194
59195 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59196
59197         Fix Tru64 problem with stdbool.h.
59198         * lib/stdbool.in.h (false, true):
59199         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
59200         Don't declare as an enum in this situation; it runs afoul of Tru64.
59201         Problem reported by Steven M. Schweda in
59202         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
59203
59204 2007-10-22  Eric Blake  <ebb9@byu.net>
59205
59206         Also wrap vf?printf.
59207         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
59208         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
59209         (xvprintf, xvfprintf): New functions.
59210
59211 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59212
59213         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
59214         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
59215
59216         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
59217         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
59218
59219 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59220
59221         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
59222         by Bruno Haible.
59223
59224 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59225
59226         * lib/getloadavg.c
59227         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
59228         Undef `sys' after including sys/table.h, for Tru64 4.0D.
59229
59230         * tests/test-i-ring.c: Work for C89.
59231
59232 2007-10-22  Bruno Haible  <bruno@clisp.org>
59233
59234         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
59235         -1u, in preprocessor expression, so that we don't test for the bug
59236         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
59237         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
59238
59239 2007-10-22  Eric Blake  <ebb9@byu.net>
59240
59241         * tests/test-yesno.sh: Silence stderr during test.
59242
59243 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59244
59245         * modules/crypto/gc-camellia: New file.
59246
59247         * m4/gc-camellia.m4: New file.
59248
59249         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
59250
59251         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
59252
59253 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59254
59255         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
59256         --help to stdout.  Reported by sms@antinode.org (Steven
59257         M. Schweda).
59258
59259 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59260
59261         * users.txt: Fix link to libksba.
59262
59263 2007-10-21  Ben Pfaff  <blp@gnu.org>
59264
59265         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
59266         round.c roundf implementation that depends on floorf and ceilf to
59267         be tested unconditionally.
59268
59269 2007-10-21  Ben Pfaff  <blp@gnu.org>
59270
59271         * m4/check-libm-func.m4: Removed.
59272         * m4/check-math-lib.m4: New file.
59273         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
59274         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
59275         definition and lack of AC_LIBOBJ([roundf]).
59276         * m4/roundl.m4: Ditto, and similarly for roundl.
59277         * modules/round: Reference new m4 file.
59278         * modules/roundf: Ditto.
59279         * modules/roundl: Ditto.
59280         * tests/test-round2.c (main): Use ROUND instead of round.
59281         Bug report from Bruno Haible.
59282
59283 2007-10-21  Bruno Haible  <bruno@clisp.org>
59284
59285         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
59286         context.
59287
59288 2007-10-21  Bruno Haible  <bruno@clisp.org>
59289
59290         * tests/test-wcwidth.c (main): Allow negative result for some control
59291         characters.
59292
59293         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
59294         Needed on OSF/1 5.1.
59295
59296 2007-10-21  Bruno Haible  <bruno@clisp.org>
59297
59298         * tests/test-floorf1.c: Include isnanf.h.
59299         (main): Use isnanf() instead of isnan().
59300         * tests/test-ceilf1.c: Include isnanf.h.
59301         (main): Use isnanf() instead of isnan().
59302         * tests/test-truncf1.c: Include isnanf.h.
59303         (main): Use isnanf() instead of isnan().
59304         * tests/test-roundf1.c: Include isnanf.h.
59305         (main): Use isnanf() instead of isnan().
59306
59307 2007-10-21  Eric Blake  <ebb9@byu.net>
59308
59309         * users.txt: Update URL for m4.
59310
59311 2007-10-21  Bruno Haible  <bruno@clisp.org>
59312
59313         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
59314
59315 2007-10-21  Bruno Haible  <bruno@clisp.org>
59316
59317         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
59318         Git's management files if the CVS files are not present.
59319
59320 2007-10-20  Bruno Haible  <bruno@clisp.org>
59321
59322         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
59323         gcc-3.4.x.
59324
59325 2007-10-20  Ben Pfaff  <blp@gnu.org>
59326
59327         * lib/math.in.h: Declare round, roundf, roundl if we are providing
59328         implementations.
59329         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
59330         * lib/round.c: New file.
59331         * lib/roundf.c: New file.
59332         * lib/roundl.c: New file.
59333         * m4/round.m4: New file.
59334         * m4/roundf.m4: New file.
59335         * m4/roundl.m4: New file.
59336         * m4/check-libm-func-m4: New file.
59337         * modules/math: Replace round, roundf, roundl related @VARS@ in
59338         math.in.h.
59339         * modules/round: New file.
59340         * modules/round-tests: New file.
59341         * modules/roundf: New file.
59342         * modules/roundf-tests: New file.
59343         * modules/roundl: New file.
59344         * modules/roundl-tests: New file.
59345         * tests/test-round1.c: New file.
59346         * tests/test-round2.c: New file.
59347         * tests/test-roundf1.c: New file.
59348         * tests/test-roundf2.c: New file.
59349         * tests/test-roundl.c: New file.
59350         * doc/functions/round.texi: Mention round module.
59351         * doc/functions/roundf.texi: Mention roundf module.
59352         * doc/functions/roundl.texi: Mention roundl module.
59353         * MODULES.html.sh: Mention new modules.
59354         Thanks to Bruno Haible for suggestions.
59355
59356 2007-10-20  Jim Meyering  <meyering@redhat.com>
59357
59358         * lib/xprintf.c: Include <config.h> unconditionally.
59359
59360         Change xprintf's license to GPL.
59361         * modules/xprintf (License): s/LGPL/GPL/, since this module
59362         depends on modules (exit and exitfail) which are GPL.
59363         Suggestion from Bruno Haible.
59364
59365         xprintf fixes.
59366         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
59367         Use a clearer diagnostic.
59368         Patch from Bruno Haible.
59369
59370 2007-10-20  Bruno Haible  <bruno@clisp.org>
59371
59372         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
59373         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
59374         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59375
59376 2007-10-20  Bruno Haible  <bruno@clisp.org>
59377
59378         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
59379         precision in the comparison result > x - 1 or similar.
59380         * tests/test-ceilf2.c (correct_result_p): Likewise.
59381         * tests/test-truncf2.c (correct_result_p): Likewise.
59382         * tests/test-trunc2.c (correct_result_p): Likewise.
59383         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59384
59385 2007-10-20  Bruno Haible  <bruno@clisp.org>
59386
59387         * modules/ceil: New file.
59388         * m4/ceil.m4: New file.
59389         * doc/functions/ceil.texi: Mention the 'ceil' module.
59390
59391 2007-10-20  Bruno Haible  <bruno@clisp.org>
59392
59393         * modules/floor: New file.
59394         * m4/floor.m4: New file.
59395         * doc/functions/floor.texi: Mention the 'floor' module.
59396
59397 2007-10-20  Bruno Haible  <bruno@clisp.org>
59398
59399         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
59400         of %a.
59401         * modules/floorf-tests (Depends-on): Likewise.
59402         * modules/truncf-tests (Depends-on): Likewise.
59403         * modules/trunc-tests (Depends-on): Likewise.
59404         Reported by Ben Pfaff.
59405
59406 2007-10-19  Jim Meyering  <meyering@redhat.com>
59407
59408         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
59409         Don't bother testing specific errno values.  Just test ferror.
59410
59411         New module: xprintf
59412         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
59413
59414 2007-10-19  Bruno Haible  <bruno@clisp.org>
59415
59416         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
59417         syntax.
59418         * modules/javaexec (Makefile.am): Likewise.
59419         * modules/relocatable-prog (Makefile.am): Likewise.
59420         Suggested by Jim Meyering.
59421
59422 2007-10-18  Bruno Haible  <bruno@clisp.org>
59423
59424         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
59425         Reported by Jim Meyering.
59426
59427 2007-10-18  Eric Blake  <ebb9@byu.net>
59428
59429         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
59430
59431 2007-10-18  Bruno Haible  <bruno@clisp.org>
59432
59433         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
59434         the format string into writable memory. Needed in Fortify conditions.
59435
59436 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
59437             Bruno Haible  <bruno@clisp.org>
59438
59439         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
59440         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
59441         * modules/trim (Depends-on): Add mbchar.
59442         (configure.ac): Add gl_FUNC_MBRTOWC.
59443         (Makefile.am): Augment lib_SOURCES.
59444
59445 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59446
59447         Modify glob.c to use fstatat and dirfd, to simplify it.
59448         Suggested by Eric Blake.
59449         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
59450         Don't include <stdbool.h>; not used.
59451         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
59452         (link_exists_p): Simplify implementation, since we can now assume
59453         dirfd and fstatat.
59454         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
59455
59456 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59457
59458         * gnulib-tool (func_get_dependencies): Fix sed script to
59459         match only tests.
59460
59461 2007-10-17  Bruno Haible  <bruno@clisp.org>
59462
59463         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
59464         allow locale names without encoding suffix.
59465         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59466         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59467
59468 2007-10-16  Bruno Haible  <bruno@clisp.org>
59469
59470         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
59471         * lib/getgroups.c (getgroups): Likewise.
59472         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
59473
59474 2007-10-16  Bruno Haible  <bruno@clisp.org>
59475
59476         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
59477         * modules/malloc-posix (License): Likewise.
59478         * modules/realloc-posix (License): Likewise.
59479         * modules/calloc-posix (License): Likewise.
59480         * modules/intprops (License): Change from GPL to LGPL, with
59481         Paul Eggert's approval.
59482
59483 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59484
59485         Merge glibc changes into lib/glob.c.
59486
59487         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
59488         2007-10-15 04:59:03 UTC.  Here are the changes:
59489
59490         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
59491
59492         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
59493
59494         * lib/glob.c: Add some branch prediction throughout.
59495
59496         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
59497
59498         [BZ #5103]
59499         * lib/glob.c (glob): Recognize patterns starting \/.
59500
59501         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
59502
59503         [BZ #3996]
59504         * lib/glob.c (attribute_hidden): Define if not defined.
59505         (glob): Unescape dirname, filename or username when needed and not
59506         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
59507         is NULL.  Handle unescaped [ in pattern without closing ].
59508         Don't pass GLOB_CHECK down to recursive glob for directories.
59509         (__glob_pattern_type): New function.
59510         (__glob_pattern_p): Implement using __glob_pattern_type.
59511         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
59512         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
59513         Remove unreachable code.
59514
59515         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
59516
59517         * lib/glob.c (glob_in_dir): Add some comments and asserts to
59518         explain why there are no leaks.
59519
59520         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
59521
59522         [BZ #3253]
59523         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
59524         time, rather allocate increasingly bigger arrays of pointers, if
59525         possible with alloca, if too large with malloc.
59526
59527 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59528
59529         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
59530         Problem reported by H.Merijn Brand in
59531         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
59532         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
59533         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59534
59535 2007-10-15  Bruno Haible  <bruno@clisp.org>
59536
59537         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
59538         with explicit rpl_ prefix.
59539         * lib/fopen.c (fopen): Likewise.
59540         * lib/freopen.c (freopen): Likewise.
59541         * lib/iconv.c (iconv): Likewise.
59542         * lib/iconv_close.c (iconv_close): Likewise.
59543
59544 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59545
59546         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
59547
59548 2007-10-15  Bruno Haible  <bruno@clisp.org>
59549
59550         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
59551         <stddef.h> instead of <stdlib.h> since we only need NULL.
59552         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59553
59554 2007-10-15  Bruno Haible  <bruno@clisp.org>
59555
59556         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
59557         Replace paragraph talking about LIBOBJS.
59558         Reported by Colin Watson <cjwatson@debian.org>.
59559
59560 2007-10-15  Bruno Haible  <bruno@clisp.org>
59561
59562         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
59563         <stdlib.h> before using NULL.
59564
59565 2007-10-15  Simon Josefsson  <simon@josefsson.org>
59566
59567         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
59568         Reported by Albert Chin <china@thewrittenword.com>.
59569
59570 2007-10-14  Bruno Haible  <bruno@clisp.org>
59571
59572         * modules/iconv_open-utf-tests: New file.
59573         * tests/test-iconv-utf.c: New file.
59574
59575         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
59576         * modules/iconv_open-utf: New file.
59577         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
59578         (iconv, iconv_close): New declarations.
59579         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
59580         be defined.
59581         (iconv_open): Add special handling of conversion between UTF-8 and
59582         UTF-{16,32}{BE,LE}.
59583         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
59584         * lib/iconv_close.c: New file.
59585         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
59586         gl_FUNC_ICONV_OPEN.
59587         (gl_FUNC_ICONV_OPEN): Use it.
59588         (gl_FUNC_ICONV_OPEN_UTF): New macro.
59589         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
59590         and REPLACE_ICONV_UTF.
59591         * modules/iconv_open (Depends-on): Add c-strcase.
59592         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
59593         ICONV_CONST.
59594         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
59595
59596 2007-10-13  Albert Chin  <china@thewrittenword.com>
59597             Bruno Haible  <bruno@clisp.org>
59598
59599         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
59600         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
59601
59602 2007-10-13  Bruno Haible  <bruno@clisp.org>
59603
59604         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
59605         defined, use the ISO C99 inline semantics.
59606         * lib/argp.h (ARGP_EI): Likewise.
59607
59608 2007-10-13  Bruno Haible  <bruno@clisp.org>
59609
59610         Handle 'inline' change in gcc 4.3.0.
59611         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
59612         argp_fmtstream_write, argp_fmtstream_set_lmargin,
59613         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
59614         argp_fmtstream_point): Disable 'extern' declaration if the function
59615         definition is going to be provided inline.
59616         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
59617         semantics, not the ISO C99 inline semantics.
59618         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
59619         'extern' declaration if the function definition is going to be provided
59620         inline.
59621         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
59622         the GNU C inline semantics, not the ISO C99 inline semantics. With
59623         GCC 4.2, avoid a warning.
59624
59625 2007-10-13  Bruno Haible  <bruno@clisp.org>
59626
59627         * lib/freading.h (freading): Enable the use of __freading for
59628         glibc >= 2.7.
59629         * lib/freading.c (freading): Likewise.
59630
59631 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59632
59633         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
59634         "warning: C99 inline functions are not supported; using GNU89".
59635
59636 2007-10-12  Bruno Haible  <bruno@clisp.org>
59637
59638         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
59639         of 2.
59640         * tests/test-ceilf2.c: New file.
59641         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
59642
59643         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
59644         * modules/ceilf-tests: Update.
59645
59646 2007-10-12  Bruno Haible  <bruno@clisp.org>
59647
59648         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
59649         of 2.
59650         * tests/test-floorf2.c: New file.
59651         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
59652
59653         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
59654         * modules/floorf-tests: Update.
59655
59656 2007-10-12  Bruno Haible  <bruno@clisp.org>
59657
59658         * tests/test-trunc2.c: New file.
59659         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
59660
59661         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
59662         * modules/trunc-tests: Update.
59663
59664 2007-10-12  Bruno Haible  <bruno@clisp.org>
59665
59666         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
59667         of 2.
59668         * tests/test-truncf2.c: New file.
59669         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
59670
59671         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
59672         * modules/truncf-tests: Update.
59673
59674 2007-10-11  Eric Blake  <ebb9@byu.net>
59675
59676         Don't claim strerror is broken on Interix.
59677         * doc/functions/strerror.texi (strerror): Known broken systems are
59678         now Solaris 8, and not Interix.
59679         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59680         Interix on cross-compile.
59681         Reported by Martin Koeppe in
59682         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59683
59684 2007-10-11  Bruno Haible  <bruno@clisp.org>
59685
59686         * modules/i-ring-tests: New file.
59687         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59688         instead of assert.
59689
59690 2007-10-11  Bruno Haible  <bruno@clisp.org>
59691
59692         * modules/filenamecat-tests: New file.
59693         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59694         * lib/filenamecat.c: Remove test code.
59695
59696 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59697
59698         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59699
59700         * lib/strerror.c: Include <string.h> always, to test interface,
59701         and to remove the need for the dummy.
59702         Include intprops.h to compute width instead of doing it ourselves
59703         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59704         (strerror): Define it to return NULL if there's no system strerror.
59705         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59706         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59707         ancient pre-strerror Unix systems well any more.  Saying "unknown
59708         system error" is enough.
59709         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59710         simpler strerror.c implementation.
59711         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59712         Simplify the tests to reflect the simpler strerror implementation.
59713         * modules/strerror (Depends-on): Add intprops.
59714
59715 2007-10-09  Eric Blake  <ebb9@byu.net>
59716
59717         Silence test-fpending.
59718         * modules/fpending-tests (Files): Add wrapper script.
59719         * tests/test-fpending.sh: New file.
59720
59721 2007-10-09  Bruno Haible  <bruno@clisp.org>
59722
59723         * MODULES.html.sh (func_module): Don't create a hyperlink for
59724         function names like 'printf_frexp'.
59725         (Misc): Add crc, memxor.
59726         (Characteristics of floating types): New section.
59727         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59728         isnanf-nolibm, signbit, trunc, truncf, truncl.
59729         (Enhancements for ISO C 99 functions): New subsection Input/output.
59730         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59731         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59732         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59733         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59734         (Enhancements for POSIX:2001 functions): Add chdir-long.
59735         (File system functions): Add areadlink, chdir-safer, read-file.
59736         Remove cycle-check.
59737         (File system as inode set): New section.
59738         (Date and time): Add gethrxtime.
59739         (Multithreading): Add openmp.
59740         (Internationalization functions): Add localename.
59741         (Unicode string functions): Add unistr/u*-mbsnlen.
59742         (Support for maintaining and releasing projects): Add git-version-gen.
59743         (Lone files): Remove directories.
59744
59745 2007-10-08  Ben Pfaff  <blp@gnu.org>
59746
59747         * lib/xmalloca.h: Fix typo in comment.
59748
59749 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59750
59751         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59752         when avoiding problems with integer overflow.  Use a portable test
59753         instead.
59754
59755 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59756
59757         * modules/dummy (License): Change to LGPLv2+.
59758         * modules/float (License): Likewise
59759         * modules/realloc (License): Likewise
59760         * modules/stdlib (License): Likewise
59761
59762 2007-10-07  Bruno Haible  <bruno@clisp.org>
59763
59764         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59765         * floor.c (TWO_MANT_DIG): Likewise.
59766         * ceil.c (TWO_MANT_DIG): Likewise.
59767         Reported by Ben Pfaff.
59768
59769 2007-10-07  Bruno Haible  <bruno@clisp.org>
59770
59771         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59772         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59773         * lib/frexp.c (FUNC): Likewise.
59774         * lib/printf-frexp.h (printf_frexp): Likewise.
59775         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59776         * lib/printf-frexp.c (FUNC): Likewise.
59777         Suggested by Jim Meyering.
59778
59779 2007-10-07  Jim Meyering  <meyering@redhat.com>
59780
59781         Make xnanosleep's integer overflow test more robust.
59782         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59783         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59784
59785 2007-10-07  Bruno Haible  <bruno@clisp.org>
59786
59787         * NEWS: Mention the license change.
59788
59789         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59790         abbreviations in the modules files.
59791
59792         Change copyright notice from GPLv2+ to GPLv3+.
59793         * README: Change copyright notice.
59794         * MODULES.html.sh: Likewise.
59795         * build-aux/bootstrap.conf: Likewise.
59796         * build-aux/config.libpath: Likewise.
59797         * build-aux/csharpcomp.sh.in: Likewise.
59798         * build-aux/csharpexec.sh.in: Likewise.
59799         * build-aux/install-reloc: Likewise.
59800         * build-aux/javacomp.sh.in: Likewise.
59801         * build-aux/javaexec.sh.in: Likewise.
59802         * build-aux/ldd.sh.in: Likewise.
59803         * build-aux/reloc-ldflags: Likewise.
59804         * build-aux/relocatable.sh.in: Likewise.
59805         * build-aux/x-to-1.in: Likewise.
59806         * check-module: Likewise.
59807         * config/srclistvars.sh: Likewise.
59808         * gnulib-tool: Likewise.
59809         * lib/acl-internal.h: Likewise.
59810         * lib/acl.c: Likewise.
59811         * lib/acl.h: Likewise.
59812         * lib/acl_entries.c: Likewise.
59813         * lib/areadlink-with-size.c: Likewise.
59814         * lib/areadlink.c: Likewise.
59815         * lib/areadlink.h: Likewise.
59816         * lib/argmatch.c: Likewise.
59817         * lib/argmatch.h: Likewise.
59818         * lib/argp-ba.c: Likewise.
59819         * lib/argp-eexst.c: Likewise.
59820         * lib/argp-fmtstream.c: Likewise.
59821         * lib/argp-fmtstream.h: Likewise.
59822         * lib/argp-fs-xinl.c: Likewise.
59823         * lib/argp-help.c: Likewise.
59824         * lib/argp-namefrob.h: Likewise.
59825         * lib/argp-parse.c: Likewise.
59826         * lib/argp-pin.c: Likewise.
59827         * lib/argp-pv.c: Likewise.
59828         * lib/argp-pvh.c: Likewise.
59829         * lib/argp-xinl.c: Likewise.
59830         * lib/argp.h: Likewise.
59831         * lib/at-func.c: Likewise.
59832         * lib/atanl.c: Likewise.
59833         * lib/backupfile.c: Likewise.
59834         * lib/backupfile.h: Likewise.
59835         * lib/basename.c: Likewise.
59836         * lib/binary-io.h: Likewise.
59837         * lib/byteswap.in.h: Likewise.
59838         * lib/c-stack.c: Likewise.
59839         * lib/c-stack.h: Likewise.
59840         * lib/c-strcasestr.c: Likewise.
59841         * lib/c-strcasestr.h: Likewise.
59842         * lib/c-strstr.c: Likewise.
59843         * lib/c-strstr.h: Likewise.
59844         * lib/c-strtod.c: Likewise.
59845         * lib/calloc.c: Likewise.
59846         * lib/canon-host.c: Likewise.
59847         * lib/canon-host.h: Likewise.
59848         * lib/canonicalize-lgpl.c: Likewise.
59849         * lib/canonicalize.c: Likewise.
59850         * lib/canonicalize.h: Likewise.
59851         * lib/ceil.c: Likewise.
59852         * lib/ceilf.c: Likewise.
59853         * lib/ceill.c: Likewise.
59854         * lib/chdir-long.c: Likewise.
59855         * lib/chdir-long.h: Likewise.
59856         * lib/chdir-safer.c: Likewise.
59857         * lib/chdir-safer.h: Likewise.
59858         * lib/chown.c: Likewise.
59859         * lib/classpath.c: Likewise.
59860         * lib/classpath.h: Likewise.
59861         * lib/clean-temp.c: Likewise.
59862         * lib/clean-temp.h: Likewise.
59863         * lib/cloexec.c: Likewise.
59864         * lib/close-stream.c: Likewise.
59865         * lib/closein.c: Likewise.
59866         * lib/closein.h: Likewise.
59867         * lib/closeout.c: Likewise.
59868         * lib/closeout.h: Likewise.
59869         * lib/concat-filename.c: Likewise.
59870         * lib/copy-file.c: Likewise.
59871         * lib/copy-file.h: Likewise.
59872         * lib/count-one-bits.h: Likewise.
59873         * lib/crc.c: Likewise.
59874         * lib/crc.h: Likewise.
59875         * lib/creat-safer.c: Likewise.
59876         * lib/csharpcomp.c: Likewise.
59877         * lib/csharpcomp.h: Likewise.
59878         * lib/csharpexec.c: Likewise.
59879         * lib/csharpexec.h: Likewise.
59880         * lib/cycle-check.c: Likewise.
59881         * lib/cycle-check.h: Likewise.
59882         * lib/diacrit.c: Likewise.
59883         * lib/diacrit.h: Likewise.
59884         * lib/diffseq.h: Likewise.
59885         * lib/dirchownmod.c: Likewise.
59886         * lib/dirent.in.h: Likewise.
59887         * lib/dirfd.c: Likewise.
59888         * lib/dirfd.h: Likewise.
59889         * lib/dirname.c: Likewise.
59890         * lib/dirname.h: Likewise.
59891         * lib/dummy.c: Likewise.
59892         * lib/dup-safer.c: Likewise.
59893         * lib/dup2.c: Likewise.
59894         * lib/eealloc.h: Likewise.
59895         * lib/error.c: Likewise.
59896         * lib/error.h: Likewise.
59897         * lib/euidaccess.c: Likewise.
59898         * lib/exclude.c: Likewise.
59899         * lib/exclude.h: Likewise.
59900         * lib/execute.c: Likewise.
59901         * lib/execute.h: Likewise.
59902         * lib/exitfail.c: Likewise.
59903         * lib/exitfail.h: Likewise.
59904         * lib/expl.c: Likewise.
59905         * lib/fatal-signal.c: Likewise.
59906         * lib/fatal-signal.h: Likewise.
59907         * lib/fbufmode.c: Likewise.
59908         * lib/fbufmode.h: Likewise.
59909         * lib/fchdir.c: Likewise.
59910         * lib/fchmodat.c: Likewise.
59911         * lib/fchownat.c: Likewise.
59912         * lib/fcntl--.h: Likewise.
59913         * lib/fcntl-safer.h: Likewise.
59914         * lib/fcntl.in.h: Likewise.
59915         * lib/fd-safer.c: Likewise.
59916         * lib/fflush.c: Likewise.
59917         * lib/file-has-acl.c: Likewise.
59918         * lib/file-set.c: Likewise.
59919         * lib/file-type.c: Likewise.
59920         * lib/file-type.h: Likewise.
59921         * lib/fileblocks.c: Likewise.
59922         * lib/filemode.c: Likewise.
59923         * lib/filemode.h: Likewise.
59924         * lib/filename.h: Likewise.
59925         * lib/filenamecat.c: Likewise.
59926         * lib/filenamecat.h: Likewise.
59927         * lib/findprog.c: Likewise.
59928         * lib/findprog.h: Likewise.
59929         * lib/float.in.h: Likewise.
59930         * lib/floor.c: Likewise.
59931         * lib/floorf.c: Likewise.
59932         * lib/floorl.c: Likewise.
59933         * lib/fopen-safer.c: Likewise.
59934         * lib/fopen.c: Likewise.
59935         * lib/fpending.c: Likewise.
59936         * lib/fpending.h: Likewise.
59937         * lib/fprintf.c: Likewise.
59938         * lib/fprintftime.h: Likewise.
59939         * lib/fpucw.h: Likewise.
59940         * lib/fpurge.c: Likewise.
59941         * lib/fpurge.h: Likewise.
59942         * lib/freadable.c: Likewise.
59943         * lib/freadable.h: Likewise.
59944         * lib/freadahead.c: Likewise.
59945         * lib/freadahead.h: Likewise.
59946         * lib/freading.c: Likewise.
59947         * lib/freading.h: Likewise.
59948         * lib/free.c: Likewise.
59949         * lib/freopen.c: Likewise.
59950         * lib/frexp.c: Likewise.
59951         * lib/frexpl.c: Likewise.
59952         * lib/fseek.c: Likewise.
59953         * lib/fseterr.c: Likewise.
59954         * lib/fseterr.h: Likewise.
59955         * lib/fstatat.c: Likewise.
59956         * lib/fstrcmp.c: Likewise.
59957         * lib/fstrcmp.h: Likewise.
59958         * lib/fsusage.c: Likewise.
59959         * lib/fsusage.h: Likewise.
59960         * lib/ftell.c: Likewise.
59961         * lib/ftello.c: Likewise.
59962         * lib/fts-cycle.c: Likewise.
59963         * lib/fts.c: Likewise.
59964         * lib/fts_.h: Likewise.
59965         * lib/full-read.c: Likewise.
59966         * lib/full-read.h: Likewise.
59967         * lib/full-write.c: Likewise.
59968         * lib/full-write.h: Likewise.
59969         * lib/fwritable.c: Likewise.
59970         * lib/fwritable.h: Likewise.
59971         * lib/fwriteerror.c: Likewise.
59972         * lib/fwriteerror.h: Likewise.
59973         * lib/fwriting.c: Likewise.
59974         * lib/fwriting.h: Likewise.
59975         * lib/gcd.c: Likewise.
59976         * lib/gcd.h: Likewise.
59977         * lib/getcwd.c: Likewise.
59978         * lib/getdate.h: Likewise.
59979         * lib/getdate.y: Likewise.
59980         * lib/getdomainname.c: Likewise.
59981         * lib/getdomainname.h: Likewise.
59982         * lib/getgroups.c: Likewise.
59983         * lib/gethostname.c: Likewise.
59984         * lib/gethrxtime.c: Likewise.
59985         * lib/gethrxtime.h: Likewise.
59986         * lib/getloadavg.c: Likewise.
59987         * lib/getndelim2.c: Likewise.
59988         * lib/getndelim2.h: Likewise.
59989         * lib/getnline.c: Likewise.
59990         * lib/getnline.h: Likewise.
59991         * lib/getopt.c: Likewise.
59992         * lib/getopt.in.h: Likewise.
59993         * lib/getopt1.c: Likewise.
59994         * lib/getopt_int.h: Likewise.
59995         * lib/getpagesize.h: Likewise.
59996         * lib/getsubopt.c: Likewise.
59997         * lib/gettime.c: Likewise.
59998         * lib/getugroups.c: Likewise.
59999         * lib/getugroups.h: Likewise.
60000         * lib/getusershell.c: Likewise.
60001         * lib/gl_anyavltree_list1.h: Likewise.
60002         * lib/gl_anyavltree_list2.h: Likewise.
60003         * lib/gl_anyhash_list1.h: Likewise.
60004         * lib/gl_anyhash_list2.h: Likewise.
60005         * lib/gl_anylinked_list1.h: Likewise.
60006         * lib/gl_anylinked_list2.h: Likewise.
60007         * lib/gl_anyrbtree_list1.h: Likewise.
60008         * lib/gl_anyrbtree_list2.h: Likewise.
60009         * lib/gl_anytree_list1.h: Likewise.
60010         * lib/gl_anytree_list2.h: Likewise.
60011         * lib/gl_anytree_oset.h: Likewise.
60012         * lib/gl_anytreehash_list1.h: Likewise.
60013         * lib/gl_anytreehash_list2.h: Likewise.
60014         * lib/gl_array_list.c: Likewise.
60015         * lib/gl_array_list.h: Likewise.
60016         * lib/gl_array_oset.c: Likewise.
60017         * lib/gl_array_oset.h: Likewise.
60018         * lib/gl_avltree_list.c: Likewise.
60019         * lib/gl_avltree_list.h: Likewise.
60020         * lib/gl_avltree_oset.c: Likewise.
60021         * lib/gl_avltree_oset.h: Likewise.
60022         * lib/gl_avltreehash_list.c: Likewise.
60023         * lib/gl_avltreehash_list.h: Likewise.
60024         * lib/gl_carray_list.c: Likewise.
60025         * lib/gl_carray_list.h: Likewise.
60026         * lib/gl_linked_list.c: Likewise.
60027         * lib/gl_linked_list.h: Likewise.
60028         * lib/gl_linkedhash_list.c: Likewise.
60029         * lib/gl_linkedhash_list.h: Likewise.
60030         * lib/gl_list.c: Likewise.
60031         * lib/gl_list.h: Likewise.
60032         * lib/gl_oset.c: Likewise.
60033         * lib/gl_oset.h: Likewise.
60034         * lib/gl_rbtree_list.c: Likewise.
60035         * lib/gl_rbtree_list.h: Likewise.
60036         * lib/gl_rbtree_oset.c: Likewise.
60037         * lib/gl_rbtree_oset.h: Likewise.
60038         * lib/gl_rbtreehash_list.c: Likewise.
60039         * lib/gl_rbtreehash_list.h: Likewise.
60040         * lib/gl_sublist.c: Likewise.
60041         * lib/gl_sublist.h: Likewise.
60042         * lib/group-member.c: Likewise.
60043         * lib/group-member.h: Likewise.
60044         * lib/hard-locale.c: Likewise.
60045         * lib/hard-locale.h: Likewise.
60046         * lib/hash-pjw.c: Likewise.
60047         * lib/hash-pjw.h: Likewise.
60048         * lib/hash-triple.c: Likewise.
60049         * lib/hash.c: Likewise.
60050         * lib/hash.h: Likewise.
60051         * lib/human.c: Likewise.
60052         * lib/human.h: Likewise.
60053         * lib/i-ring.c: Likewise.
60054         * lib/i-ring.h: Likewise.
60055         * lib/idcache.c: Likewise.
60056         * lib/imaxabs.c: Likewise.
60057         * lib/imaxdiv.c: Likewise.
60058         * lib/inet_pton.c: Likewise.
60059         * lib/inet_pton.h: Likewise.
60060         * lib/intprops.h: Likewise.
60061         * lib/inttostr.c: Likewise.
60062         * lib/inttostr.h: Likewise.
60063         * lib/inttypes.in.h: Likewise.
60064         * lib/isapipe.c: Likewise.
60065         * lib/isdir.c: Likewise.
60066         * lib/isnan.c: Likewise.
60067         * lib/isnan.h: Likewise.
60068         * lib/isnanf.c: Likewise.
60069         * lib/isnanf.h: Likewise.
60070         * lib/isnanl-nolibm.h: Likewise.
60071         * lib/isnanl.c: Likewise.
60072         * lib/isnanl.h: Likewise.
60073         * lib/javacomp.c: Likewise.
60074         * lib/javacomp.h: Likewise.
60075         * lib/javaexec.c: Likewise.
60076         * lib/javaexec.h: Likewise.
60077         * lib/javaversion.c: Likewise.
60078         * lib/javaversion.h: Likewise.
60079         * lib/javaversion.java: Likewise.
60080         * lib/lbrkprop.h: Likewise.
60081         * lib/lchmod.h: Likewise.
60082         * lib/lchown.c: Likewise.
60083         * lib/ldexpl.c: Likewise.
60084         * lib/linebreak.c: Likewise.
60085         * lib/linebreak.h: Likewise.
60086         * lib/linebuffer.c: Likewise.
60087         * lib/linebuffer.h: Likewise.
60088         * lib/locale.in.h: Likewise.
60089         * lib/logl.c: Likewise.
60090         * lib/long-options.c: Likewise.
60091         * lib/long-options.h: Likewise.
60092         * lib/lstat.c: Likewise.
60093         * lib/lstat.h: Likewise.
60094         * lib/math.in.h: Likewise.
60095         * lib/mbchar.c: Likewise.
60096         * lib/mbchar.h: Likewise.
60097         * lib/mbfile.h: Likewise.
60098         * lib/mbiter.h: Likewise.
60099         * lib/mbscasecmp.c: Likewise.
60100         * lib/mbscasestr.c: Likewise.
60101         * lib/mbschr.c: Likewise.
60102         * lib/mbscspn.c: Likewise.
60103         * lib/mbslen.c: Likewise.
60104         * lib/mbsncasecmp.c: Likewise.
60105         * lib/mbsnlen.c: Likewise.
60106         * lib/mbspbrk.c: Likewise.
60107         * lib/mbspcasecmp.c: Likewise.
60108         * lib/mbsrchr.c: Likewise.
60109         * lib/mbssep.c: Likewise.
60110         * lib/mbsspn.c: Likewise.
60111         * lib/mbsstr.c: Likewise.
60112         * lib/mbstok_r.c: Likewise.
60113         * lib/mbswidth.c: Likewise.
60114         * lib/mbswidth.h: Likewise.
60115         * lib/mbuiter.h: Likewise.
60116         * lib/memcasecmp.c: Likewise.
60117         * lib/memcasecmp.h: Likewise.
60118         * lib/memchr.c: Likewise.
60119         * lib/memcmp.c: Likewise.
60120         * lib/memcoll.c: Likewise.
60121         * lib/memcoll.h: Likewise.
60122         * lib/memcpy.c: Likewise.
60123         * lib/memrchr.c: Likewise.
60124         * lib/mkancesdirs.c: Likewise.
60125         * lib/mkdir-p.c: Likewise.
60126         * lib/mkdir-p.h: Likewise.
60127         * lib/mkdir.c: Likewise.
60128         * lib/mkdirat.c: Likewise.
60129         * lib/mkdtemp.c: Likewise.
60130         * lib/mkstemp-safer.c: Likewise.
60131         * lib/mkstemp.c: Likewise.
60132         * lib/modechange.c: Likewise.
60133         * lib/modechange.h: Likewise.
60134         * lib/mountlist.c: Likewise.
60135         * lib/mountlist.h: Likewise.
60136         * lib/mpsort.c: Likewise.
60137         * lib/nanosleep.c: Likewise.
60138         * lib/obstack.c: Likewise.
60139         * lib/obstack.h: Likewise.
60140         * lib/open-safer.c: Likewise.
60141         * lib/open.c: Likewise.
60142         * lib/openat-die.c: Likewise.
60143         * lib/openat-priv.h: Likewise.
60144         * lib/openat-proc.c: Likewise.
60145         * lib/openat.c: Likewise.
60146         * lib/openat.h: Likewise.
60147         * lib/pagealign_alloc.c: Likewise.
60148         * lib/pagealign_alloc.h: Likewise.
60149         * lib/physmem.c: Likewise.
60150         * lib/physmem.h: Likewise.
60151         * lib/pipe-safer.c: Likewise.
60152         * lib/pipe.c: Likewise.
60153         * lib/pipe.h: Likewise.
60154         * lib/posixtm.c: Likewise.
60155         * lib/posixtm.h: Likewise.
60156         * lib/posixver.c: Likewise.
60157         * lib/printf-frexp.c: Likewise.
60158         * lib/printf-frexp.h: Likewise.
60159         * lib/printf-frexpl.c: Likewise.
60160         * lib/printf-frexpl.h: Likewise.
60161         * lib/printf.c: Likewise.
60162         * lib/progname.c: Likewise.
60163         * lib/progname.h: Likewise.
60164         * lib/progreloc.c: Likewise.
60165         * lib/putenv.c: Likewise.
60166         * lib/quote.c: Likewise.
60167         * lib/quote.h: Likewise.
60168         * lib/quotearg.c: Likewise.
60169         * lib/quotearg.h: Likewise.
60170         * lib/raise.c: Likewise.
60171         * lib/readline.c: Likewise.
60172         * lib/readline.h: Likewise.
60173         * lib/readlink.c: Likewise.
60174         * lib/readtokens.c: Likewise.
60175         * lib/readtokens.h: Likewise.
60176         * lib/readtokens0.c: Likewise.
60177         * lib/readtokens0.h: Likewise.
60178         * lib/readutmp.c: Likewise.
60179         * lib/readutmp.h: Likewise.
60180         * lib/realloc.c: Likewise.
60181         * lib/relocwrapper.c: Likewise.
60182         * lib/rename-dest-slash.c: Likewise.
60183         * lib/rename.c: Likewise.
60184         * lib/rmdir.c: Likewise.
60185         * lib/rpmatch.c: Likewise.
60186         * lib/safe-read.c: Likewise.
60187         * lib/safe-read.h: Likewise.
60188         * lib/safe-write.c: Likewise.
60189         * lib/safe-write.h: Likewise.
60190         * lib/same-inode.h: Likewise.
60191         * lib/same.c: Likewise.
60192         * lib/same.h: Likewise.
60193         * lib/save-cwd.c: Likewise.
60194         * lib/save-cwd.h: Likewise.
60195         * lib/savedir.c: Likewise.
60196         * lib/savedir.h: Likewise.
60197         * lib/savewd.c: Likewise.
60198         * lib/savewd.h: Likewise.
60199         * lib/search.in.h: Likewise.
60200         * lib/setenv.c: Likewise.
60201         * lib/setenv.h: Likewise.
60202         * lib/settime.c: Likewise.
60203         * lib/sh-quote.c: Likewise.
60204         * lib/sh-quote.h: Likewise.
60205         * lib/sig2str.c: Likewise.
60206         * lib/sig2str.h: Likewise.
60207         * lib/signal.in.h: Likewise.
60208         * lib/signbitd.c: Likewise.
60209         * lib/signbitf.c: Likewise.
60210         * lib/signbitl.c: Likewise.
60211         * lib/sigprocmask.c: Likewise.
60212         * lib/sincosl.c: Likewise.
60213         * lib/sleep.c: Likewise.
60214         * lib/sprintf.c: Likewise.
60215         * lib/sqrtl.c: Likewise.
60216         * lib/stat-time.h: Likewise.
60217         * lib/stdio--.h: Likewise.
60218         * lib/stdio-safer.h: Likewise.
60219         * lib/stdlib--.h: Likewise.
60220         * lib/stdlib-safer.h: Likewise.
60221         * lib/stdlib.in.h: Likewise.
60222         * lib/stpcpy.c: Likewise.
60223         * lib/stpncpy.c: Likewise.
60224         * lib/strchrnul.c: Likewise.
60225         * lib/strcspn.c: Likewise.
60226         * lib/strerror.c: Likewise.
60227         * lib/strftime.c: Likewise.
60228         * lib/strftime.h: Likewise.
60229         * lib/striconveh.c: Likewise.
60230         * lib/striconveh.h: Likewise.
60231         * lib/striconveha.c: Likewise.
60232         * lib/striconveha.h: Likewise.
60233         * lib/stripslash.c: Likewise.
60234         * lib/strnlen1.c: Likewise.
60235         * lib/strnlen1.h: Likewise.
60236         * lib/strtod.c: Likewise.
60237         * lib/strtoimax.c: Likewise.
60238         * lib/strtok_r.c: Likewise.
60239         * lib/strtol.c: Likewise.
60240         * lib/strtoll.c: Likewise.
60241         * lib/strtoul.c: Likewise.
60242         * lib/strtoull.c: Likewise.
60243         * lib/sysexits.in.h: Likewise.
60244         * lib/tempname.c: Likewise.
60245         * lib/tempname.h: Likewise.
60246         * lib/timespec.h: Likewise.
60247         * lib/tls.c: Likewise.
60248         * lib/tls.h: Likewise.
60249         * lib/tmpdir.c: Likewise.
60250         * lib/tmpdir.h: Likewise.
60251         * lib/tmpfile-safer.c: Likewise.
60252         * lib/tmpfile.c: Likewise.
60253         * lib/trigl.c: Likewise.
60254         * lib/trigl.h: Likewise.
60255         * lib/trim.c: Likewise.
60256         * lib/trim.h: Likewise.
60257         * lib/trunc.c: Likewise.
60258         * lib/truncf.c: Likewise.
60259         * lib/truncl.c: Likewise.
60260         * lib/tsearch.c: Likewise.
60261         * lib/unicodeio.c: Likewise.
60262         * lib/unicodeio.h: Likewise.
60263         * lib/unistd--.h: Likewise.
60264         * lib/unistd-safer.h: Likewise.
60265         * lib/unistdio/ulc-fprintf.c: Likewise.
60266         * lib/unistdio/ulc-vfprintf.c: Likewise.
60267         * lib/unlinkdir.c: Likewise.
60268         * lib/unlinkdir.h: Likewise.
60269         * lib/unlocked-io.h: Likewise.
60270         * lib/unsetenv.c: Likewise.
60271         * lib/userspec.c: Likewise.
60272         * lib/utime.c: Likewise.
60273         * lib/utimecmp.c: Likewise.
60274         * lib/utimecmp.h: Likewise.
60275         * lib/utimens.c: Likewise.
60276         * lib/verify.h: Likewise.
60277         * lib/verror.c: Likewise.
60278         * lib/verror.h: Likewise.
60279         * lib/version-etc-fsf.c: Likewise.
60280         * lib/version-etc.c: Likewise.
60281         * lib/version-etc.h: Likewise.
60282         * lib/vfprintf.c: Likewise.
60283         * lib/vprintf.c: Likewise.
60284         * lib/vsprintf.c: Likewise.
60285         * lib/w32spawn.h: Likewise.
60286         * lib/wait-process.c: Likewise.
60287         * lib/wait-process.h: Likewise.
60288         * lib/wcwidth.c: Likewise.
60289         * lib/write-any-file.c: Likewise.
60290         * lib/xalloc-die.c: Likewise.
60291         * lib/xalloc.h: Likewise.
60292         * lib/xasprintf.c: Likewise.
60293         * lib/xgetcwd.c: Likewise.
60294         * lib/xgetcwd.h: Likewise.
60295         * lib/xgetdomainname.c: Likewise.
60296         * lib/xgetdomainname.h: Likewise.
60297         * lib/xgethostname.c: Likewise.
60298         * lib/xmalloc.c: Likewise.
60299         * lib/xmalloca.c: Likewise.
60300         * lib/xmalloca.h: Likewise.
60301         * lib/xmemcoll.c: Likewise.
60302         * lib/xnanosleep.c: Likewise.
60303         * lib/xreadlink.c: Likewise.
60304         * lib/xreadlink.h: Likewise.
60305         * lib/xsetenv.c: Likewise.
60306         * lib/xsetenv.h: Likewise.
60307         * lib/xstriconv.c: Likewise.
60308         * lib/xstriconv.h: Likewise.
60309         * lib/xstrndup.c: Likewise.
60310         * lib/xstrndup.h: Likewise.
60311         * lib/xstrtod.c: Likewise.
60312         * lib/xstrtod.h: Likewise.
60313         * lib/xstrtol-error.c: Likewise.
60314         * lib/xstrtol.c: Likewise.
60315         * lib/xstrtol.h: Likewise.
60316         * lib/xtime.h: Likewise.
60317         * lib/xvasprintf.c: Likewise.
60318         * lib/xvasprintf.h: Likewise.
60319         * lib/yesno.c: Likewise.
60320         * lib/yesno.h: Likewise.
60321         * posix-modules: Likewise.
60322         * tests/test-alloca-opt.c: Likewise.
60323         * tests/test-arcfour.c: Likewise.
60324         * tests/test-arctwo.c: Likewise.
60325         * tests/test-argmatch.c: Likewise.
60326         * tests/test-argp-2.sh: Likewise.
60327         * tests/test-argp.c: Likewise.
60328         * tests/test-arpa_inet.c: Likewise.
60329         * tests/test-array_list.c: Likewise.
60330         * tests/test-array_oset.c: Likewise.
60331         * tests/test-atexit.c: Likewise.
60332         * tests/test-avltree_list.c: Likewise.
60333         * tests/test-avltree_oset.c: Likewise.
60334         * tests/test-avltreehash_list.c: Likewise.
60335         * tests/test-base64.c: Likewise.
60336         * tests/test-binary-io.c: Likewise.
60337         * tests/test-byteswap.c: Likewise.
60338         * tests/test-c-ctype.c: Likewise.
60339         * tests/test-c-strcasecmp.c: Likewise.
60340         * tests/test-c-strcasestr.c: Likewise.
60341         * tests/test-c-strncasecmp.c: Likewise.
60342         * tests/test-c-strstr.c: Likewise.
60343         * tests/test-canonicalize-lgpl.c: Likewise.
60344         * tests/test-canonicalize.c: Likewise.
60345         * tests/test-carray_list.c: Likewise.
60346         * tests/test-ceilf.c: Likewise.
60347         * tests/test-ceill.c: Likewise.
60348         * tests/test-count-one-bits.c: Likewise.
60349         * tests/test-crc.c: Likewise.
60350         * tests/test-dirname.c: Likewise.
60351         * tests/test-fbufmode.c: Likewise.
60352         * tests/test-fcntl.c: Likewise.
60353         * tests/test-fflush.c: Likewise.
60354         * tests/test-floorf.c: Likewise.
60355         * tests/test-floorl.c: Likewise.
60356         * tests/test-fopen.c: Likewise.
60357         * tests/test-fprintf-posix.c: Likewise.
60358         * tests/test-fprintf-posix.h: Likewise.
60359         * tests/test-fpurge.c: Likewise.
60360         * tests/test-freadable.c: Likewise.
60361         * tests/test-freadahead.c: Likewise.
60362         * tests/test-freading.c: Likewise.
60363         * tests/test-freopen.c: Likewise.
60364         * tests/test-frexp.c: Likewise.
60365         * tests/test-frexpl.c: Likewise.
60366         * tests/test-fseek.c: Likewise.
60367         * tests/test-fseeko.c: Likewise.
60368         * tests/test-fseterr.c: Likewise.
60369         * tests/test-fstrcmp.c: Likewise.
60370         * tests/test-ftell.c: Likewise.
60371         * tests/test-ftello.c: Likewise.
60372         * tests/test-fwritable.c: Likewise.
60373         * tests/test-fwriting.c: Likewise.
60374         * tests/test-getaddrinfo.c: Likewise.
60375         * tests/test-getpass.c: Likewise.
60376         * tests/test-gettimeofday.c: Likewise.
60377         * tests/test-hmac-md5.c: Likewise.
60378         * tests/test-hmac-sha1.c: Likewise.
60379         * tests/test-iconv.c: Likewise.
60380         * tests/test-iconvme.c: Likewise.
60381         * tests/test-inttypes.c: Likewise.
60382         * tests/test-isnan.c: Likewise.
60383         * tests/test-isnanf.c: Likewise.
60384         * tests/test-isnanl-nolibm.c: Likewise.
60385         * tests/test-isnanl.c: Likewise.
60386         * tests/test-isnanl.h: Likewise.
60387         * tests/test-ldexpl.c: Likewise.
60388         * tests/test-linked_list.c: Likewise.
60389         * tests/test-linkedhash_list.c: Likewise.
60390         * tests/test-locale.c: Likewise.
60391         * tests/test-localename.c: Likewise.
60392         * tests/test-lock.c: Likewise.
60393         * tests/test-lseek.c: Likewise.
60394         * tests/test-malloca.c: Likewise.
60395         * tests/test-math.c: Likewise.
60396         * tests/test-mbscasecmp.c: Likewise.
60397         * tests/test-mbscasestr1.c: Likewise.
60398         * tests/test-mbscasestr2.c: Likewise.
60399         * tests/test-mbscasestr3.c: Likewise.
60400         * tests/test-mbscasestr4.c: Likewise.
60401         * tests/test-mbschr.c: Likewise.
60402         * tests/test-mbscspn.c: Likewise.
60403         * tests/test-mbsncasecmp.c: Likewise.
60404         * tests/test-mbspbrk.c: Likewise.
60405         * tests/test-mbspcasecmp.c: Likewise.
60406         * tests/test-mbsrchr.c: Likewise.
60407         * tests/test-mbsspn.c: Likewise.
60408         * tests/test-mbsstr1.c: Likewise.
60409         * tests/test-mbsstr2.c: Likewise.
60410         * tests/test-mbsstr3.c: Likewise.
60411         * tests/test-md5.c: Likewise.
60412         * tests/test-memmem.c: Likewise.
60413         * tests/test-netinet_in.c: Likewise.
60414         * tests/test-open.c: Likewise.
60415         * tests/test-printf-frexp.c: Likewise.
60416         * tests/test-printf-frexpl.c: Likewise.
60417         * tests/test-printf-posix.c: Likewise.
60418         * tests/test-printf-posix.h: Likewise.
60419         * tests/test-rbtree_list.c: Likewise.
60420         * tests/test-rbtree_oset.c: Likewise.
60421         * tests/test-rbtreehash_list.c: Likewise.
60422         * tests/test-read-file.c: Likewise.
60423         * tests/test-rijndael.c: Likewise.
60424         * tests/test-search.c: Likewise.
60425         * tests/test-signbit.c: Likewise.
60426         * tests/test-sleep.c: Likewise.
60427         * tests/test-snprintf-posix.c: Likewise.
60428         * tests/test-snprintf-posix.h: Likewise.
60429         * tests/test-snprintf.c: Likewise.
60430         * tests/test-sprintf-posix.c: Likewise.
60431         * tests/test-sprintf-posix.h: Likewise.
60432         * tests/test-stat-time.c: Likewise.
60433         * tests/test-stdbool.c: Likewise.
60434         * tests/test-stdint.c: Likewise.
60435         * tests/test-stdio.c: Likewise.
60436         * tests/test-stdlib.c: Likewise.
60437         * tests/test-stpncpy.c: Likewise.
60438         * tests/test-strcasestr.c: Likewise.
60439         * tests/test-striconv.c: Likewise.
60440         * tests/test-striconveh.c: Likewise.
60441         * tests/test-striconveha.c: Likewise.
60442         * tests/test-string.c: Likewise.
60443         * tests/test-sys_select.c: Likewise.
60444         * tests/test-sys_socket.c: Likewise.
60445         * tests/test-sys_stat.c: Likewise.
60446         * tests/test-sys_time.c: Likewise.
60447         * tests/test-sysexits.c: Likewise.
60448         * tests/test-time.c: Likewise.
60449         * tests/test-tls.c: Likewise.
60450         * tests/test-trunc.c: Likewise.
60451         * tests/test-truncf.c: Likewise.
60452         * tests/test-truncl.c: Likewise.
60453         * tests/test-unistd.c: Likewise.
60454         * tests/test-vasnprintf-posix.c: Likewise.
60455         * tests/test-vasnprintf-posix2.c: Likewise.
60456         * tests/test-vasnprintf.c: Likewise.
60457         * tests/test-vasprintf-posix.c: Likewise.
60458         * tests/test-vasprintf.c: Likewise.
60459         * tests/test-verify.c: Likewise.
60460         * tests/test-vfprintf-posix.c: Likewise.
60461         * tests/test-vprintf-posix.c: Likewise.
60462         * tests/test-vsnprintf-posix.c: Likewise.
60463         * tests/test-vsnprintf.c: Likewise.
60464         * tests/test-vsprintf-posix.c: Likewise.
60465         * tests/test-wchar.c: Likewise.
60466         * tests/test-wctype.c: Likewise.
60467         * tests/test-wcwidth.c: Likewise.
60468         * tests/test-xstrtol.c: Likewise.
60469         * tests/test-xvasprintf.c: Likewise.
60470         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
60471         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
60472         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60473         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60474         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60475         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
60476         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60477         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60478         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60479         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
60480         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60481         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60482         * tests/uniname/test-uninames.c: Likewise.
60483         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
60484         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
60485         * tests/unistdio/test-u16-printf1.h: Likewise.
60486         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
60487         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
60488         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
60489         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
60490         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
60491         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
60492         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
60493         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
60494         * tests/unistdio/test-u32-printf1.h: Likewise.
60495         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
60496         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
60497         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
60498         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
60499         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
60500         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
60501         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
60502         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
60503         * tests/unistdio/test-u8-printf1.h: Likewise.
60504         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
60505         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
60506         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
60507         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
60508         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
60509         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
60510         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
60511         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
60512         * tests/unistdio/test-ulc-printf1.h: Likewise.
60513         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
60514         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
60515         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
60516         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
60517         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
60518         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
60519         * tests/uniwidth/test-u16-strwidth.c: Likewise.
60520         * tests/uniwidth/test-u16-width.c: Likewise.
60521         * tests/uniwidth/test-u32-strwidth.c: Likewise.
60522         * tests/uniwidth/test-u32-width.c: Likewise.
60523         * tests/uniwidth/test-u8-strwidth.c: Likewise.
60524         * tests/uniwidth/test-u8-width.c: Likewise.
60525         * tests/uniwidth/test-uc_width.c: Likewise.
60526         * config/srclist-update: Likewise.
60527         (fixlicense): Update to GPLv3+.
60528
60529         Change copyright notice from LGPLv2.1+ to LGPLv3+.
60530         * tests/test-tsearch.c: Change copyright notice.
60531
60532         Change copyright notice from LGPLv2.0+ to LGPLv3+.
60533         * lib/c-strcaseeq.h: Change copyright notice.
60534         * lib/streq.h: Likewise.
60535         * lib/uniconv.h: Likewise.
60536         * lib/uniconv/u-conv-from-enc.h: Likewise.
60537         * lib/uniconv/u-conv-to-enc.h: Likewise.
60538         * lib/uniconv/u-strconv-from-enc.h: Likewise.
60539         * lib/uniconv/u-strconv-to-enc.h: Likewise.
60540         * lib/uniconv/u16-conv-from-enc.c: Likewise.
60541         * lib/uniconv/u16-conv-to-enc.c: Likewise.
60542         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
60543         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
60544         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
60545         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
60546         * lib/uniconv/u32-conv-from-enc.c: Likewise.
60547         * lib/uniconv/u32-conv-to-enc.c: Likewise.
60548         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
60549         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
60550         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
60551         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
60552         * lib/uniconv/u8-conv-from-enc.c: Likewise.
60553         * lib/uniconv/u8-conv-to-enc.c: Likewise.
60554         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
60555         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
60556         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
60557         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
60558         * lib/uniname.h: Likewise.
60559         * lib/uniname/uniname.c: Likewise.
60560         * lib/unistdio.h: Likewise.
60561         * lib/unistdio/u-asnprintf.h: Likewise.
60562         * lib/unistdio/u-asprintf.h: Likewise.
60563         * lib/unistdio/u-printf-args.c: Likewise.
60564         * lib/unistdio/u-printf-args.h: Likewise.
60565         * lib/unistdio/u-printf-parse.h: Likewise.
60566         * lib/unistdio/u-snprintf.h: Likewise.
60567         * lib/unistdio/u-sprintf.h: Likewise.
60568         * lib/unistdio/u-vasprintf.h: Likewise.
60569         * lib/unistdio/u-vsnprintf.h: Likewise.
60570         * lib/unistdio/u-vsprintf.h: Likewise.
60571         * lib/unistdio/u16-asnprintf.c: Likewise.
60572         * lib/unistdio/u16-asprintf.c: Likewise.
60573         * lib/unistdio/u16-printf-parse.c: Likewise.
60574         * lib/unistdio/u16-snprintf.c: Likewise.
60575         * lib/unistdio/u16-sprintf.c: Likewise.
60576         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
60577         * lib/unistdio/u16-u16-asprintf.c: Likewise.
60578         * lib/unistdio/u16-u16-snprintf.c: Likewise.
60579         * lib/unistdio/u16-u16-sprintf.c: Likewise.
60580         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
60581         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
60582         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
60583         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
60584         * lib/unistdio/u16-vasnprintf.c: Likewise.
60585         * lib/unistdio/u16-vasprintf.c: Likewise.
60586         * lib/unistdio/u16-vsnprintf.c: Likewise.
60587         * lib/unistdio/u16-vsprintf.c: Likewise.
60588         * lib/unistdio/u32-asnprintf.c: Likewise.
60589         * lib/unistdio/u32-asprintf.c: Likewise.
60590         * lib/unistdio/u32-printf-parse.c: Likewise.
60591         * lib/unistdio/u32-snprintf.c: Likewise.
60592         * lib/unistdio/u32-sprintf.c: Likewise.
60593         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
60594         * lib/unistdio/u32-u32-asprintf.c: Likewise.
60595         * lib/unistdio/u32-u32-snprintf.c: Likewise.
60596         * lib/unistdio/u32-u32-sprintf.c: Likewise.
60597         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
60598         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
60599         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
60600         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
60601         * lib/unistdio/u32-vasnprintf.c: Likewise.
60602         * lib/unistdio/u32-vasprintf.c: Likewise.
60603         * lib/unistdio/u32-vsnprintf.c: Likewise.
60604         * lib/unistdio/u32-vsprintf.c: Likewise.
60605         * lib/unistdio/u8-asnprintf.c: Likewise.
60606         * lib/unistdio/u8-asprintf.c: Likewise.
60607         * lib/unistdio/u8-printf-parse.c: Likewise.
60608         * lib/unistdio/u8-snprintf.c: Likewise.
60609         * lib/unistdio/u8-sprintf.c: Likewise.
60610         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
60611         * lib/unistdio/u8-u8-asprintf.c: Likewise.
60612         * lib/unistdio/u8-u8-snprintf.c: Likewise.
60613         * lib/unistdio/u8-u8-sprintf.c: Likewise.
60614         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
60615         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
60616         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
60617         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
60618         * lib/unistdio/u8-vasnprintf.c: Likewise.
60619         * lib/unistdio/u8-vasprintf.c: Likewise.
60620         * lib/unistdio/u8-vsnprintf.c: Likewise.
60621         * lib/unistdio/u8-vsprintf.c: Likewise.
60622         * lib/unistdio/ulc-asnprintf.c: Likewise.
60623         * lib/unistdio/ulc-asprintf.c: Likewise.
60624         * lib/unistdio/ulc-printf-parse.c: Likewise.
60625         * lib/unistdio/ulc-snprintf.c: Likewise.
60626         * lib/unistdio/ulc-sprintf.c: Likewise.
60627         * lib/unistdio/ulc-vasnprintf.c: Likewise.
60628         * lib/unistdio/ulc-vasprintf.c: Likewise.
60629         * lib/unistdio/ulc-vsnprintf.c: Likewise.
60630         * lib/unistdio/ulc-vsprintf.c: Likewise.
60631         * lib/unistr.h: Likewise.
60632         * lib/unistr/u-cpy-alloc.h: Likewise.
60633         * lib/unistr/u-cpy.h: Likewise.
60634         * lib/unistr/u-endswith.h: Likewise.
60635         * lib/unistr/u-move.h: Likewise.
60636         * lib/unistr/u-set.h: Likewise.
60637         * lib/unistr/u-startswith.h: Likewise.
60638         * lib/unistr/u-stpcpy.h: Likewise.
60639         * lib/unistr/u-stpncpy.h: Likewise.
60640         * lib/unistr/u-strcat.h: Likewise.
60641         * lib/unistr/u-strcpy.h: Likewise.
60642         * lib/unistr/u-strcspn.h: Likewise.
60643         * lib/unistr/u-strdup.h: Likewise.
60644         * lib/unistr/u-strlen.h: Likewise.
60645         * lib/unistr/u-strncat.h: Likewise.
60646         * lib/unistr/u-strncpy.h: Likewise.
60647         * lib/unistr/u-strnlen.h: Likewise.
60648         * lib/unistr/u-strpbrk.h: Likewise.
60649         * lib/unistr/u-strspn.h: Likewise.
60650         * lib/unistr/u-strstr.h: Likewise.
60651         * lib/unistr/u-strtok.h: Likewise.
60652         * lib/unistr/u16-check.c: Likewise.
60653         * lib/unistr/u16-chr.c: Likewise.
60654         * lib/unistr/u16-cmp.c: Likewise.
60655         * lib/unistr/u16-cpy-alloc.c: Likewise.
60656         * lib/unistr/u16-cpy.c: Likewise.
60657         * lib/unistr/u16-endswith.c: Likewise.
60658         * lib/unistr/u16-mblen.c: Likewise.
60659         * lib/unistr/u16-mbsnlen.c: Likewise.
60660         * lib/unistr/u16-mbtouc-aux.c: Likewise.
60661         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
60662         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
60663         * lib/unistr/u16-mbtouc.c: Likewise.
60664         * lib/unistr/u16-mbtoucr.c: Likewise.
60665         * lib/unistr/u16-move.c: Likewise.
60666         * lib/unistr/u16-next.c: Likewise.
60667         * lib/unistr/u16-prev.c: Likewise.
60668         * lib/unistr/u16-set.c: Likewise.
60669         * lib/unistr/u16-startswith.c: Likewise.
60670         * lib/unistr/u16-stpcpy.c: Likewise.
60671         * lib/unistr/u16-stpncpy.c: Likewise.
60672         * lib/unistr/u16-strcat.c: Likewise.
60673         * lib/unistr/u16-strchr.c: Likewise.
60674         * lib/unistr/u16-strcmp.c: Likewise.
60675         * lib/unistr/u16-strcpy.c: Likewise.
60676         * lib/unistr/u16-strcspn.c: Likewise.
60677         * lib/unistr/u16-strdup.c: Likewise.
60678         * lib/unistr/u16-strlen.c: Likewise.
60679         * lib/unistr/u16-strmblen.c: Likewise.
60680         * lib/unistr/u16-strmbtouc.c: Likewise.
60681         * lib/unistr/u16-strncat.c: Likewise.
60682         * lib/unistr/u16-strncmp.c: Likewise.
60683         * lib/unistr/u16-strncpy.c: Likewise.
60684         * lib/unistr/u16-strnlen.c: Likewise.
60685         * lib/unistr/u16-strpbrk.c: Likewise.
60686         * lib/unistr/u16-strrchr.c: Likewise.
60687         * lib/unistr/u16-strspn.c: Likewise.
60688         * lib/unistr/u16-strstr.c: Likewise.
60689         * lib/unistr/u16-strtok.c: Likewise.
60690         * lib/unistr/u16-to-u32.c: Likewise.
60691         * lib/unistr/u16-to-u8.c: Likewise.
60692         * lib/unistr/u16-uctomb-aux.c: Likewise.
60693         * lib/unistr/u16-uctomb.c: Likewise.
60694         * lib/unistr/u32-check.c: Likewise.
60695         * lib/unistr/u32-chr.c: Likewise.
60696         * lib/unistr/u32-cmp.c: Likewise.
60697         * lib/unistr/u32-cpy-alloc.c: Likewise.
60698         * lib/unistr/u32-cpy.c: Likewise.
60699         * lib/unistr/u32-endswith.c: Likewise.
60700         * lib/unistr/u32-mblen.c: Likewise.
60701         * lib/unistr/u32-mbsnlen.c: Likewise.
60702         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60703         * lib/unistr/u32-mbtouc.c: Likewise.
60704         * lib/unistr/u32-mbtoucr.c: Likewise.
60705         * lib/unistr/u32-move.c: Likewise.
60706         * lib/unistr/u32-next.c: Likewise.
60707         * lib/unistr/u32-prev.c: Likewise.
60708         * lib/unistr/u32-set.c: Likewise.
60709         * lib/unistr/u32-startswith.c: Likewise.
60710         * lib/unistr/u32-stpcpy.c: Likewise.
60711         * lib/unistr/u32-stpncpy.c: Likewise.
60712         * lib/unistr/u32-strcat.c: Likewise.
60713         * lib/unistr/u32-strchr.c: Likewise.
60714         * lib/unistr/u32-strcmp.c: Likewise.
60715         * lib/unistr/u32-strcpy.c: Likewise.
60716         * lib/unistr/u32-strcspn.c: Likewise.
60717         * lib/unistr/u32-strdup.c: Likewise.
60718         * lib/unistr/u32-strlen.c: Likewise.
60719         * lib/unistr/u32-strmblen.c: Likewise.
60720         * lib/unistr/u32-strmbtouc.c: Likewise.
60721         * lib/unistr/u32-strncat.c: Likewise.
60722         * lib/unistr/u32-strncmp.c: Likewise.
60723         * lib/unistr/u32-strncpy.c: Likewise.
60724         * lib/unistr/u32-strnlen.c: Likewise.
60725         * lib/unistr/u32-strpbrk.c: Likewise.
60726         * lib/unistr/u32-strrchr.c: Likewise.
60727         * lib/unistr/u32-strspn.c: Likewise.
60728         * lib/unistr/u32-strstr.c: Likewise.
60729         * lib/unistr/u32-strtok.c: Likewise.
60730         * lib/unistr/u32-to-u16.c: Likewise.
60731         * lib/unistr/u32-to-u8.c: Likewise.
60732         * lib/unistr/u32-uctomb.c: Likewise.
60733         * lib/unistr/u8-check.c: Likewise.
60734         * lib/unistr/u8-chr.c: Likewise.
60735         * lib/unistr/u8-cmp.c: Likewise.
60736         * lib/unistr/u8-cpy-alloc.c: Likewise.
60737         * lib/unistr/u8-cpy.c: Likewise.
60738         * lib/unistr/u8-endswith.c: Likewise.
60739         * lib/unistr/u8-mblen.c: Likewise.
60740         * lib/unistr/u8-mbsnlen.c: Likewise.
60741         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60742         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60743         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60744         * lib/unistr/u8-mbtouc.c: Likewise.
60745         * lib/unistr/u8-mbtoucr.c: Likewise.
60746         * lib/unistr/u8-move.c: Likewise.
60747         * lib/unistr/u8-next.c: Likewise.
60748         * lib/unistr/u8-prev.c: Likewise.
60749         * lib/unistr/u8-set.c: Likewise.
60750         * lib/unistr/u8-startswith.c: Likewise.
60751         * lib/unistr/u8-stpcpy.c: Likewise.
60752         * lib/unistr/u8-stpncpy.c: Likewise.
60753         * lib/unistr/u8-strcat.c: Likewise.
60754         * lib/unistr/u8-strchr.c: Likewise.
60755         * lib/unistr/u8-strcmp.c: Likewise.
60756         * lib/unistr/u8-strcpy.c: Likewise.
60757         * lib/unistr/u8-strcspn.c: Likewise.
60758         * lib/unistr/u8-strdup.c: Likewise.
60759         * lib/unistr/u8-strlen.c: Likewise.
60760         * lib/unistr/u8-strmblen.c: Likewise.
60761         * lib/unistr/u8-strmbtouc.c: Likewise.
60762         * lib/unistr/u8-strncat.c: Likewise.
60763         * lib/unistr/u8-strncmp.c: Likewise.
60764         * lib/unistr/u8-strncpy.c: Likewise.
60765         * lib/unistr/u8-strnlen.c: Likewise.
60766         * lib/unistr/u8-strpbrk.c: Likewise.
60767         * lib/unistr/u8-strrchr.c: Likewise.
60768         * lib/unistr/u8-strspn.c: Likewise.
60769         * lib/unistr/u8-strstr.c: Likewise.
60770         * lib/unistr/u8-strtok.c: Likewise.
60771         * lib/unistr/u8-to-u16.c: Likewise.
60772         * lib/unistr/u8-to-u32.c: Likewise.
60773         * lib/unistr/u8-uctomb-aux.c: Likewise.
60774         * lib/unistr/u8-uctomb.c: Likewise.
60775         * lib/unitypes.h: Likewise.
60776         * lib/uniwidth.h: Likewise.
60777         * lib/uniwidth/cjk.h: Likewise.
60778         * lib/uniwidth/u16-strwidth.c: Likewise.
60779         * lib/uniwidth/u16-width.c: Likewise.
60780         * lib/uniwidth/u32-strwidth.c: Likewise.
60781         * lib/uniwidth/u32-width.c: Likewise.
60782         * lib/uniwidth/u8-strwidth.c: Likewise.
60783         * lib/uniwidth/u8-width.c: Likewise.
60784         * lib/uniwidth/width.c: Likewise.
60785
60786 2007-10-07  Bruno Haible  <bruno@clisp.org>
60787
60788         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60789         The file is still under LGPL (see modules/inttypes).
60790
60791 2007-10-06  Bruno Haible  <bruno@clisp.org>
60792
60793         * modules/trunc (Dependencies): Add 'extensions'.
60794         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60795         Reported by Ben Pfaff <blp@gnu.org>.
60796
60797 2007-10-06  Bruno Haible  <bruno@clisp.org>
60798
60799         * modules/freopen-tests: New file.
60800         * tests/test-freopen.c: New file.
60801
60802         * modules/fopen-tests: New file.
60803         * tests/test-fopen.c: New file.
60804
60805         * modules/fopen: New file.
60806         * lib/fopen.c: New file.
60807         * m4/fopen.m4: New file.
60808         * modules/freopen: New file.
60809         * lib/freopen.c: New file.
60810         * m4/freopen.m4: New file.
60811         * lib/stdio.in.h (fopen, freopen): New declarations.
60812         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60813         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60814         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60815         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60816         * doc/functions/fopen.texi: Mention the 'fopen' module.
60817         * doc/functions/freopen.texi: Mention the 'freopen' module.
60818
60819 2007-10-06  Bruno Haible  <bruno@clisp.org>
60820
60821         * modules/open-tests: New file.
60822         * tests/test-open.c: New file.
60823
60824         * modules/open: New file.
60825         * lib/open.c: New file.
60826         * m4/open.m4: New file.
60827         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
60828         lib/open.c does.
60829         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
60830         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
60831         macros.
60832         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
60833         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
60834         REPLACE_OPEN.
60835         * doc/functions/open.texi: Mention the 'open' module.
60836
60837 2007-10-04  Bruno Haible  <bruno@clisp.org>
60838
60839         * modules/ceill-tests: New file.
60840         * tests/test-ceill.c: New file.
60841
60842         * modules/ceill: New file.
60843         * lib/ceill.c: Replace entire file.
60844         * m4/ceill.m4: New file.
60845         * lib/math.in.h (ceill): Replace declaration.
60846         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60847         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60848         * doc/functions/ceill.texi: Mention the 'ceill' module.
60849         * modules/mathl (Files): Remove lib/ceill.c.
60850         (Depends-on): Add ceill.
60851
60852 2007-10-04  Bruno Haible  <bruno@clisp.org>
60853
60854         * modules/ceilf-tests: New file.
60855         * tests/test-ceilf.c: New file.
60856
60857         * modules/ceilf: New file.
60858         * lib/ceil.c: New file.
60859         * lib/ceilf.c: New file.
60860         * m4/ceilf.m4: New file.
60861         * lib/math.in.h (ceilf): New declaration.
60862         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60863         HAVE_DECL_CEILF.
60864         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60865         HAVE_DECL_CEILF.
60866         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60867
60868 2007-10-04  Bruno Haible  <bruno@clisp.org>
60869
60870         * modules/floorl-tests: New file.
60871         * tests/test-floorl.c: New file.
60872
60873         * modules/floorl: New file.
60874         * lib/floorl.c: Replace entire file.
60875         * m4/floorl.m4: New file.
60876         * lib/math.in.h (floorl): Replace declaration.
60877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60878         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60879         * doc/functions/floorl.texi: Mention the 'floorl' module.
60880         * modules/mathl (Files): Remove lib/floorl.c.
60881         (Depends-on): Add floorl.
60882
60883 2007-10-04  Bruno Haible  <bruno@clisp.org>
60884
60885         * modules/floorf-tests: New file.
60886         * tests/test-floorf.c: New file.
60887
60888         * modules/floorf: New file.
60889         * lib/floor.c: New file.
60890         * lib/floorf.c: New file.
60891         * m4/floorf.m4: New file.
60892         * lib/math.in.h (floorf): New declaration.
60893         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60894         HAVE_DECL_FLOORF.
60895         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60896         HAVE_DECL_FLOORF.
60897         * doc/functions/floorf.texi: Mention the 'floorf' module.
60898
60899 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60900             Bruno Haible  <bruno@clisp.org>
60901
60902         Advertise for the Git server instead of the CVS server.
60903         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60904         repository instead of the CVS one.
60905         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60906         about all VCS systems generically.
60907         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60908
60909 2007-10-04  Bruno Haible  <bruno@clisp.org>
60910
60911         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60912         means.
60913         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60914
60915 2007-10-04  Bruno Haible  <bruno@clisp.org>
60916
60917         * modules/truncl-tests: New file.
60918         * tests/test-truncl.c: New file.
60919
60920         * modules/truncl: New file.
60921         * lib/truncl.c: New file.
60922         * m4/truncl.m4: New file.
60923         * lib/math.in.h (truncl): New declaration.
60924         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60925         HAVE_DECL_TRUNCL.
60926         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60927         HAVE_DECL_TRUNCL.
60928         * doc/functions/truncl.texi: Mention the 'truncl' module.
60929
60930 2007-10-04  Bruno Haible  <bruno@clisp.org>
60931
60932         * modules/truncf-tests: New file.
60933         * tests/test-truncf.c: New file.
60934
60935         * modules/truncf: New file.
60936         * lib/trunc.c: Make paramerizable through USE_* macros.
60937         * lib/truncf.c: New file.
60938         * m4/truncf.m4: New file.
60939         * lib/math.in.h (truncf): New declaration.
60940         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60941         HAVE_DECL_TRUNCF.
60942         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60943         HAVE_DECL_TRUNCF.
60944         * doc/functions/truncf.texi: Mention the 'truncf' module.
60945
60946 2007-10-03  Bruno Haible  <bruno@clisp.org>
60947
60948         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60949         augmentation also for tests modules.
60950         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60951         * modules/atexit-tests (Makefile.am): Likewise.
60952         * modules/binary-io-tests (Makefile.am): Likewise.
60953         * modules/c-strcase-tests (Makefile.am): Likewise.
60954         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60955         * modules/canonicalize-tests (Makefile.am): Likewise.
60956         * modules/closein-tests (Makefile.am): Likewise.
60957         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60958         * modules/freadahead-tests (Makefile.am): Likewise.
60959         * modules/fseek-tests (Makefile.am): Likewise.
60960         * modules/fseeko-tests (Makefile.am): Likewise.
60961         * modules/ftell-tests (Makefile.am): Likewise.
60962         * modules/ftello-tests (Makefile.am): Likewise.
60963         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
60964         * modules/isnanl-tests (Makefile.am): Likewise.
60965         * modules/lseek-tests (Makefile.am): Likewise.
60966         * modules/mbscasecmp-tests (Makefile.am): Likewise.
60967         * modules/mbscasestr-tests (Makefile.am): Likewise.
60968         * modules/mbschr-tests (Makefile.am): Likewise.
60969         * modules/mbscspn-tests (Makefile.am): Likewise.
60970         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
60971         * modules/mbspbrk-tests (Makefile.am): Likewise.
60972         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
60973         * modules/mbsrchr-tests (Makefile.am): Likewise.
60974         * modules/mbsspn-tests (Makefile.am): Likewise.
60975         * modules/mbsstr-tests (Makefile.am): Likewise.
60976         * modules/printf-posix-tests (Makefile.am): Likewise.
60977         * modules/snprintf-posix-tests (Makefile.am): Likewise.
60978         * modules/sprintf-posix-tests (Makefile.am): Likewise.
60979         * modules/tsearch-tests (Makefile.am): Likewise.
60980         * modules/uniname/uniname-tests (Makefile.am): Likewise.
60981         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
60982         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
60983         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
60984         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
60985         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
60986         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
60987         * modules/vprintf-posix-tests (Makefile.am): Likewise.
60988         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
60989         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
60990         * modules/xstrtoimax-tests (Makefile.am): Likewise.
60991         * modules/xstrtol-tests (Makefile.am): Likewise.
60992         * modules/xstrtoumax-tests (Makefile.am): Likewise.
60993         * modules/yesno-tests (Makefile.am): Likewise.
60994
60995 2007-10-03  Bruno Haible  <bruno@clisp.org>
60996
60997         * modules/trunc-tests: New file.
60998         * tests/test-trunc.c: New file.
60999
61000         * modules/trunc: New file.
61001         * lib/trunc.c: New file.
61002         * m4/trunc.m4: New file.
61003         * lib/math.in.h (trunc): New declaration.
61004         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
61005         HAVE_DECL_TRUNC.
61006         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
61007         HAVE_DECL_TRUNC.
61008         * doc/functions/trunc.texi: Mention the 'trunc' module.
61009
61010 2007-10-03  Bruno Haible  <bruno@clisp.org>
61011
61012         * tests/test-fpending.c: New file, mostly copied
61013         from coreutils/lib/t-fpending.c.
61014         * modules/fpending-tests: New file.
61015
61016 2007-10-03  Bruno Haible  <bruno@clisp.org>
61017
61018         Port the stdio extensions to QNX (untested).
61019         * lib/fseterr.c (fseterr): Add support for QNX.
61020         * lib/fbufmode.c (fbufmode): Likewise.
61021         * lib/freadable.c (freadable): Likewise.
61022         * lib/fwritable.c (fwritable): Likewise.
61023         * lib/freading.c (freading): Likewise.
61024         * lib/fwriting.c (fwriting): Likewise.
61025         * lib/freadahead.c (freadahed): Likewise.
61026         * lib/fpurge.c (fpurge): Likewise.
61027         * lib/fseeko.c (rpl_fseeko): Likewise.
61028
61029 2007-10-03  Bruno Haible  <bruno@clisp.org>
61030             Jim Meyering  <jim@meyering.net>
61031             Eric Blake  <ebb9@byu.net>
61032
61033         * doc/relocatable.texi: Use @command instead of @program.
61034
61035 2007-10-02  Jim Meyering  <jim@meyering.net>
61036
61037         Perform one more "_.h" -> ".in.h" substitution.
61038         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
61039         instead of unistd_.h here, too.
61040
61041 2007-10-01  Bruno Haible  <bruno@clisp.org>
61042
61043         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
61044         Needed for the alloca-opt module.
61045
61046 2007-09-30  Bruno Haible  <bruno@clisp.org>
61047
61048         * lib/alloca.in.h: Renamed from lib/alloca_.h.
61049         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
61050         alloca_.h.
61051         * lib/argz.in.h: Renamed from lib/argz_.h.
61052         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
61053         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
61054         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
61055         byteswap_.h.
61056         * lib/dirent.in.h: Renamed from lib/dirent_.h.
61057         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
61058         dirent_.h.
61059         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
61060         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
61061         fcntl_.h.
61062         * lib/float.in.h: Renamed from lib/float_.h.
61063         * modules/float (Files, Makefile.am): Use float.in.h instead of
61064         float_.h.
61065         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
61066         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
61067         fnmatch_.h.
61068         * lib/getopt.in.h: Renamed from lib/getopt_.h.
61069         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
61070         getopt_.h.
61071         * lib/glob.in.h: Renamed from lib/glob_.h.
61072         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
61073         * lib/iconv.in.h: Renamed from lib/iconv_.h.
61074         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
61075         iconv_.h.
61076         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
61077         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
61078         inttypes_.h.
61079         * lib/locale.in.h: Renamed from lib/locale_.h.
61080         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
61081         locale_.h.
61082         * lib/math.in.h: Renamed from lib/math_.h.
61083         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
61084         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
61085         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
61086         of netinet_in_.h. Add dependency.
61087         * lib/poll.in.h: Renamed from lib/poll_.h.
61088         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
61089         * lib/search.in.h: Renamed from lib/search_.h.
61090         * modules/search (Files, Makefile.am): Use search.in.h instead of
61091         search_.h.
61092         * lib/signal.in.h: Renamed from lib/signal_.h.
61093         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
61094         _signal.h.
61095         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
61096         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
61097         stdbool_.h.
61098         * lib/stdint.in.h: Renamed from lib/stdint_.h.
61099         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
61100         stdint_.h.
61101         * lib/stdio.in.h: Renamed from lib/stdio_.h.
61102         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
61103         stdio_.h.
61104         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
61105         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
61106         stdlib_.h.
61107         * lib/string.in.h: Renamed from lib/string_.h.
61108         * modules/string (Files, Makefile.am): Use string.in.h instead of
61109         string_.h.
61110         * doc/gnulib-tool.texi (Initial import): Update.
61111         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
61112         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
61113         of sys_select_.h. Add dependency.
61114         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
61115         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
61116         of sys_socket_.h.
61117         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
61118         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
61119         sys_stat_.h.
61120         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
61121         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
61122         sys_time_.h.
61123         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
61124         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
61125         sysexits_.h.
61126         * lib/time.in.h: Renamed from lib/time_.h.
61127         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
61128         * lib/unistd.in.h: Renamed from lib/unistd_.h.
61129         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
61130         unistd_.h.
61131         * lib/wchar.in.h: Renamed from lib/wchar_.h.
61132         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
61133         wchar_.h.
61134         * lib/wctype.in.h: Renamed from lib/wctype_.h.
61135         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
61136         wctype_.h.
61137         * build-aux/bootstrap (slurp): Update.
61138         * lib/.cppi-disable: Update.
61139
61140 2007-09-30  Bruno Haible  <bruno@clisp.org>
61141
61142         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
61143         Needed on BeOS.
61144
61145 2007-09-30  Bruno Haible  <bruno@clisp.org>
61146
61147         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
61148
61149 2007-09-29  Bruno Haible  <bruno@clisp.org>
61150
61151         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
61152
61153 2007-09-29  Bruno Haible  <bruno@clisp.org>
61154
61155         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
61156         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
61157         * build-aux/install-reloc: Compile also areadlink.c.
61158         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
61159
61160 2007-09-29  Bruno Haible  <bruno@clisp.org>
61161
61162         * gnulib-tool (func_emit_initmacro_done): Indentation.
61163
61164 2007-09-29  Bruno Haible  <bruno@clisp.org>
61165
61166         * README: Add CVS checkout update instructions.
61167         Info from Bob Proulx <bob@proulx.com>.
61168
61169 2007-09-28  Eric Blake  <ebb9@byu.net>
61170
61171         Provide move-if-change.
61172         * build-aux/move-if-change: New file, based on best practice
61173         rather than any canonical upstream location.
61174
61175 2007-09-28  Jim Meyering  <jim@meyering.net>
61176
61177         Fix canonicalize loop-detection corner case.
61178         Do not attempt to stat the symlink values stored via seen_triple.
61179         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
61180         on linux-2.6.18, (but not 2.6.22).
61181         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
61182         triple_compare.  The former compares dev,ino,filename, while the latter
61183         would actually stat dirname(filename) when dev and ino were equal.
61184         * lib/hash-triple.c: Install <string.h>.
61185         (STREQ): Define.
61186         (triple_compare_ino_str): New function.
61187         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
61188
61189 2007-09-28  Eric Blake  <ebb9@byu.net>
61190
61191         Enforce that AC_REPLACE_FUNCS files exist.
61192         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
61193         override check for typos.
61194
61195         Fix test-closein on Solaris 10.
61196         * tests/test-closein.c (main): Don't assume stdin can be inherited
61197         closed on all systems.
61198         * tests/test-closein.sh: Likewise.
61199         Reported by Piotr Tarnowski.
61200
61201 2007-09-28  Jim Meyering  <jim@meyering.net>
61202
61203         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
61204
61205 2007-09-27  Jim Meyering  <jim@meyering.net>
61206
61207         canonicalize: Avoid a false-positive cycle failure.
61208         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
61209         Sort.  Remove cycle-check.
61210         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
61211         not cycle-check.h.
61212         (seen_triple): New function.
61213         (canonicalize_filename_mode): Use it instead of cycle-check.
61214         * tests/test-canonicalize.c: Add a test for this bug.
61215         * tests/test-canonicalize.sh: Set up and run the test.
61216
61217         New module, file-set, from coreutils.
61218         * modules/file-set: Define it.
61219         * lib/file-set.c, lib/file-set.h: Implement.
61220
61221         New module, hash-triple, from coreutils.
61222         * modules/hash-triple: Define it.
61223         * lib/hash-triple.c, lib/hash-triple.h: Implement.
61224
61225 2007-09-25  Eric Blake  <ebb9@byu.net>
61226
61227         Fix strerror on Interix.
61228         * lib/string_.h (strerror): Declare replacement.
61229         * doc/functions/strerror.texi (strerror): Document the Interix
61230         shortcoming.
61231         * modules/string (Makefile.am): Support new hooks.
61232         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
61233         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
61234         gl_FUNC_STRERROR_SEPARATE.
61235         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
61236         * lib/strerror.c (rpl_strerror): Provide replacement.
61237         * modules/strerror (Depends-on): Add string.
61238         (configure.ac): Detect use of module.
61239         * tests/test-strerror.c: New file.
61240         * modules/strerror-tests: New test module.
61241         * modules/argp (Depends-on): Add strerror.
61242         * modules/error (Depends-on): Likewise.
61243         Reported by Martin Koeppe.
61244
61245 2007-09-24  Bruno Haible  <bruno@clisp.org>
61246
61247         * README: Update git instructions.
61248
61249 2007-09-24  Eric Blake  <ebb9@byu.net>
61250
61251         Revert fpending breakage from 2007-09-08.
61252         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
61253         __fpending.c.
61254
61255 2007-09-24  Jim Meyering  <jim@meyering.net>
61256
61257         filenamecat.c: Add a test.
61258         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
61259         showing how the function works when DIR is the empty string.
61260
61261 2007-09-21  Simon Josefsson  <simon@josefsson.org>
61262
61263         * tests/test-canonicalize.sh: Turn on executable bit.
61264
61265 2007-09-19  Eric Blake  <ebb9@byu.net>
61266
61267         * README: Update CVS instructions.
61268
61269 2007-09-18  Bruno Haible  <bruno@clisp.org>
61270
61271         * modules/areadlink: New file.
61272         * lib/areadlink.h (areadlink): New declaration.
61273         * lib/areadlink.c: New file, based on lib/xreadlink.c.
61274
61275 2007-09-17  Jim Meyering  <jim@meyering.net>
61276
61277         * lib/savewd.c (ESTALE) [!defined]: Define.
61278         Reported to be required on Interix by Martin Koeppe.
61279
61280 2007-09-17  Bruno Haible  <bruno@clisp.org>
61281
61282         * gnulib-tool (func_version): Use $version.
61283
61284 2007-09-16  Bruno Haible  <bruno@clisp.org>
61285
61286         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
61287         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
61288         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
61289         Reported by Greg Schafer <gschafer@zip.com.au>.
61290
61291 2007-09-15  Bruno Haible  <bruno@clisp.org>
61292
61293         * gnulib-tool (sed): Try a little harder to make bash understand the
61294         alias.
61295         Reported by Bruce Korb <bruce.korb@gmail.com>.
61296
61297 2007-09-13  Eric Blake  <ebb9@byu.net>
61298
61299         * ChangeLog: Remove conflict markers.
61300
61301 2007-09-13  Simon Josefsson  <simon@josefsson.org>
61302
61303         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
61304         Reported by Bruno Haible <bruno@clisp.org>.
61305
61306 2007-09-12  Bruno Haible  <bruno@clisp.org>
61307
61308         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
61309         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
61310         is not defined.
61311
61312 2007-09-12  Eric Blake  <ebb9@byu.net>
61313
61314         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
61315         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
61316         Autoconf definition.
61317         * modules/euidaccess (Depends-on): Add extensions, for
61318         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
61319         * modules/fnmatch (Depends-on): Likewise.
61320         * modules/getaddrinfo (Depends-on): Likewise.
61321         * modules/getdelim (Depends-on): Likewise.
61322         * modules/getline (Depends-on): Likewise.
61323         * modules/getsubopt (Depends-on): Likewise.
61324         * modules/gettext (Depends-on): Likewise.
61325         * modules/group-member (Depends-on): Likewise.
61326         * modules/mbchar (Depends-on): Likewise.
61327         * modules/memmem (Depends-on): Likewise.
61328         * modules/mempcpy (Depends-on): Likewise.
61329         * modules/memrchr (Depends-on): Likewise.
61330         * modules/pagealign_alloc (Depends-on): Likewise.
61331         * modules/readutmp (Depends-on): Likewise.
61332         * modules/stpcpy (Depends-on): Likewise.
61333         * modules/stpncpy (Depends-on): Likewise.
61334         * modules/strchrnul (Depends-on): Likewise.
61335         * modules/strndup (Depends-on): Likewise.
61336         * modules/strsep (Depends-on): Likewise.
61337         * modules/strverscmp (Depends-on): Likewise.
61338         * modules/vasprintf (Depends-on): Likewise.
61339         * modules/wcwidth (Depends-on): Likewise.
61340         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
61341         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
61342         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
61343         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
61344         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61345         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61346         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
61347         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61348         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
61349         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
61350         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61351         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61352         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61353         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
61354         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
61355         * m4/readutmp.m4 (gl_READUTMP): Likewise.
61356         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61357         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61358         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61359         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61360         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61361         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61362         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61363         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
61364         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
61365         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61366         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
61367         so that lock.m4 can be used in gettext without extensions module.
61368
61369 2007-09-11  Bruno Haible  <bruno@clisp.org>
61370
61371         * m4/isc-posix.m4: Remove file.
61372         Suggested by Eric Blake.
61373
61374 2007-09-11  Eric Blake  <ebb9@byu.net>
61375
61376         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
61377
61378 2007-09-10  Bruno Haible  <bruno@clisp.org>
61379
61380         * posix-modules: Fix typo in error message.
61381         Reported by Matt <mkraai@beckman.com>.
61382
61383 2007-09-09  Bruno Haible  <bruno@clisp.org>
61384
61385         * doc/functions/getdelim.texi: Update list of platforms lacking the
61386         function.
61387         * doc/functions/getline.texi: Likewise.
61388
61389 2007-09-09  Jim Meyering  <jim@meyering.net>
61390
61391         * lib/hash.c (hash_initialize): Detect calloc failure.
61392         Reported by Bruno Haible.
61393
61394 2007-09-09  Bruno Haible  <bruno@clisp.org>
61395
61396         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
61397         malloc or realloc fails.
61398
61399 2007-09-09  Bruno Haible  <bruno@clisp.org>
61400
61401         * modules/getcwd (Depends-on): Add malloc-posix.
61402         * modules/glob (Depends-on): Likewise.
61403         * modules/putenv (Depends-on): Likewise.
61404         * modules/strdup (Depends-on): Likewise.
61405         * modules/getdelim (Depends-on): Add realloc-posix.
61406         * modules/read-file (Depends-on): Likewise.
61407
61408 2007-09-09  Bruno Haible  <bruno@clisp.org>
61409
61410         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
61411         (gl_FUNC_MALLOC_POSIX): Require it.
61412         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
61413         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
61414         * modules/realloc (Files): Add m4/malloc.m4.
61415         * modules/calloc (Files): Likewise.
61416
61417 2007-09-09  Bruno Haible  <bruno@clisp.org>
61418
61419         * modules/malloc-posix: New file.
61420         * modules/malloc (Depends-on): Add malloc-posix.
61421         * lib/malloc.c: Include errno.h.
61422         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
61423         and a POSIX-compatible malloc into a single function. Set ENOMEM
61424         when returning NULL.
61425         * m4/malloc.m4: New file.
61426         * doc/functions/malloc.texi: Mention the malloc-posix module.
61427         * lib/stdlib_.h (malloc): New declaration.
61428         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61429         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
61430         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
61431         and HAVE_MALLOC_POSIX.
61432
61433 2007-09-09  Bruno Haible  <bruno@clisp.org>
61434
61435         * modules/realloc-posix: New file.
61436         * modules/realloc (Depends-on): Add realloc-posix.
61437         * lib/realloc.c: Include errno.h.
61438         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
61439         and a POSIX-compatible realloc into a single function. Set ENOMEM
61440         when returning NULL.
61441         * m4/realloc.m4: New file.
61442         * doc/functions/realloc.texi: Mention the realloc-posix module.
61443         * lib/stdlib_.h (realloc): New declaration.
61444         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61445         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
61446         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
61447         and HAVE_REALLOC_POSIX.
61448
61449 2007-09-09  Bruno Haible  <bruno@clisp.org>
61450
61451         * modules/calloc-posix: New file.
61452         * modules/calloc (Depends-on): Add calloc-posix.
61453         * lib/calloc.c: Include errno.h.
61454         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
61455         and a POSIX-compatible calloc into a single function. Set ENOMEM
61456         when returning NULL.
61457         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
61458         * doc/functions/calloc.texi: Mention the calloc-posix module.
61459         * lib/stdlib_.h (calloc): New declaration.
61460         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61461         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
61462         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
61463         and HAVE_CALLOC_POSIX.
61464
61465 2007-09-09  Bruno Haible  <bruno@clisp.org>
61466
61467         Allow for modules to show an arbitrary notice.
61468         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
61469         * gnulib-tool: New option --extract-notice.
61470         (func_usage): Document it.
61471         (sed_extract_prog): Update.
61472         (func_get_notice): New function.
61473         (func_modules_notice): New function.
61474         (func_import, func_create_testdir): Invoke it.
61475         Suggested by Jim Meyering.
61476
61477 2007-09-09  Bruno Haible  <bruno@clisp.org>
61478
61479         * gnulib-tool: New options --verbose, --quiet.
61480         (func_usage): Document them.
61481         (verbose): New variable.
61482         (func_execute_command): New function.
61483         (func_import): Don't show the module list and the file list if
61484         $verbose < 0.
61485         (func_create_testdir): Likewise. Use func_execute_command.
61486         (func_create_megatestdir): Use func_execute_command.
61487
61488 2007-09-08  Bruno Haible  <bruno@clisp.org>
61489
61490         * gnulib-tool (func_import): Prefer rsync over wget when available,
61491         for fetching the PO files.
61492
61493 2007-09-08  Bruno Haible  <bruno@clisp.org>
61494
61495         * posix-modules: New file. Portions copied from gnulib-tool.
61496         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
61497
61498 2007-09-08  Jim Meyering  <jim@meyering.net>
61499
61500         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
61501         * lib/fpending.h: Rename from __fpending.h.
61502         * lib/fpending.c: Rename from __fpending.c.
61503         Include "fpending.h", not "__fpending.h".
61504         * lib/__fpending.h, lib/__fpending.c: Remove files.
61505         * modules/fpending (Files): Reflect new file names.
61506         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
61507
61508 2007-09-08  Bruno Haible  <bruno@clisp.org>
61509
61510         * m4/inttypes-h.m4: Remove stub file.
61511
61512 2007-09-07  Simon Josefsson  <simon@josefsson.org>
61513
61514         * doc/headers/stdint.texi: Discuss #include_next issue.
61515
61516 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61517
61518         * build-aux/bootstrap: Remove obsolete comment about wget --help.
61519
61520 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61521
61522         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
61523         in variable name.
61524
61525 2007-09-03  Jim Meyering  <jim@meyering.net>
61526
61527         New module: git-version-gen.
61528         * modules/git-version-gen: New file.
61529
61530         Import changes from coreutils for bootstrap script.
61531
61532         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
61533
61534         bootstrap: uses rsync to download the .po files
61535         * build-aux/bootstrap (po_download_command_format): New global.
61536         (download_po_files): Use rsync.
61537         (update_po_files): Don't remove .po files after download,
61538         so future rsync runs can take advantage of the copies.
61539
61540         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
61541
61542         Solve the unnecessary-.po-file-regeneration problem once and for all.
61543         * build-aux/bootstrap (download_po_files): New function, renamed from
61544         get_translations.  Now, downloads, but doesn't update LINGUAS.
61545         (update_po_files): New function.
61546
61547         bootstrap: Ignore more.
61548         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
61549         uniwidth to e.g., lib/.gitignore.
61550         (slurp): Handle the sys_stat_.h -> sys mapping, too.
61551
61552         * build-aux/bootstrap: New setting: vc_ignore.
61553         (insert_sorted_if_absent): Create $file if absent.
61554         Adapt to new, possibly empty, list: $vc_ignore.
61555
61556         bootstrap: generate more ignorable names
61557         * build-aux/bootstrap (slurp): When generating ignorable names,
61558         also map .sin to .sed, .gperf to .c, and .y to .c.
61559
61560 2007-09-03  Jim Meyering  <jim@meyering.net>
61561
61562         * build-aux/git-version-gen: New file, from coreutils.  For details, see
61563         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
61564
61565 2007-09-02  Bruno Haible  <bruno@clisp.org>
61566
61567         Fix mis-recognition of 'mcs' on QNX 6.
61568         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
61569         output contains the string "Mono".
61570         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
61571         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
61572
61573 2007-09-01  Bruno Haible  <bruno@clisp.org>
61574
61575         Fix collision between uniwidth/* and linebreak modules.
61576         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
61577         u32_width): Remove declarations.
61578         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
61579         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
61580         streq3, streq2, streq1, streq0): Remove functions.
61581         (STREQ): Remove macro.
61582         (is_cjk_encoding): Remove function.
61583         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
61584         (uc_width, u8_width, u16_width, u32_width): Remove functions.
61585         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
61586         * NEWS: Document the change.
61587
61588 2007-09-01  Bruno Haible  <bruno@clisp.org>
61589
61590         * lib/streq.h: Add double-inclusion guard.
61591
61592 2007-09-01  Karl Berry  <karl@gnu.org>
61593
61594         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
61595
61596 2007-08-28  Jim Meyering  <jim@meyering.net>
61597
61598         Rename mreadlink_with_size to areadlink_with_size.
61599         * NEWS: Document the change.
61600         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
61601         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
61602         * lib/mreadlink.h: Rename this to...
61603         * lib/areadlink.h: ...this.
61604         * modules/mreadlink-with-size: Rename this to...
61605         * modules/areadlink-with-size: ...this.
61606         * lib/canonicalize.c: Reflect the renaming.
61607         * modules/canonicalize: Likewise.
61608
61609 2007-08-26  Bruno Haible  <bruno@clisp.org>
61610
61611         * gnulib-tool (func_import): When deciding which files to remove,
61612         consider also dangling symbolic links.
61613         Reported by Eric Blake.
61614
61615 2007-08-26  Bruno Haible  <bruno@clisp.org>
61616
61617         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
61618
61619 2007-08-23  Simon Josefsson  <simon@josefsson.org>
61620
61621         * lib/readline.c: Don't include getline.h, the prototype is now
61622         found in stdio.h.
61623
61624 2007-08-23  Jim Meyering  <jim@meyering.net>
61625
61626         Getdelim touchup.
61627         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
61628         around the funlockfile call, since funlockfile never sets errno.
61629         Don't set errno upon failed realloc.
61630
61631 2007-08-22  Eric Blake  <ebb9@byu.net>
61632
61633         Getline touchups.
61634         * lib/getdelim.c (getdelim): Revert regression that required *n to
61635         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
61636         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
61637         getdelim, rather than whether implementation is missing.
61638         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
61639         * lib/stdio_.h (getline): Also declare if replacement is
61640         required.
61641         * doc/functions/getdelim.texi: New file.
61642         * doc/functions/getline.texi: Likewise.
61643         * doc/gnulib.texi (Function Substitutes): Add new files.
61644         Reported by Bruno Haible.
61645
61646 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
61647
61648         * users.txt: Add Guile.
61649
61650 2007-08-22  Eric Blake  <ebb9@byu.net>
61651
61652         * tests/test-getdelim.c (main): Use remove, not unlink.
61653         * tests/test-getline.c (main): Likewise.
61654
61655         Move getline and getdelim into stdio.h, per POSIX 200x.
61656         * modules/getline (Files): Remove getline.h.
61657         (Depends-on): Add stdio.
61658         (configure.ac): Add module indicator.
61659         * modules/getdelim (Files): Remove getdelim.h.
61660         (Depends-on): Add stdio.
61661         (configure.ac): Add module indicator.
61662         * modules/stdio (Makefile.am): Work with new indicators.
61663         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
61664         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
61665         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61666         * lib/getdelim.h: Delete.
61667         * lib/getline.h: Delete.
61668         * lib/stdio_.h (getdelim, getline): Declare.
61669         * modules/getdelim-tests: New module.
61670         * modules/getline-tests: Likewise.
61671         * tests/test-getdelim.c: New file.
61672         * tests/test-getline.c: Likewise.
61673         * NEWS: Document the change.
61674         * lib/getline.c: Update choice of header.
61675         * lib/csharpcomp.c: Likewise.
61676         * lib/getpass.c: Likewise.
61677         * lib/javacomp.c: Likewise.
61678         * lib/javaversion.c: Likewise.
61679         * lib/yesno.c: Likewise.
61680         * lib/getdelim.c: Likewise.
61681         (getdelim): Set errno on failure, and avoid memory leak.
61682
61683 2007-08-19  Bruno Haible  <bruno@clisp.org>
61684
61685         * modules/closein (Depends-on): Add freadahead.
61686         * lib/closein.c: Include freadahead.h.
61687         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61688         is zero.
61689
61690 2007-08-19  Bruno Haible  <bruno@clisp.org>
61691
61692         * modules/freadahead-tests: New file.
61693         * tests/test-freadahead.sh: New file.
61694         * tests/test-freadahead.c: New file.
61695
61696         * modules/freadahead: New file.
61697         * lib/freadahead.h: New file.
61698         * lib/freadahead.c: New file.
61699         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61700         fbufmode, fpurge, freadable, fwritable.
61701
61702 2007-08-19  Eric Blake  <ebb9@byu.net>
61703
61704         Test yesno in combination with closein.
61705         * lib/yesno.c (yesno): Document use of stdin.
61706         * modules/yesno-tests (Files): New module.
61707         * tests/test-yesno.c (main): New file.
61708         * tests/test-yesno.sh: Likewise.
61709
61710 2007-08-19  Bruno Haible  <bruno@clisp.org>
61711
61712         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61713         * lib/fseeko.c (rpl_fseeko): Likewise.
61714         * lib/fseterr.c (fseterr): Likewise.
61715
61716 2007-08-19  Bruno Haible  <bruno@clisp.org>
61717
61718         * tests/test-lseek.c (main): Disable a test for BeOS.
61719         * doc/functions/lseek.texi: Document the BeOS bug.
61720
61721 2007-08-19  Bruno Haible  <bruno@clisp.org>
61722             Eric Blake  <ebb9@byu.net>
61723
61724         * lib/lseek.c: Include <sys/stat.h>.
61725         (rpl_lseek): Add workaround code also for Unix platforms.
61726         Needed for BeOS.
61727         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61728         * doc/functions/lseek.texi: Document BeOS definiency.
61729
61730 2007-08-18  Bruno Haible  <bruno@clisp.org>
61731
61732         * modules/fstrcmp-tests: New file.
61733         * tests/test-fstrcmp.c: New file.
61734
61735 2007-08-18  Bruno Haible  <bruno@clisp.org>
61736
61737         * modules/fstrcmp: New file, from GNU gettext with modifications.
61738         * lib/fstrcmp.h: New file, from GNU gettext.
61739         * lib/fstrcmp.c: New file, from GNU gettext.
61740         * MODULES.html.sh (String handling): Add fstrcmp.
61741
61742 2007-08-18  Bruno Haible  <bruno@clisp.org>
61743
61744         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61745         'bool'.
61746         (diag, compareseq): Remove const from the ctxt argument.
61747         (USE_HEURISTIC): Undefine at the end.
61748
61749 2007-08-18  Jim Meyering  <jim@meyering.net>
61750
61751         New file: lib/idcache.h
61752         * NEWS: Mention the addition.
61753         * modules/idcache (Files): Add lib/idcache.h
61754         * lib/idcache.c: Include "idcache.h".
61755         Don't include <sys/types.h>.
61756         Add a FIXME comment.
61757         Move file-scoped "static" declarations to the top.
61758         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61759
61760 2007-08-17  Bruno Haible  <bruno@clisp.org>
61761         and Paul Eggert  <eggert@cs.ucla.edu>
61762
61763         * MODULES.html.sh: Add diffseq.
61764         * modules/diffseq: New file.
61765         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61766         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61767
61768 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61769
61770         Import changes from coreutils for bootstrap script.
61771
61772         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61773
61774         * build-aux/bootstrap (slurp): Work even in environments where
61775         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61776         current code does not slurp files whose names start with ".", and
61777         this looks like it might be a troublesome area.
61778
61779         2007-07-11  Jim Meyering  <jim@meyering.net>
61780
61781         If there's a GPL vN copyright comment, require that N == 3.
61782
61783         2007-07-08  Jim Meyering  <jim@meyering.net>
61784
61785         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61786         * build-aux/bootstrap (mam_template): Move definition out of loop.
61787
61788         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61789
61790         * build-aux/bootstrap (symlink_to_dir): Rename function from
61791         symlink_to_gnulib.  Add a directory parameter.  Update all
61792         callers.
61793         (cp_mark_as_generated): Also check for -- and link to -- files in
61794         gl/.
61795
61796         2007-07-08  Jim Meyering  <jim@meyering.net>
61797
61798         Adapt to deeper hierarchy in gnulib.
61799         * build-aux/bootstrap (symlink_to_dir): If the destination
61800         directory doesn't exist, create it. This is required at least for
61801         "lib/uniwidth/cjk.h".
61802
61803         2007-05-15  Jim Meyering  <jim@meyering.net>
61804
61805         * build-aux/bootstrap: Now that generated Makefile.am files
61806         are no longer under version control, they must be created at
61807         bootstrap time.
61808
61809 2007-08-14  Ben Pfaff  <blp@gnu.org>
61810
61811         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61812
61813 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61814
61815         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61816         given the changes below.
61817         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61818         even on hosts that have padding bits beyond the supported 64.
61819
61820 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61821
61822         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
61823         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
61824         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
61825         depends on it.
61826         (xstrtol_error): Remove.
61827         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
61828         but with a different signature.
61829         (ATTRIBUTE_NORETURN, __attribute__): New macros.
61830         * lib/xstrtol-error.c: Include exitfail.h.
61831         (xstrtol_fatal): New function, with a different signature from the
61832         old xstrtol_error, so that the caller need not worry about passing
61833         in an exit status, or about storage management of the option argument.
61834         (xstrtol_error): Now a static function.  Redo signature to
61835         implement xstrtol_fatal.  Output the correct number of hyphens in
61836         front of the option so that the caller need not worry about
61837         storage management.
61838         (N_): New macro.
61839         (_): Remove; not used now.
61840         * modules/xstrtol: Depend on getopt.
61841         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
61842         of old STRTOL_FATAL_ERROR macro.
61843         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
61844         of test program.
61845         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61846         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61847
61848 2007-08-08  Eric Blake  <ebb9@byu.net>
61849
61850         * lib/xstrtol-error.c: Add missing include.
61851
61852         Move xstrtol messages into gnulib domain, when --pobase is used.
61853         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61854         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61855         * modules/xstrtol (Files): Distribute new file.
61856         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61857         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61858         * tests/test-xstrtol.c: ...into new file.
61859         * tests/test-xstrtoul.c: Also test xstrtoul.
61860         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61861         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61862         * tests/test-xstrtol.sh: Drive the tests.
61863         * tests/test-xstrtoimax.sh: Likewise.
61864         * tests/test-xstrtoumax.sh: Likewise.
61865         * modules/xstrtol-tests: New module.
61866         * modules/xstrtoimax-tests: Likewise.
61867         * modules/xstrtoumax-tests: Likewise.
61868
61869 2007-08-08  Jim Meyering  <jim@meyering.net>
61870
61871         New function: mfile_name_concat.
61872         * lib/filenamecat.c (mfile_name_concat): New function, just like
61873         file_name_concat, but return NULL upon failure rather than exiting
61874         with a diagnostic.
61875         * lib/filenamecat.h: Declare it.
61876
61877 2007-08-07  Bruno Haible  <bruno@clisp.org>
61878
61879         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61880         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61881         warning from gcc.
61882         Reported by Eric Blake.
61883
61884 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61885
61886         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61887         * modules/crypto/arcfour (License): Likewise.
61888         * modules/crypto/des-tests (License): Likewise.
61889         * modules/crypto/gc-arctwo-tests (License): Likewise.
61890         * modules/crypto/gc-des-tests (License): Likewise.
61891         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61892         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61893         * modules/crypto/gc-md2-tests (License): Likewise.
61894         * modules/crypto/gc-md4-tests (License): Likewise.
61895         * modules/crypto/gc-md5-tests (License): Likewise.
61896         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61897         * modules/crypto/gc-rijndael-tests (License): Likewise.
61898         * modules/crypto/gc-sha1-tests (License): Likewise.
61899         * modules/crypto/gc-tests (License): Likewise.
61900         * modules/crypto/hmac-md5 (License): Likewise.
61901         * modules/crypto/hmac-sha1 (License): Likewise.
61902         * modules/crypto/md2-tests (License): Likewise.
61903         * modules/crypto/md4-tests (License): Likewise.
61904         * modules/crypto/md5 (License): Likewise.
61905         * modules/crypto/rijndael (License): Likewise.
61906         * modules/crypto/sha1 (License): Likewise.
61907         * modules/memxor (License): Likewise.
61908
61909 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61910         and Bruno Haible  <bruno@clisp.org>
61911
61912         * NEWS: Describe interface changes to human, xstrtol.
61913         * lib/human.h: Include <xstrtol.h>.
61914         (human_options): Return enum strtol_error, not int.  Remove
61915         bool arg; take int * instead.
61916         * lib/human.c: Don't include "gettext.h".
61917         (_): Remove; no longer used.
61918         Don't include <xstrtol.h>, since human.h does it.
61919         (human_options): Adjust to abovementioned interface changes.
61920         Do not report error to stderr; that's now the caller's
61921         responsibility.
61922         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61923         interface change.
61924         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61925         Str, Argument_type_string.  All uses changed.  Put " argument"
61926         in diagnostics to make them clearer.  Change wording of suffix
61927         message for clarity.
61928         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61929         Argument_type_string.
61930         (STRTOL_FATAL_WARN): Remove; no longer used.
61931         * modules/human (Depends-on): Remove gettext-h.
61932
61933 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61934
61935         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61936
61937 2007-07-31  Bruno Haible  <bruno@clisp.org>
61938
61939         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61940         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61941         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61942
61943 2007-07-31  Bruno Haible  <bruno@clisp.org>
61944
61945         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61946         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61947
61948 2007-07-30  Bruno Haible  <bruno@clisp.org>
61949
61950         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61951         * modules/c-ctype (License): Likewise.
61952         * modules/c-strcase (License): Likewise.
61953         * modules/check-version (License): Likewise.
61954         * modules/iconv (License): Likewise.
61955         * modules/iconv_open (License): Likewise.
61956         * modules/read-file (License): Likewise.
61957         * modules/striconv (License): Likewise.
61958         * modules/strverscmp (License): Likewise.
61959         * modules/vasprintf (License): Likewise.
61960         * modules/crypto/des (License): Likewise.
61961         * modules/crypto/gc (License): Likewise.
61962         * modules/crypto/gc-arcfour (License): Likewise.
61963         * modules/crypto/gc-arctwo (License): Likewise.
61964         * modules/crypto/gc-des (License): Likewise.
61965         * modules/crypto/gc-hmac-md5 (License): Likewise.
61966         * modules/crypto/gc-hmac-sha1 (License): Likewise.
61967         * modules/crypto/gc-md2 (License): Likewise.
61968         * modules/crypto/gc-md4 (License): Likewise.
61969         * modules/crypto/gc-md5 (License): Likewise.
61970         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
61971         * modules/crypto/gc-random (License): Likewise.
61972         * modules/crypto/gc-rijndael (License): Likewise.
61973         * modules/crypto/gc-sha1 (License): Likewise.
61974         * modules/crypto/md2 (License): Likewise.
61975         * modules/crypto/md4 (License): Likewise.
61976
61977 2007-07-30  Jim Meyering  <jim@meyering.net>
61978
61979         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
61980         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
61981         it has valid stat data.  This bug would cause du not to count the
61982         sizes of inaccessible directories.
61983         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
61984         in <http://bugzilla.redhat.com/250077>.
61985
61986 2007-07-25  Peter O'Gorman  <peter@pogma.com>
61987             Bruno Haible  <bruno@clisp.org>
61988
61989         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
61990         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
61991         #include_next, gives a diagnostic about it, but reports no error in
61992         the exit code.
61993         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
61994
61995 2007-07-24  Ben Pfaff  <blp@gnu.org>
61996
61997         Improve name: "count-one-bits" is better than "popcount".
61998         * MODULES.html.sh: Update name.
61999         * lib/popcount.h: Renamed lib/count-one-bits.h.
62000         (popcount): Renamed count_one_bits.
62001         (popcountl): Renamed count_one_bits_l.
62002         (popcountll): Renamed count_one_bits_ll.
62003         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
62004         * modules/popcount: Renamed module/count-one-bits.
62005         * modules/popcount-tests: Renamed module/count-one-bits-tests.
62006         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
62007
62008 2007-07-23  Ben Pfaff  <blp@gnu.org>
62009
62010         * lib/popcount.h (popcount32): Reduce size of constants, to allow
62011         better code generation, and add U to large constants to avoid
62012         warnings, in non-GCC case.
62013         Suggested by Bruno Haible.
62014
62015 2007-07-23  Ben Pfaff  <blp@gnu.org>
62016
62017         * lib/popcount.h: Use verify_true instead of if...abort.
62018         * modules/popcount: Depend on verify module.
62019         Suggested by Jim Meyering.
62020
62021 2007-07-23  Bruno Haible  <bruno@clisp.org>
62022
62023         * gnulib-tool (func_import): Create a .cvsignore file also when the
62024         directory is not yet in CVS but the toplevel directory is. When
62025         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
62026         Reported by Karl Berry.
62027
62028 2007-07-22  Ben Pfaff  <blp@gnu.org>
62029
62030         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
62031         case.
62032         Suggested by Eric Blake.
62033
62034 2007-07-22  Ben Pfaff  <blp@gnu.org>
62035
62036         New module: popcount.
62037         * MODULES.html.sh: Add popcount.
62038         * modules/popcount: New file.
62039         * modules/popcount-tests: New file.
62040         * tests/test-popcount.c: New file.
62041         * lib/popcount.h: New file.
62042         * m4/popcount.m4: New file.
62043
62044 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62045
62046         * build-aux/announce-gen: Update to GPLv3.
62047
62048         * build-aux/config.guess: Update from config.
62049
62050 2007-07-21  Bruno Haible  <bruno@clisp.org>
62051
62052         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
62053         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
62054
62055 2007-07-20  Jim Meyering  <jim@meyering.net>
62056
62057         * check-module: Diagnose a self-dependency.
62058
62059 2007-07-19  Bruno Haible  <bruno@clisp.org>
62060
62061         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
62062         empty.
62063         Reported by Eric Blake.
62064
62065 2007-07-18  Bruno Haible  <bruno@clisp.org>
62066
62067         * gnulib-tool: New options --po-base, --po-domain.
62068         (func_usage): Document them.
62069         (pobase, po_domain): New variables.
62070         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
62071         DEFAULT_TEXT_DOMAIN.
62072         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
62073         (func_import): Consider pobase and po_domain. Create a po/ directory.
62074         (func_create_testdir): Set pobase and po_domain to empty.
62075         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
62076         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
62077
62078 2007-07-18  Bruno Haible  <bruno@clisp.org>
62079
62080         * gnulib-tool (func_get_automake_snippet): Synthesize also an
62081         EXTRA_DIST augmentation for files in build-aux/.
62082
62083 2007-07-16  Bruno Haible  <bruno@clisp.org>
62084
62085         * modules/lseek (License): Use the synonymous term "LGPLv2+".
62086         * modules/getdelim (License): Likewise.
62087
62088 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62089
62090         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
62091         * modules/d-type (License): Likewise.
62092         * modules/extensions (License): Likewise.
62093         * modules/fnmatch (License): Likewise.
62094         * modules/fseeko (License): Likewise.
62095         * modules/getaddrinfo (License): Likewise.
62096         * modules/getline (License): Likewise.
62097         * modules/getlogin_r (License): Likewise.
62098         * modules/getpass (License): Likewise.
62099         * modules/gettimeofday (License): Likewise.
62100         * modules/glob (License): Likewise.
62101         * modules/inet_ntop (License): Likewise.
62102         * modules/malloc (License): Likewise.
62103         * modules/malloca (License): Likewise.
62104         * modules/memmem (License): Likewise.
62105         * modules/mempcpy (License): Likewise.
62106         * modules/memset (License): Likewise.
62107         * modules/minmax (License): Likewise.
62108         * modules/mktime (License): Likewise.
62109         * modules/netinet_in (License): Likewise.
62110         * modules/pathmax (License): Likewise.
62111         * modules/poll (License): Likewise.
62112         * modules/regex (License): Likewise.
62113         * modules/snprintf (License): Likewise.
62114         * modules/stdbool (License): Likewise.
62115         * modules/stdint (License): Likewise.
62116         * modules/stdio (License): Likewise.
62117         * modules/strcase (License): Likewise.
62118         * modules/strcasestr (License): Likewise.
62119         * modules/strdup (License): Likewise.
62120         * modules/string (License): Likewise.
62121         * modules/strndup (License): Likewise.
62122         * modules/strnlen (License): Likewise.
62123         * modules/strpbrk (License): Likewise.
62124         * modules/strptime (License): Likewise.
62125         * modules/strsep (License): Likewise.
62126         * modules/sys_select (License): Likewise.
62127         * modules/sys_socket (License): Likewise.
62128         * modules/sys_stat (License): Likewise.
62129         * modules/sys_time (License): Likewise.
62130         * modules/time (License): Likewise.
62131         * modules/time_r (License): Likewise.
62132         * modules/timegm (License): Likewise.
62133         * modules/unistd (License): Likewise.
62134         * modules/vsnprintf (License): Likewise.
62135         * modules/wctype (License): Likewise.
62136
62137 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62138
62139         * modules/argz (License): LGPLv2+.
62140
62141 2007-07-15  Karl Berry  <karl@gnu.org>
62142
62143         * doc/gnulib.texi: revise node structure per new fdl.texi.
62144
62145 2007-07-14  Bruno Haible  <bruno@clisp.org>
62146
62147         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
62148         the output file.
62149         * lib/uniname/uninames.h: Regenerated.
62150
62151 2007-07-14  Karl Berry  <karl@gnu.org>
62152
62153         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
62154         omitting sectioning and index commands.
62155
62156 2007-07-13  Bruno Haible  <bruno@clisp.org>
62157
62158         New gnulib-tool option --more-symlinks.
62159         * gnulib-tool (func_usage): Document --more-symlinks.
62160         (do_copyrights): New variable.
62161         Recognize option --more-symlinks.
62162         (func_import): Don't add a copyright notice transform to
62163         sed_transform_lib_file if do_copyrights is empty.
62164
62165 2007-07-13  Bruno Haible  <bruno@clisp.org>
62166
62167         * lib/vasnprintf.c (decimal_point_char): Define also if
62168         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
62169         && !NEED_PRINTF_DIRECTIVE_A.
62170         Reported by Clemens Koller <clemens.koller@anagramm.de> via
62171         Gary V. Vaughan <gary@gnu.org>.
62172
62173 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
62174
62175         * lib/inttypes_.h: Undo previous change, since it was fixed
62176         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
62177
62178 2007-07-13  Bruno Haible  <bruno@clisp.org>
62179
62180         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
62181         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
62182
62183 2007-07-13  Jim Meyering  <jim@meyering.net>
62184
62185         df: Don't fail for Tru64's "file-on-file mount".
62186         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
62187         so we fall through and use statfs instead.  Details here:
62188         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
62189         Reported by Albert Chin.
62190
62191 2007-07-13  Bruno Haible  <bruno@clisp.org>
62192
62193         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
62194         * modules/configmake (License): Likewise.
62195         * modules/gettext (License): Likewise.
62196         * modules/gettext-h (License): Likewise.
62197         * modules/include_next (License): Likewise.
62198         * modules/link-warning (License): Likewise.
62199         * modules/localcharset (License): Likewise.
62200         * modules/localename (License): Likewise.
62201         * modules/lock (License): Likewise.
62202         * modules/relocatable-lib-lgpl (License): Likewise.
62203         * modules/size_max (License): Likewise.
62204         * modules/vasnprintf (License): Likewise.
62205         * modules/wchar (License): Likewise.
62206         * modules/xsize (License): Likewise.
62207
62208 2007-07-13  Bruno Haible  <bruno@clisp.org>
62209
62210         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
62211         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
62212
62213 2007-07-12  Bruno Haible  <bruno@clisp.org>
62214
62215         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
62216         in the modules files.
62217
62218 2007-07-11  Karl Berry  <karl@gnu.org>
62219
62220         * MODULES.html.sh (func_module): use
62221          sed -e '\|^'"${includefile}"'$|d'
62222          instead of /.../d, to avoid errors on $includefile's containing /.
62223
62224 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62225
62226         * gnulib-tool (func_import): Avoid duplication of --avoid
62227         statements
62228         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
62229         names to `_' in variable names.
62230
62231 2007-07-10  Eric Blake  <ebb9@byu.net>
62232
62233         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
62234         * NEWS: Document this change.
62235
62236 2007-07-08  Bruno Haible  <bruno@clisp.org>
62237
62238         Update to Unicode 5.0.
62239         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
62240         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
62241         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
62242         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
62243         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
62244         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
62245         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
62246         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
62247         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
62248         U+10A3F, U+1D242..U+1D244.
62249         (nonspacing_table_ind): Update.
62250         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
62251         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
62252
62253 2007-07-08  Bruno Haible  <bruno@clisp.org>
62254
62255         Update to Unicode 5.0.
62256         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
62257         code transform. Extend the name index field of unicode_name_to_code and
62258         unicode_code_to_name from 16 to 24 bits.
62259         * lib/uniname/uniname.c (unicode_character_name,
62260         unicode_name_character): Add the range 0x12xxx to the code transform.
62261         * lib/uniname/uninames.h: Regenerated.
62262         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
62263
62264 2007-07-07  Bruno Haible  <bruno@clisp.org>
62265
62266         * modules/wcwidth-tests: New file.
62267         * tests/test-wcwidth.c: New file.
62268
62269         Work around MacOS X wcwidth() bug.
62270         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
62271         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
62272         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
62273         original wcwidth in non-UTF-8 locales.
62274         * modules/wcwidth (Depends-on): Add localcharset, streq,
62275         uniwidth/width.
62276         * doc/functions/wcwidth.texi: Update.
62277
62278 2007-07-07  Bruno Haible  <bruno@clisp.org>
62279
62280         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
62281         (wcwidth): New declaration.
62282         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
62283         macros.
62284         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
62285         here. Prepare for creating <wchar.h> unconditionally.
62286         * modules/wchar (Depends-on): Add link-warning.
62287         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
62288         REPLACE_WCWIDTH, and GL_LINK_WARNING.
62289         * lib/wcwidth.h: Remove file.
62290         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
62291         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
62292         * modules/wcwidth (Files): Remove lib/wcwidth.h.
62293         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
62294         (Include): Replace wcwidth.h with <wchar.h>.
62295         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
62296         * lib/mbchar.h: Don't include wcwidth.h.
62297         * lib/mbswidth.c: Likewise.
62298         * NEWS: Mention the change.
62299
62300 2007-07-07  Bruno Haible  <bruno@clisp.org>
62301
62302         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
62303         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
62304         definition with an external declaration.
62305         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
62306         defined as a function. Remove AC_C_INLINE requirement.
62307         * modules/wcwidth (Files): Add lib/wcwidth.c.
62308         (Makefile.am): Remove redundant statement.
62309
62310 2007-07-07  Bruno Haible  <bruno@clisp.org>
62311
62312         * MODULES.html.sh (Unicode string functions): Add the new modules.
62313
62314         * tests/uniwidth/test-u32-strwidth.c: New file.
62315         * modules/uniwidth/u32-strwidth-tests: New file.
62316
62317         * lib/uniwidth/u32-strwidth.c: New file.
62318         * modules/uniwidth/u32-strwidth: New file.
62319
62320         * tests/uniwidth/test-u16-strwidth.c: New file.
62321         * modules/uniwidth/u16-strwidth-tests: New file.
62322
62323         * lib/uniwidth/u16-strwidth.c: New file.
62324         * modules/uniwidth/u16-strwidth: New file.
62325
62326         * tests/uniwidth/test-u8-strwidth.c: New file.
62327         * modules/uniwidth/u8-strwidth-tests: New file.
62328
62329         * lib/uniwidth/u8-strwidth.c: New file.
62330         * modules/uniwidth/u8-strwidth: New file.
62331
62332         * tests/uniwidth/test-u32-width.c: New file.
62333         * modules/uniwidth/u32-width-tests: New file.
62334
62335         * lib/uniwidth/u32-width.c: New file.
62336         * modules/uniwidth/u32-width: New file.
62337
62338         * tests/uniwidth/test-u16-width.c: New file.
62339         * modules/uniwidth/u16-width-tests: New file.
62340
62341         * lib/uniwidth/u16-width.c: New file.
62342         * modules/uniwidth/u16-width: New file.
62343
62344         * tests/uniwidth/test-u8-width.c: New file.
62345         * modules/uniwidth/u8-width-tests: New file.
62346
62347         * lib/uniwidth/u8-width.c: New file.
62348         * modules/uniwidth/u8-width: New file.
62349
62350         * tests/uniwidth/test-uc_width.c: New file.
62351         * modules/uniwidth/width-tests: New file.
62352
62353         * lib/uniwidth/width.c: New file, from GNU libiconv.
62354         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
62355         * modules/uniwidth/width: New file.
62356
62357         * lib/uniwidth.h: New file, from GNU libiconv.
62358         * modules/uniwidth/base: New file.
62359
62360 2007-07-07  Bruno Haible  <bruno@clisp.org>
62361
62362         * lib/uniname.h: New file, from GNU gettext.
62363         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
62364         * lib/uniname/uninames.h: New file, from GNU gettext.
62365         * lib/uniname/uniname.c: New file, from GNU gettext.
62366         * tests/uniname/test-uninames.sh: New file.
62367         * tests/uniname/test-uninames.c: New file, from GNU gettext.
62368         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
62369         * modules/uniname/base: New file.
62370         * modules/uniname/uniname: New file.
62371         * modules/uniname/uniname-tests: New file.
62372         * MODULES.html.sh (Unicode string functions): Add the new modules.
62373
62374 2007-07-06  Bruno Haible  <bruno@clisp.org>
62375
62376         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
62377
62378 2007-07-06  Bruno Haible  <bruno@clisp.org>
62379
62380         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
62381         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
62382         includes <cygwin/sys_time.h> which includes <sys/select.h> which
62383         include <sys/time.h>.
62384         Reported by Eric Blake.
62385
62386 2007-07-06  Eric Blake  <ebb9@byu.net>
62387
62388         Fix testing canonicalize on cygwin.
62389         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62390         Revert patch from 2007-06-19.
62391         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
62392         canonicalize module is also in use.
62393         * tests/test-canonicalize.c: New file.
62394         * tests/test-canonicalize.sh: Likewise.
62395         * modules/canonicalize-tests: Likewise.
62396
62397 2007-07-06  Jim Meyering  <jim@meyering.net>
62398
62399         * lib/getugroups.c (getugroups): Detect getgrent failure.
62400         Adjust comment to reflect reality: this function may return -1.
62401
62402 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62403
62404         * build-aux/bootstrap (TP_URL,get_translations): Update to use
62405         the new TP address.
62406         (usage): Fix typo
62407         (gnulib_mk): New variable.
62408
62409 2007-07-05  Jim Meyering  <jim@meyering.net>
62410
62411         Don't let endgrent clobber errno, no matter how improbable.
62412         * lib/getugroups.c (getugroups): Save and restore errno around
62413         endgrent call.
62414
62415         Close the group DB even when failing with 2^31 or more members.
62416         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
62417
62418 2007-07-04  Jim Meyering  <jim@meyering.net>
62419
62420         * lib/getugroups.h: New file.
62421         * lib/getugroups.c: Include "getugroups.h".
62422         Remove uses of "register" keyword.
62423         Move local variable, "cp", down into scope where used.
62424         Give "username" parameter the "const" attribute.
62425         * modules/getugroups (Files): Add lib/getugroups.h
62426
62427 2007-07-04  Karl Berry  <karl@gnu.org>
62428
62429         * MODULES.html.sh (func_all_modules): Complete rename of
62430         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
62431
62432 2007-07-02  Bruno Haible  <bruno@clisp.org>
62433
62434         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
62435         mode, when inttypes.h comes from gnulib.
62436         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62437
62438 2007-07-02  Simon Josefsson  <simon@josefsson.org>
62439
62440         * NEWS: Mention lgpl module name change.
62441
62442         * modules/lgpl-2.1: Renamed from lgpl.
62443
62444         * NEWS: Mention gpl module name change.
62445
62446         * modules/gpl-3.0: New file, based on gpl-2.0.
62447
62448         * modules/gpl-2.0: Renamed from gpl.
62449
62450         * modules/gpl: Fix filename, doc/gpl.texi is now found at
62451         doc/gpl-2.0.texi.
62452
62453 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62454
62455         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
62456         #define __STDC_LIMIT_MACROS temporarily while including
62457         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
62458         Problem reported by Joel E. Denny in
62459         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
62460
62461 2007-07-01  Bruno Haible  <bruno@clisp.org>
62462
62463         * lib/unistdio.h: New file.
62464         * lib/unistdio/u-asnprintf.h: New file.
62465         * lib/unistdio/u-asprintf.h: New file.
62466         * lib/unistdio/u-printf-args.c: New file.
62467         * lib/unistdio/u-printf-args.h: New file.
62468         * lib/unistdio/u-printf-parse.h: New file.
62469         * lib/unistdio/u-snprintf.h: New file.
62470         * lib/unistdio/u-sprintf.h: New file.
62471         * lib/unistdio/u-vasprintf.h: New file.
62472         * lib/unistdio/u-vsnprintf.h: New file.
62473         * lib/unistdio/u-vsprintf.h: New file.
62474         * lib/unistdio/ulc-asnprintf.c: New file.
62475         * lib/unistdio/ulc-asprintf.c: New file.
62476         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
62477         * lib/unistdio/ulc-printf-parse.c: New file.
62478         * lib/unistdio/ulc-snprintf.c: New file.
62479         * lib/unistdio/ulc-sprintf.c: New file.
62480         * lib/unistdio/ulc-vasnprintf.c: New file.
62481         * lib/unistdio/ulc-vasprintf.c: New file.
62482         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
62483         * lib/unistdio/ulc-vsnprintf.c: New file.
62484         * lib/unistdio/ulc-vsprintf.c: New file.
62485         * lib/unistdio/u8-asnprintf.c: New file.
62486         * lib/unistdio/u8-asprintf.c: New file.
62487         * lib/unistdio/u8-printf-parse.c: New file.
62488         * lib/unistdio/u8-snprintf.c: New file.
62489         * lib/unistdio/u8-sprintf.c: New file.
62490         * lib/unistdio/u8-vasnprintf.c: New file.
62491         * lib/unistdio/u8-vasprintf.c: New file.
62492         * lib/unistdio/u8-vsnprintf.c: New file.
62493         * lib/unistdio/u8-vsprintf.c: New file.
62494         * lib/unistdio/u8-u8-asnprintf.c: New file.
62495         * lib/unistdio/u8-u8-asprintf.c: New file.
62496         * lib/unistdio/u8-u8-snprintf.c: New file.
62497         * lib/unistdio/u8-u8-sprintf.c: New file.
62498         * lib/unistdio/u8-u8-vasnprintf.c: New file.
62499         * lib/unistdio/u8-u8-vasprintf.c: New file.
62500         * lib/unistdio/u8-u8-vsnprintf.c: New file.
62501         * lib/unistdio/u8-u8-vsprintf.c: New file.
62502         * lib/unistdio/u16-asnprintf.c: New file.
62503         * lib/unistdio/u16-asprintf.c: New file.
62504         * lib/unistdio/u16-printf-parse.c: New file.
62505         * lib/unistdio/u16-snprintf.c: New file.
62506         * lib/unistdio/u16-sprintf.c: New file.
62507         * lib/unistdio/u16-vasnprintf.c: New file.
62508         * lib/unistdio/u16-vasprintf.c: New file.
62509         * lib/unistdio/u16-vsnprintf.c: New file.
62510         * lib/unistdio/u16-vsprintf.c: New file.
62511         * lib/unistdio/u16-u16-asnprintf.c: New file.
62512         * lib/unistdio/u16-u16-asprintf.c: New file.
62513         * lib/unistdio/u16-u16-snprintf.c: New file.
62514         * lib/unistdio/u16-u16-sprintf.c: New file.
62515         * lib/unistdio/u16-u16-vasnprintf.c: New file.
62516         * lib/unistdio/u16-u16-vasprintf.c: New file.
62517         * lib/unistdio/u16-u16-vsnprintf.c: New file.
62518         * lib/unistdio/u16-u16-vsprintf.c: New file.
62519         * lib/unistdio/u32-asnprintf.c: New file.
62520         * lib/unistdio/u32-asprintf.c: New file.
62521         * lib/unistdio/u32-printf-parse.c: New file.
62522         * lib/unistdio/u32-snprintf.c: New file.
62523         * lib/unistdio/u32-sprintf.c: New file.
62524         * lib/unistdio/u32-vasnprintf.c: New file.
62525         * lib/unistdio/u32-vasprintf.c: New file.
62526         * lib/unistdio/u32-vsnprintf.c: New file.
62527         * lib/unistdio/u32-vsprintf.c: New file.
62528         * lib/unistdio/u32-u32-asnprintf.c: New file.
62529         * lib/unistdio/u32-u32-asprintf.c: New file.
62530         * lib/unistdio/u32-u32-snprintf.c: New file.
62531         * lib/unistdio/u32-u32-sprintf.c: New file.
62532         * lib/unistdio/u32-u32-vasnprintf.c: New file.
62533         * lib/unistdio/u32-u32-vasprintf.c: New file.
62534         * lib/unistdio/u32-u32-vsnprintf.c: New file.
62535         * lib/unistdio/u32-u32-vsprintf.c: New file.
62536         * tests/unistdio/test-ulc-asnprintf1.c: New file.
62537         * tests/unistdio/test-ulc-asnprintf1.h: New file.
62538         * tests/unistdio/test-ulc-printf1.h: New file.
62539         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
62540         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
62541         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
62542         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
62543         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
62544         * tests/unistdio/test-ulc-vasprintf1.c: New file.
62545         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
62546         * tests/unistdio/test-ulc-vsprintf1.c: New file.
62547         * tests/unistdio/test-u8-asnprintf1.c: New file.
62548         * tests/unistdio/test-u8-asnprintf1.h: New file.
62549         * tests/unistdio/test-u8-printf1.h: New file.
62550         * tests/unistdio/test-u8-vasnprintf1.c: New file.
62551         * tests/unistdio/test-u8-vasnprintf2.c: New file.
62552         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
62553         * tests/unistdio/test-u8-vasnprintf3.c: New file.
62554         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
62555         * tests/unistdio/test-u8-vasprintf1.c: New file.
62556         * tests/unistdio/test-u8-vsnprintf1.c: New file.
62557         * tests/unistdio/test-u8-vsprintf1.c: New file.
62558         * tests/unistdio/test-u16-asnprintf1.c: New file.
62559         * tests/unistdio/test-u16-asnprintf1.h: New file.
62560         * tests/unistdio/test-u16-printf1.h: New file.
62561         * tests/unistdio/test-u16-vasnprintf1.c: New file.
62562         * tests/unistdio/test-u16-vasnprintf2.c: New file.
62563         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
62564         * tests/unistdio/test-u16-vasnprintf3.c: New file.
62565         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
62566         * tests/unistdio/test-u16-vasprintf1.c: New file.
62567         * tests/unistdio/test-u16-vsnprintf1.c: New file.
62568         * tests/unistdio/test-u16-vsprintf1.c: New file.
62569         * tests/unistdio/test-u32-asnprintf1.c: New file.
62570         * tests/unistdio/test-u32-asnprintf1.h: New file.
62571         * tests/unistdio/test-u32-printf1.h: New file.
62572         * tests/unistdio/test-u32-vasnprintf1.c: New file.
62573         * tests/unistdio/test-u32-vasnprintf2.c: New file.
62574         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
62575         * tests/unistdio/test-u32-vasnprintf3.c: New file.
62576         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
62577         * tests/unistdio/test-u32-vasprintf1.c: New file.
62578         * tests/unistdio/test-u32-vsnprintf1.c: New file.
62579         * tests/unistdio/test-u32-vsprintf1.c: New file.
62580         * modules/unistdio/base: New file.
62581         * modules/unistdio/u-printf-args: New file.
62582         * modules/unistdio/ulc-asnprintf: New file.
62583         * modules/unistdio/ulc-asprintf: New file.
62584         * modules/unistdio/ulc-fprintf: New file.
62585         * modules/unistdio/ulc-printf-parse: New file.
62586         * modules/unistdio/ulc-snprintf: New file.
62587         * modules/unistdio/ulc-sprintf: New file.
62588         * modules/unistdio/ulc-vasnprintf: New file.
62589         * modules/unistdio/ulc-vasprintf: New file.
62590         * modules/unistdio/ulc-vfprintf: New file.
62591         * modules/unistdio/ulc-vsnprintf: New file.
62592         * modules/unistdio/ulc-vsprintf: New file.
62593         * modules/unistdio/u8-asnprintf: New file.
62594         * modules/unistdio/u8-asprintf: New file.
62595         * modules/unistdio/u8-printf-parse: New file.
62596         * modules/unistdio/u8-snprintf: New file.
62597         * modules/unistdio/u8-sprintf: New file.
62598         * modules/unistdio/u8-vasnprintf: New file.
62599         * modules/unistdio/u8-vasprintf: New file.
62600         * modules/unistdio/u8-vsnprintf: New file.
62601         * modules/unistdio/u8-vsprintf: New file.
62602         * modules/unistdio/u8-u8-asnprintf: New file.
62603         * modules/unistdio/u8-u8-asprintf: New file.
62604         * modules/unistdio/u8-u8-snprintf: New file.
62605         * modules/unistdio/u8-u8-sprintf: New file.
62606         * modules/unistdio/u8-u8-vasnprintf: New file.
62607         * modules/unistdio/u8-u8-vasprintf: New file.
62608         * modules/unistdio/u8-u8-vsnprintf: New file.
62609         * modules/unistdio/u8-u8-vsprintf: New file.
62610         * modules/unistdio/u16-asnprintf: New file.
62611         * modules/unistdio/u16-asprintf: New file.
62612         * modules/unistdio/u16-printf-parse: New file.
62613         * modules/unistdio/u16-snprintf: New file.
62614         * modules/unistdio/u16-sprintf: New file.
62615         * modules/unistdio/u16-vasnprintf: New file.
62616         * modules/unistdio/u16-vasprintf: New file.
62617         * modules/unistdio/u16-vsnprintf: New file.
62618         * modules/unistdio/u16-vsprintf: New file.
62619         * modules/unistdio/u16-u16-asnprintf: New file.
62620         * modules/unistdio/u16-u16-asprintf: New file.
62621         * modules/unistdio/u16-u16-snprintf: New file.
62622         * modules/unistdio/u16-u16-sprintf: New file.
62623         * modules/unistdio/u16-u16-vasnprintf: New file.
62624         * modules/unistdio/u16-u16-vasprintf: New file.
62625         * modules/unistdio/u16-u16-vsnprintf: New file.
62626         * modules/unistdio/u16-u16-vsprintf: New file.
62627         * modules/unistdio/u32-asnprintf: New file.
62628         * modules/unistdio/u32-asprintf: New file.
62629         * modules/unistdio/u32-printf-parse: New file.
62630         * modules/unistdio/u32-snprintf: New file.
62631         * modules/unistdio/u32-sprintf: New file.
62632         * modules/unistdio/u32-vasnprintf: New file.
62633         * modules/unistdio/u32-vasprintf: New file.
62634         * modules/unistdio/u32-vsnprintf: New file.
62635         * modules/unistdio/u32-vsprintf: New file.
62636         * modules/unistdio/u32-u32-asnprintf: New file.
62637         * modules/unistdio/u32-u32-asprintf: New file.
62638         * modules/unistdio/u32-u32-snprintf: New file.
62639         * modules/unistdio/u32-u32-sprintf: New file.
62640         * modules/unistdio/u32-u32-vasnprintf: New file.
62641         * modules/unistdio/u32-u32-vasprintf: New file.
62642         * modules/unistdio/u32-u32-vsnprintf: New file.
62643         * modules/unistdio/u32-u32-vsprintf: New file.
62644         * modules/unistdio/ulc-asnprintf-tests: New file.
62645         * modules/unistdio/ulc-vasnprintf-tests: New file.
62646         * modules/unistdio/ulc-vasprintf-tests: New file.
62647         * modules/unistdio/ulc-vsnprintf-tests: New file.
62648         * modules/unistdio/ulc-vsprintf-tests: New file.
62649         * modules/unistdio/u8-asnprintf-tests: New file.
62650         * modules/unistdio/u8-vasnprintf-tests: New file.
62651         * modules/unistdio/u8-vasprintf-tests: New file.
62652         * modules/unistdio/u8-vsnprintf-tests: New file.
62653         * modules/unistdio/u8-vsprintf-tests: New file.
62654         * modules/unistdio/u16-asnprintf-tests: New file.
62655         * modules/unistdio/u16-vasnprintf-tests: New file.
62656         * modules/unistdio/u16-vasprintf-tests: New file.
62657         * modules/unistdio/u16-vsnprintf-tests: New file.
62658         * modules/unistdio/u16-vsprintf-tests: New file.
62659         * modules/unistdio/u32-asnprintf-tests: New file.
62660         * modules/unistdio/u32-vasnprintf-tests: New file.
62661         * modules/unistdio/u32-vasprintf-tests: New file.
62662         * modules/unistdio/u32-vsnprintf-tests: New file.
62663         * modules/unistdio/u32-vsprintf-tests: New file.
62664         * MODULES.html.sh (Unicode string functions): Add the new modules.
62665
62666 2007-07-01  Bruno Haible  <bruno@clisp.org>
62667
62668         * lib/sprintf.c (sprintf): Limit the available length estimation,
62669         to avoid address wraparound.
62670         * lib/vsprintf.c (vsprintf): Likewise.
62671         * modules/sprintf-posix (Dependencies): Add stdint.
62672         * modules/vsprintf-posix (Dependencies): Likewise.
62673
62674 2007-07-01  Bruno Haible  <bruno@clisp.org>
62675
62676         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
62677         Windows PATH as well. Conservative double-quoting. Comments.
62678
62679 2007-07-01  Bruno Haible  <bruno@clisp.org>
62680             Eric Blake  <ebb9@byu.net>
62681             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62682
62683         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62684         empty components in $PATH, denoting '.'.
62685
62686 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62687
62688         * gnulib-tool: Fix indentation.
62689         (func_create_megatestdir): Likewise.
62690         Report by Bruno Haible.
62691
62692 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62693
62694         Sync from Automake.
62695         * build-aux/gnupload: Fix shell portability issues with for loops.
62696         Report by Karl Berry.
62697
62698 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62699
62700         * build-aux/maint.mk (POURL): Use translationproject.org.
62701
62702 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62703             Bruno Haible  <bruno@clisp.org>
62704
62705         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62706         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62707         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62708         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62709         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62710
62711 2007-06-27  Bruno Haible  <bruno@clisp.org>
62712
62713         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62714         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62715
62716 2007-06-26  Karl Berry  <karl@gnu.org>
62717
62718         * MODULES.html.sh: remove xreadlink-with-size.
62719
62720 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62721
62722         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62723         method that I hope also handles the double-include problem noted
62724         by Bruno Haible in
62725         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62726
62727 2007-06-23  Bruno Haible  <bruno@clisp.org>
62728
62729         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62730         Don't let the 'mostlyclean' target fail if the last subdirectory could
62731         not be removed.
62732         Reported by Karl Berry.
62733
62734 2007-06-23  Bruno Haible  <bruno@clisp.org>
62735
62736         * gnulib-tool (echo): Add a speedier workaround for ksh.
62737         * tests/test-echo.sh: Likewise.
62738
62739 2007-06-23  Bruno Haible  <bruno@clisp.org>
62740
62741         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62742         * tests/test-echo.sh: Likewise.
62743
62744 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62745
62746         * gnulib-tool (IFS): Initialize early, so we don't set it to
62747         empty later.
62748         (self_abspathname): Rewrite algorithm to set it, reindent.
62749         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62750         (func_create_megatestdir): Merge some sed scripts.
62751
62752 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62753
62754         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62755         exposed by Sun Studio 11 cc on Solaris 8.
62756
62757 2007-06-22  Bruno Haible  <bruno@clisp.org>
62758
62759         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62760         backslashes.
62761         * tests/test-echo.sh: New file.
62762
62763 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62764
62765         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62766         simplify `sed_replace_build_aux' scripts, they are portable but
62767         echoing them with `echo' is not.
62768         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62769
62770 2007-06-21  Karl Berry  <karl@gnu.org>
62771
62772         * config/srclist.txt: guess we can't handle the licenses via
62773         srclist at the moment.
62774
62775 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62776
62777         * MODULES.html.sh: Add include_next.
62778         * modules/include_next: New file.
62779
62780 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62781
62782         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62783         INCLUDE_NEXT.
62784         (gl_CHECK_NEXT_HEADERS): New macro.
62785         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62786         the obsolescent gl_ABSOLUTE_HEADER.
62787         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62788         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62789         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62790         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62791         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62792         * m4/math_h.m4 (gl_MATH_H): Likewise.
62793         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62794         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62795         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62796         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62797         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62798         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62799         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62800         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62801         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62802         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62803         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62804         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62805         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62806         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62807         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62808         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62809         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62810         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62811         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62812         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62813         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62814         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62815         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62816         * lib/float_.h: Likewise.
62817         * lib/inttypes_.h: Likewise.
62818         * lib/math_.h: Likewise.
62819         * lib/search_.h: Likewise.
62820         * lib/signal_.h: Likewise.
62821         * lib/stdint_.h: Likewise.
62822         * lib/stdio_.h: Likewise.
62823         * lib/stdlib_.h: Likewise.
62824         * lib/string_.h: Likewise.
62825         * lib/sys_stat_.h: Likewise.
62826         * lib/sys_time_.h: Likewise.
62827         * lib/time_.h: Likewise.
62828         * lib/unistd_.h: Likewise.
62829         * lib/wchar_.h: Likewise.
62830         * lib/wctype_.h: Likewise.
62831         * lib/dirent_.h: Likewise.
62832         * lib/iconv_.h: Likewise.
62833         * lib/locale_.h: Likewise.
62834         * lib/netinet_in_.h: Likewise.
62835         * lib/sys_select_.h: Likewise.
62836         * lib/sys_socket_.h: Likewise.
62837         * lib/sysexits_.h: Likewise.
62838         * modules/fcntl (Depends-on): Depend on include_next, not
62839         absolute_header.
62840         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
62841         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
62842         * modules/fchdir: Likewise.
62843         * modules/float: Likewise.
62844         * modules/iconv_open: Likewise.
62845         * modules/inttypes: Likewise.
62846         * modules/locale: Likewise.
62847         * modules/math: Likewise.
62848         * modules/netinet_in: Likewise.
62849         * modules/search: Likewise.
62850         * modules/signal: Likewise.
62851         * modules/stdint: Likewise.
62852         * modules/stdio: Likewise.
62853         * modules/stdlib: Likewise.
62854         * modules/string: Likewise.
62855         * modules/sys_select: Likewise.
62856         * modules/sys_socket: Likewise.
62857         * modules/sys_stat: Likewise.
62858         * modules/sys_time: Likewise.
62859         * modules/sysexits: Likewise.
62860         * modules/time: Likewise.
62861         * modules/unistd: Likewise.
62862         * modules/wchar: Likewise.
62863         * modules/wctype: Likewise.
62864         * modules/sys_stat: Change maintainer to "all".
62865         * modules/unistd: Likewise.
62866
62867 2007-06-20  Karl Berry  <karl@gnu.org>
62868
62869         * config/srclist.txt: track www changes in license files.
62870
62871 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62872
62873         * build-aux/bootstrap: Remove stray dot.
62874         Make sure build_aux settings are honored when linking
62875         gnulib_extra_files.
62876
62877 2007-06-19  Eric Blake  <ebb9@byu.net>
62878
62879         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62880         Allow compilation on cygwin.
62881
62882 2007-06-19  Jim Meyering  <jim@meyering.net>
62883
62884         xreadlink-with-size: Remove module.  No longer used.
62885         Ex-callers now use xreadlink or mreadlink-with-size.
62886         * modules/xreadlink-with-size: Remove module.
62887         * lib/xreadlink-with-size.c: Remove file.
62888         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62889         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62890         just before the function definition *is* accurate.
62891
62892         Eliminate one way canonicalize_filename_mode could exit.
62893         * lib/canonicalize.c (canonicalize_filename_mode):
62894         Use mreadlink_with_size, not xreadlink_with_size.
62895
62896 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62897
62898         Detect porting problems to FreeBSD/arm, which has time_t wider than
62899         long int.  Original problem reported for GNU diff by Xin Li in
62900         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62901         * modules/getdate (Depends-on): Add intprops, verify.
62902         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62903         is an integer type no wider than long int.
62904
62905 2007-06-18  Jim Meyering  <jim@meyering.net>
62906
62907         New module: mreadlink-with-size.
62908         * MODULES.html.sh: Add mreadlink-with-size.
62909         * modules/mreadlink-with-size: New module
62910         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62911         not xreadlink-with-size.
62912         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62913
62914 2007-06-16  Bruno Haible  <bruno@clisp.org>
62915
62916         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62917         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62918         Reported by Gary V. Vaughan <gary@gnu.org>.
62919
62920 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62921
62922         Revamp lchown so that it lives in unistd.h where it belongs.
62923         * lib/lchown.h: Remove.
62924         * lib/dirchownmod.c: Don't include lib/lchown.h.
62925         * lib/fchownat.c: Likewise.
62926         * lib/openat.c: Likewise.
62927         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62928         does not follow symlinks.
62929         (EOPNOTSUPP): Define if not defined.
62930         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62931         is defined to 0.
62932         (lchown): New decl.
62933         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62934         Do not check for lchown decl.
62935         Set REPLACE_LCHOWN.
62936         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62937         REPLACE_LCHOWN.
62938         * modules/chown: Make it clear it follows symlinks.
62939         * modules/lchown: Make it clear it doesn't follow symlinks.
62940         (Files): Remove lib/lchown.h
62941         (Depends-on): Add unistd.
62942         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62943         (Include): Include <unistd.h>, not "lchown.h".
62944         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62945         REPLACE_LCHOWN.
62946
62947 2007-06-15  Jim Meyering  <jim@meyering.net>
62948
62949         Change license (GPL to LGPL) of fsusage and dependents.
62950         * modules/fsusage (License): Change to LGPL.
62951         * modules/full-read (License): Likewise.
62952         * modules/full-write (License): Likewise.
62953         * modules/safe-read (License): Likewise.
62954         * modules/safe-write (License): Likewise.
62955
62956 2007-06-14  Ben Pfaff  <blp@gnu.org>
62957
62958         Missing part of allocsa -> malloca transition.
62959         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
62960         gl_MALLOCA.
62961
62962 2007-06-12  Bruno Haible  <bruno@clisp.org>
62963
62964         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
62965         to ia64, x86_64, i386.
62966         Reported by Eric Blake.
62967
62968 2007-06-12  Bruno Haible  <bruno@clisp.org>
62969
62970         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
62971         cross-compiling to x86_64.
62972
62973 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
62974
62975         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
62976         glitch reported by Ralf Wildenhues in
62977         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
62978
62979         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
62980         Vin Shelton.
62981
62982 2007-06-11  Bruno Haible  <bruno@clisp.org>
62983
62984         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
62985         replacement string.
62986         Reported by Eric Blake.
62987
62988 2007-06-10  Bruno Haible  <bruno@clisp.org>
62989
62990         Prepare vasnprintf code for use with Unicode strings.
62991         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
62992         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
62993         TYPE_U32_STRING.
62994         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
62995         a_u32_string variants.
62996         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62997         * lib/printf-args.c: Don't include config.h and the specification
62998         header if PRINTF_FETCHARGS is already defined.
62999         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
63000         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
63001         TYPE_U16_STRING, TYPE_U32_STRING.
63002         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
63003         u16_directive, u16_directives, u32_directive, u32_directives): New
63004         types.
63005         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
63006         New declarations.
63007         * lib/printf-parse.c: Don't include config.h and the specification
63008         header if PRINTF_PARSE is already defined. Eliminate the set of
63009         parameters for WIDE_CHAR_VERSION; the user of this file must provide
63010         them now. Include c-ctype.h.
63011         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
63012         directive and CHAR_T_ONLY_ASCII.
63013         * lib/vasnprintf.c: Don't include config.h and the specification header
63014         if VASNPRINTF is already defined.
63015         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
63016         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
63017         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
63018         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
63019         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
63020         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
63021         code accordingly.
63022         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
63023         pad_ourselves also in this case, with the 'c' and 's' directives, and
63024         with a different notion of "width".
63025         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
63026
63027 2007-06-10  Bruno Haible  <bruno@clisp.org>
63028
63029         * modules/unistr/u32-mbsnlen: New file.
63030         * lib/unistr/u32-mbsnlen.c: New file.
63031
63032         * modules/unistr/u16-mbsnlen: New file.
63033         * lib/unistr/u16-mbsnlen.c: New file.
63034
63035         * modules/unistr/u8-mbsnlen: New file.
63036         * lib/unistr/u8-mbsnlen.c: New file.
63037
63038         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
63039         declarations.
63040
63041 2007-06-10  Bruno Haible  <bruno@clisp.org>
63042
63043         * lib/string_.h (mbsnlen): New declaration.
63044         * lib/mbsnlen.c: New file.
63045         * m4/mbsnlen.m4: New file.
63046         * modules/mbsnlen: New file.
63047         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
63048         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
63049         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
63050
63051 2007-06-10  Bruno Haible  <bruno@clisp.org>
63052
63053         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
63054
63055 2007-06-10  Bruno Haible  <bruno@clisp.org>
63056
63057         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
63058         * lib/mbuiter.h: Likewise.
63059
63060 2007-06-10  Bruno Haible  <bruno@clisp.org>
63061
63062         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
63063         declaration.
63064
63065 2007-06-10  Karl Berry  <karl@gnu.org>
63066
63067         * config/srclist.txt: remove gettext entries, Bruno prefers
63068         to update individually.
63069
63070 2007-06-10  Bruno Haible  <bruno@clisp.org>
63071
63072         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
63073         'maxlen'. Ensure only length + width bytes are allocated, not
63074         length + 1 + width.
63075
63076 2007-06-09  Bruno Haible  <bruno@clisp.org>
63077
63078         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
63079         (CHAR_T): Remove macro.
63080         (VASNPRINTF): Update.
63081
63082 2007-06-09  Bruno Haible  <bruno@clisp.org>
63083
63084         * MODULES.html.sh (Unicode string functions): Add the new modules.
63085
63086         * modules/uniconv/u32-conv-to-enc: New file.
63087         * lib/uniconv/u32-conv-to-enc.c: New file.
63088         * modules/uniconv/u32-conv-to-enc-tests: New file.
63089         * tests/uniconv/test-u32-conv-to-enc.c: New file.
63090
63091         * modules/uniconv/u16-conv-to-enc: New file.
63092         * lib/uniconv/u16-conv-to-enc.c: New file.
63093         * lib/uniconv/u-conv-to-enc.h: New file.
63094         * modules/uniconv/u16-conv-to-enc-tests: New file.
63095         * tests/uniconv/test-u16-conv-to-enc.c: New file.
63096
63097         * modules/uniconv/u8-conv-to-enc: New file.
63098         * lib/uniconv/u8-conv-to-enc.c: New file.
63099         * modules/uniconv/u8-conv-to-enc-tests: New file.
63100         * tests/uniconv/test-u8-conv-to-enc.c: New file.
63101
63102         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
63103         u32_conv_to_encoding): New declarations.
63104
63105 2007-06-09  Bruno Haible  <bruno@clisp.org>
63106
63107         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
63108
63109 2007-06-09  Bruno Haible  <bruno@clisp.org>
63110
63111         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
63112         * modules/malloca: Renamed from modules/allocsa, updated.
63113         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
63114         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
63115         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
63116         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
63117         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
63118         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
63119         * modules/xmalloca: Renamed from modules/xallocsa, updated.
63120         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
63121         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
63122         * modules/c-strcasestr (Depends-on): Update.
63123         * lib/c-strcasestr.c: Update.
63124         * modules/c-strstr (Depends-on): Update.
63125         * lib/c-strstr.c: Update.
63126         * modules/canonicalize-lgpl (Depends-on): Update.
63127         * lib/canonicalize-lgpl.c: Update.
63128         * modules/clean-temp (Depends-on): Update.
63129         * lib/clean-temp.c: Update.
63130         * modules/csharpcomp (Depends-on): Update.
63131         * lib/csharpcomp.c: Update.
63132         * modules/csharpexec (Depends-on): Update.
63133         * lib/csharpexec.c: Update.
63134         * modules/javacomp (Depends-on): Update.
63135         * lib/javacomp.c: Update.
63136         * modules/javaexec (Depends-on): Update.
63137         * lib/javaexec.c: Update.
63138         * modules/mbscasestr (Depends-on): Update.
63139         * lib/mbscasestr.c: Update.
63140         * modules/mbsstr (Depends-on): Update.
63141         * lib/mbsstr.c: Update.
63142         * modules/setenv (Depends-on): Update.
63143         * lib/setenv.c: Update.
63144         * modules/strcasestr (Depends-on): Update.
63145         * lib/strcasestr.c: Update.
63146         * modules/striconveha (Depends-on): Update.
63147         * lib/striconveha.c: Update.
63148         * modules/relocatable-prog-wrapper (Files): Update.
63149         * lib/relocwrapper.c: Update.
63150         * build-aux/install-reloc: Update.
63151         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
63152
63153 2007-06-08  Bruno Haible  <bruno@clisp.org>
63154
63155         Port to uClibc.
63156         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
63157         * lib/fpurge.c (fpurge): Likewise.
63158         * lib/freading.c (freading): Likewise.
63159         * lib/fseeko.c (rpl_fseeko): Likewise.
63160         * lib/fseterr.c (fseterr): Likewise.
63161         * lib/fwriting.c (fwriting): Likewise.
63162         * tests/test-fflush.c (main): Avoid a failure on uClibc.
63163
63164 2007-06-08  Bruno Haible  <bruno@clisp.org>
63165
63166         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
63167         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
63168         * modules/gettext (Files): Add m4/intlmacosx.m4.
63169
63170 2007-06-07  Bruno Haible  <bruno@clisp.org>
63171
63172         * modules/localename-tests: New file.
63173         * tests/test-localename.c: New file.
63174
63175         New module 'localename'.
63176         * lib/localename.h: New file.
63177         * lib/localename.c: New file, from GNU gettext.
63178         * m4/localename.m4: New file.
63179         * modules/localename: New file.
63180
63181 2007-06-07  Bruno Haible  <bruno@clisp.org>
63182
63183         Work around the lack of <wchar.h> on some builds of uClibc.
63184         * doc/headers/wchar.texi: Update.
63185         * lib/wchar_.h: Include <wchar.h> only if it exists.
63186         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
63187         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
63188         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
63189         doesn't exist.
63190         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
63191         * modules/mbfile (Depends-on): Add wchar.
63192         * modules/mbiter (Depends-on): Likewise.
63193         * modules/mbuiter (Depends-on): Likewise.
63194         Reported by Simon Josefsson.
63195
63196 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
63197
63198         Work around problem reported by Steven M. Schweda in
63199         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
63200         Tru64 5.1B with the Compaq compiler environment installed declares
63201         an 'isblank' function but does not define it in the C library.
63202         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
63203         * lib/regex_internal.h (isblank): Likewise.
63204         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
63205         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63206
63207 2007-06-05  Bruno Haible  <bruno@clisp.org>
63208
63209         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
63210         ia64.
63211         * modules/printf-safe: New file.
63212         * modules/fprintf-posix (Depends-on): Add printf-safe.
63213         * modules/printf-posix (Depends-on): Likewise.
63214         * modules/snprintf-posix (Depends-on): Likewise.
63215         * modules/sprintf-posix (Depends-on): Likewise.
63216         * modules/vasnprintf-posix (Depends-on): Likewise.
63217         * modules/vasprintf-posix (Depends-on): Likewise.
63218         * modules/vfprintf-posix (Depends-on): Likewise.
63219         * modules/vprintf-posix (Depends-on): Likewise.
63220         * modules/vsnprintf-posix (Depends-on): Likewise.
63221         * modules/vsprintf-posix (Depends-on): Likewise.
63222         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
63223         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
63224         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
63225         "no" on i386, x86_64, ia64.
63226         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
63227         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63228         on i386, x86_64, ia64.
63229         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
63230         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63231         on i386, x86_64, ia64.
63232         * tests/test-vasnprintf-posix.c: Include float.h.
63233         (LDBL80_WORDS): New macro.
63234         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63235         on i386, x86_64, ia64.
63236         * tests/test-vasprintf-posix.c: Include float.h.
63237         (LDBL80_WORDS): New macro.
63238         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63239         on i386, x86_64, ia64.
63240         * tests/test-snprintf-posix.c: Include float.h.
63241         * tests/test-sprintf-posix.c: Likewise.
63242         * tests/test-vsnprintf-posix.c: Likewise.
63243         * tests/test-vsprintf-posix.c: Likewise.
63244
63245 2007-06-05  Bruno Haible  <bruno@clisp.org>
63246
63247         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
63248         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
63249         non-IEEE numbers on i386, x86_64, ia64.
63250         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
63251         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
63252         * tests/test-isnanl.h: Include float.h.
63253         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
63254
63255 2007-06-05  Bruno Haible  <bruno@clisp.org>
63256
63257         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
63258         also the %a / %A. Handle the %a / %A code before this extra handling.
63259
63260 2007-06-05  Bruno Haible  <bruno@clisp.org>
63261
63262         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
63263         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
63264
63265 2007-06-05  Bruno Haible  <bruno@clisp.org>
63266
63267         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
63268         typo in variable name.
63269
63270 2007-06-05  Eric Blake  <ebb9@byu.net>
63271
63272         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
63273         Reported by Simon Josefsson.
63274
63275 2007-06-04  Bruno Haible  <bruno@clisp.org>
63276
63277         Avoid test failures on some PowerPC platforms.
63278         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
63279         Define differently for PowerPC.
63280         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
63281         Reported by Gary V. Vaughan <gary@gnu.org>.
63282
63283 2007-06-02  Bruno Haible  <bruno@clisp.org>
63284
63285         Fix test-stdint failure on FreeBSD/ia64.
63286         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
63287         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
63288         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
63289         * doc/headers/stdint.texi: Update.
63290
63291 2007-06-01  Bruno Haible  <bruno@clisp.org>
63292
63293         * tests/test-binary-io.c (main): Pass a third argument to open().
63294         Reported by Gary V. Vaughan <gary@gnu.org>.
63295
63296 2007-06-01  Bruno Haible  <bruno@clisp.org>
63297
63298         * doc/functions/frexpl.texi: Update for mingw.
63299
63300 2007-06-01  Bruno Haible  <bruno@clisp.org>
63301
63302         * tests/test-lseek.c (main): Disable test of errno for invalid third
63303         argument.
63304         * doc/functions/lseek.texi: Update.
63305         Reported by Gary V. Vaughan <gary@gnu.org>.
63306
63307 2007-05-28  Bruno Haible  <bruno@clisp.org>
63308
63309         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
63310
63311 2007-05-31  Eric Blake  <ebb9@byu.net>
63312
63313         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
63314         cross compiling.
63315
63316 2007-05-30  Eric Blake  <ebb9@byu.net>
63317         and Bruno Haible  <bruno@clisp.org>
63318
63319         Work around mingw test failures exposed by m4-1.4.9b.
63320         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
63321         * tests/test-unistd.c: Disable uid_t and git_t tests for the
63322         moment.
63323
63324 2007-05-30  Bruno Haible  <bruno@clisp.org>
63325
63326         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
63327         assuming that they are closed. Needed on HP-UX 11.
63328
63329 2007-05-29  Bruno Haible  <bruno@clisp.org>
63330
63331         Fix a problem with #include_next.
63332         * lib/dirent_.h: Split the double-inclusion guard.
63333         * lib/fcntl_.h: Likewise.
63334         * lib/float_.h: Likewise.
63335         * lib/iconv_.h: Likewise.
63336         * lib/inttypes_.h: Likewise.
63337         * lib/locale_.h: Likewise.
63338         * lib/math_.h: Likewise.
63339         * lib/netinet_in_.h: Likewise.
63340         * lib/search_.h: Likewise.
63341         * lib/signal_.h: Likewise.
63342         * lib/stdint_.h: Likewise.
63343         * lib/stdio_.h: Likewise.
63344         * lib/stdlib_.h: Likewise.
63345         * lib/string_.h: Likewise.
63346         * lib/sys_select_.h: Likewise.
63347         * lib/sys_socket_.h: Likewise.
63348         * lib/sys_stat_.h: Likewise.
63349         * lib/sys_time_.h: Likewise.
63350         * lib/sysexits_.h: Likewise.
63351         * lib/time_.h: Likewise.
63352         * lib/unistd_.h: Likewise.
63353         * lib/wchar_.h: Likewise.
63354         * lib/wctype_.h: Likewise.
63355
63356 2007-05-29  Bruno Haible  <bruno@clisp.org>
63357
63358         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
63359         for the moment.
63360
63361 2007-05-29  Bruno Haible  <bruno@clisp.org>
63362
63363         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
63364         invocation.
63365         Reported by Eric Blake.
63366
63367 2007-05-29  Bruno Haible  <bruno@clisp.org>
63368
63369         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
63370         compiling case.
63371
63372 2007-05-29  Eric Blake  <ebb9@byu.net>
63373             Bruno Haible  <bruno@clisp.org>
63374
63375         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
63376         cross compiles.
63377
63378 2007-05-28  Eric Blake  <ebb9@byu.net>
63379
63380         * modules/closein-tests (test_closein_LDADD): Support test on
63381         cygwin with libtool.
63382
63383 2007-05-28  Bruno Haible  <bruno@clisp.org>
63384
63385         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
63386         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63387         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63388         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63389         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63390         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63391         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63392         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63393         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63394
63395 2007-05-28  Eric Blake  <ebb9@byu.net>
63396
63397         Unconditionally include <config.h> in unit tests.
63398         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
63399         * tests/test-allocsa.c, tests/test-arcfour.c,
63400         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
63401         tests/test-array_list.c, tests/test-array_oset.c,
63402         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
63403         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
63404         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
63405         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
63406         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
63407         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
63408         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
63409         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
63410         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
63411         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
63412         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
63413         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
63414         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
63415         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
63416         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
63417         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
63418         test-md5.c, test-memmem.c, test-printf-posix.c,
63419         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
63420         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
63421         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
63422         test-strcasestr.c, test-striconv.c, test-striconveh.c,
63423         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
63424         test-vasnprintf-posix2.c, test-vasnprintf.c,
63425         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
63426         test-vfprintf-posix.c, test-vprintf-posix.c,
63427         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
63428         test-xvasprintf.c: Likewise.
63429
63430 2007-05-28  Bruno Haible  <bruno@clisp.org>
63431
63432         * gnulib-tool (func_import): Remember the --with-tests command-line
63433         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
63434         Reported by Eric Blake.
63435
63436 2007-05-28  Bruno Haible  <bruno@clisp.org>
63437
63438         * modules/ftell-tests: New file.
63439         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
63440         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
63441
63442         * lib/ftell.c: New file.
63443         * modules/ftell: New file.
63444         * m4/ftell.m4: New file.
63445         * doc/functions/ftell.texi: Update.
63446         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
63447         REPLACE_FTELL.
63448         * lib/stdio_.h (rpl_ftell): New declaration.
63449         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
63450         REPLACE_FTELL.
63451
63452 2007-05-28  Eric Blake  <ebb9@byu.net>
63453
63454         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
63455
63456 2007-05-28  Bruno Haible  <bruno@clisp.org>
63457
63458         * modules/fseek-tests: New file.
63459         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
63460         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
63461
63462         * lib/fseek.c: New file.
63463         * modules/fseek: New file.
63464         * m4/fseek.m4: New file.
63465         * doc/functions/fseek.texi: Update.
63466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
63467         REPLACE_FSEEK.
63468         * lib/stdio_.h (rpl_fseek): New declaration.
63469         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
63470         REPLACE_FSEEK.
63471
63472 2007-05-28  Bruno Haible  <bruno@clisp.org>
63473
63474         * lib/stdio_.h (fflush): More comments.
63475
63476 2007-05-28  Bruno Haible  <bruno@clisp.org>
63477
63478         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
63479         runtime test.
63480
63481 2007-05-28  Eric Blake  <ebb9@byu.net>
63482
63483         Improve lseek module.
63484         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
63485         * lib/unistd_.h (lseek): Scale back link warning message.
63486         * tests/test-lseek.c: Beef up test.
63487         * tests/test-lseek.sh: Exercise more facets of lseek.
63488         Reported by Bruno Haible.
63489
63490 2007-05-28  Bruno Haible  <bruno@clisp.org>
63491
63492         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
63493         to define.
63494
63495 2007-05-27  Bruno Haible  <bruno@clisp.org>
63496
63497         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
63498
63499 2007-05-27  Bruno Haible  <bruno@clisp.org>
63500
63501         * modules/openmp: New file.
63502         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
63503         Noah Misch.
63504
63505 2007-05-26  Bruno Haible  <bruno@clisp.org>
63506
63507         * modules/chdir-long (Depends-on): Add fchdir.
63508         * modules/chdir-safer (Depends-on): Likewise.
63509         * modules/fts (Depends-on): Likewise.
63510         * modules/fts-lgpl (Depends-on): Likewise.
63511         * modules/openat (Depends-on): Likewise.
63512         * modules/savewd (Depends-on): Likewise.
63513
63514 2007-05-24  Eric Blake  <ebb9@byu.net>
63515
63516         Fix lseek on mingw.
63517         * modules/lseek: New module.
63518         * m4/lseek.m4: New file.
63519         * lib/lseek.c: New file.
63520         * modules/lseek-tests: New file.
63521         * tests/test-lseek.c: New file.
63522         * tests/test-lseek.sh: New file.
63523         * MODULES.html.sh: Document lseek module.
63524         * modules/fflush (Depends-on): Add lseek, fseeko.
63525         * modules/fseeko (Depends-on): Likewise.
63526         * modules/ftello (Depends-on): Likewise.
63527         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
63528         broken.
63529         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
63530         broken.
63531         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
63532         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
63533         * lib/ftello.c (rpl_ftello): Likewise.
63534         * tests/test-fseeko.c (main): Test this.
63535         * tests/test-fseeko.sh: Likewise.
63536         * tests/test-ftello.c (main): Likewise.
63537         * tests/test-ftello.sh: Likewise.
63538         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
63539         implies replacing fseek.
63540         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
63541         HAVE_FTELLO.
63542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
63543         * modules/unistd (Makefile.am): Likewise.
63544         * lib/unistd_.h (lseek): Declare a replacement.
63545         * doc/functions/lseek.texi (lseek): Document this fix.
63546         * doc/functions/fseek.texi (fseek): Likewise.
63547         * doc/functions/ftell.texi (ftell): Likewise.
63548
63549 2007-05-24  Bruno Haible  <bruno@clisp.org>
63550
63551         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
63552         in the printed representation of a NaN.
63553         * tests/test-vasprintf-posix.c (test_function): Likewise.
63554         * tests/test-snprintf-posix.h (test_function): Likewise.
63555         * tests/test-sprintf-posix.h (test_function): Likewise.
63556         Reported by Eric Blake.
63557
63558 2007-05-23  Eric Blake  <ebb9@byu.net>
63559
63560         Fix fseeko/ftello on cygwin 1.5.24.
63561         * doc/functions/fseeko.texi (fseeko): Document the fix.
63562         * doc/functions/ftello.texi (ftello): Document the fix.
63563         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
63564         * doc/functions/stdout.text (stdout): New file.
63565         * doc/functions/stderr.text (stderr): New file.
63566         * doc/gnulib.texi (Function Substitutes): Use new files.
63567         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
63568         prior to 1.7.0.
63569         * tests/test-ftello.c (main): Likewise for ftello.
63570         * tests/test-fseeko.sh: New file.
63571         * tests/test-ftello.sh: New file.
63572         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
63573         with seekable stdin.
63574         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
63575         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
63576         (gl_REPLACE_FSEEKO): New macro.
63577         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
63578         * modules/fseeko (Files): Distribute fseeko.c.
63579         * modules/ftello (Files): Distribute ftello.c.
63580         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
63581         mode.
63582         * lib/ftello.c (rpl_ftello): New file.
63583         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
63584         fseeko, ftello.
63585         (gl_STDIN_LARGE_OFFSET): New macro.
63586         * modules/stdio (Makefile.am): Perform the replacement.
63587         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
63588
63589 2007-05-23  Bruno Haible  <bruno@clisp.org>
63590
63591         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
63592         GNULIB_POSIXCHECK is defined.
63593
63594 2007-05-21  Bruno Haible  <bruno@clisp.org>
63595
63596         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
63597         Check also the output for NaN arguments. When cross-compiling, guess
63598         no on IRIX.
63599         * lib/vasnprintf.c: Update comments.
63600         * tests/test-vasnprintf-posix.c (strisnan): New function.
63601         (test_function): Use it.
63602         * tests/test-vasprintf-posix.c (strisnan): New function.
63603         (test_function): Use it.
63604         * tests/test-snprintf-posix.h (strisnan): New function.
63605         (test_function): Use it.
63606         * tests/test-sprintf-posix.h (strisnan): New function.
63607         (test_function): Use it.
63608         Reported by Eric Blake.
63609
63610 2007-05-20  Bruno Haible  <bruno@clisp.org>
63611
63612         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
63613         numbers that fails on BeOS.
63614         * doc/functions/frexpl.texi: Update.
63615
63616 2007-05-20  Jim Meyering  <jim@meyering.net>
63617
63618         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
63619         forced upon us by glibc-2.6.
63620
63621 2007-05-20  Bruno Haible  <bruno@clisp.org>
63622
63623         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
63624         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
63625         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
63626         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
63627         NEED_PRINTF_INFINITE.
63628         (is_infinitel): New function.
63629         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
63630         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
63631         gl_PREREQ_VASNPRINTF_INFINITE.
63632         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
63633         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63634         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
63635         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
63636         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
63637         gl_PREREQ_VASNPRINTF_INFINITE.
63638         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63639         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63640         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63641         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63642         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63643         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63644         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63645         * doc/functions/fprintf.texi: Update.
63646         * doc/functions/printf.texi: Update.
63647         * doc/functions/snprintf.texi: Update.
63648         * doc/functions/sprintf.texi: Update.
63649         * doc/functions/vfprintf.texi: Update.
63650         * doc/functions/vprintf.texi: Update.
63651         * doc/functions/vsnprintf.texi: Update.
63652         * doc/functions/vsprintf.texi: Update.
63653
63654 2007-05-20  Bruno Haible  <bruno@clisp.org>
63655
63656         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
63657         was not found in libc.
63658         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
63659
63660 2007-05-20  Bruno Haible  <bruno@clisp.org>
63661
63662         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63663         printed as "-nan" instead of "nan".
63664         * tests/test-vasprintf-posix.c (test_function): Likewise.
63665         * tests/test-snprintf-posix.h (test_function): Likewise.
63666         * tests/test-sprintf-posix.h (test_function): Likewise.
63667         Needed for HP-UX 11.
63668
63669 2007-05-20  Jim Meyering  <jim@meyering.net>
63670
63671         Fix buggy test for the fchownat-deref bug.
63672         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
63673         symlink required for the run-test.  Without it, this test would
63674         always declare that fchownat doesn't work, and client code would
63675         unnecessarily use the replacement function with fixed libc.
63676         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
63677         Reported by Greg Schafer.
63678
63679 2007-05-19  Bruno Haible  <bruno@clisp.org>
63680
63681         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63682         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63683         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63684         Needed for IRIX 6.5 and Solaris 2.5.1.
63685
63686 2007-05-19  Bruno Haible  <bruno@clisp.org>
63687
63688         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63689         (test_function): Skip tests involving -0.0 on platforms where
63690         -0.0 = 0.0.
63691         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63692         (test_function): Skip tests involving -0.0 on platforms where
63693         -0.0 = 0.0.
63694         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63695         (test_function): Skip tests involving -0.0 on platforms where
63696         -0.0 = 0.0.
63697         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63698         (test_function): Skip tests involving -0.0 on platforms where
63699         -0.0 = 0.0.
63700         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63701         tests.
63702         * tests/test-printf-posix.h (test_function): Likewise.
63703         * tests/test-printf-posix.output: Remove all -0.0 related results.
63704         Needed for IRIX 6.5.
63705
63706 2007-05-19  Bruno Haible  <bruno@clisp.org>
63707
63708         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63709         printed as "nan0x7fffffff" instead of "nan".
63710         * tests/test-vasprintf-posix.c (test_function): Likewise.
63711         * tests/test-snprintf-posix.h (test_function): Likewise.
63712         * tests/test-sprintf-posix.h (test_function): Likewise.
63713         * tests/test-fprintf-posix.h (NaN): Remove macro.
63714         (test_function): Remove all NaN related tests.
63715         * tests/test-printf-posix.h (NaN): Remove macro.
63716         (test_function): Remove all NaN related tests.
63717         * tests/test-printf-posix.output: Remove all NaN related results.
63718         Needed for IRIX 6.5.
63719
63720 2007-05-19  Bruno Haible  <bruno@clisp.org>
63721
63722         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63723         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63724
63725 2007-05-19  Bruno Haible  <bruno@clisp.org>
63726
63727         * lib/float_.h: New file.
63728         * m4/float_h.m4: New file.
63729         * modules/float: New file.
63730         * modules/isnanl (Dependencies): Add float.
63731         * modules/isnanl-nolibm (Dependencies): Likewise.
63732         * modules/mathl (Dependencies): Likewise.
63733         * modules/printf-frexpl (Dependencies): Likewise.
63734         * modules/signbit (Dependencies): Likewise.
63735         * modules/vasnprintf (Dependencies): Likewise.
63736         * doc/headers/float.texi: Update.
63737
63738 2007-05-19  Jim Meyering  <jim@meyering.net>
63739
63740         * lib/utimens.c (gl_futimens): Rename from futimens,
63741         now that glibc-2.6 declares futimens.
63742         * lib/utimens.h: Likewise.
63743
63744 2007-05-19  Bruno Haible  <bruno@clisp.org>
63745
63746         Avoid test failures on mingw.
63747         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63748         * tests/test-printf-posix.sh: Likewise.
63749         * tests/test-vfprintf-posix.sh: Likewise.
63750         * tests/test-vprintf-posix.sh: Likewise.
63751
63752 2007-05-19  Bruno Haible  <bruno@clisp.org>
63753
63754         Fix *printf result for NaN, Inf, -0.0 on mingw.
63755         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63756         * lib/vasnprintf.c: Include math.h and isnan.h.
63757         (is_infinite_or_zero): New function.
63758         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63759         values in the %f, %F, %e, %E, %g, %G directives.
63760         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63761         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63762         gl_PRINTF_INFINITE and test its result. Invoke
63763         gl_PREREQ_VASNPRINTF_INFINITE.
63764         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63765         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63766         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63767         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63768         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63769         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63770         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63771         * doc/functions/fprintf.texi: Update.
63772         * doc/functions/printf.texi: Update.
63773         * doc/functions/snprintf.texi: Update.
63774         * doc/functions/sprintf.texi: Update.
63775         * doc/functions/vfprintf.texi: Update.
63776         * doc/functions/vprintf.texi: Update.
63777         * doc/functions/vsnprintf.texi: Update.
63778         * doc/functions/vsprintf.texi: Update.
63779
63780 2007-05-19  Bruno Haible  <bruno@clisp.org>
63781
63782         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63783         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63784         Instead of multiplying with 10^k, set extra_zeroes to k.
63785         (scale10_round_long_double): Remove function.
63786
63787 2007-05-18  Bruno Haible  <bruno@clisp.org>
63788
63789         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63790         introduced on 2007-05-06.
63791
63792 2007-05-18  Bruno Haible  <bruno@clisp.org>
63793
63794         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63795         %g directives.
63796         * tests/test-vasprintf-posix.c (test_function): Likewise.
63797         * tests/test-snprintf-posix.h (test_function): Likewise.
63798         * tests/test-sprintf-posix.h (test_function): Likewise.
63799
63800 2007-05-18  Bruno Haible  <bruno@clisp.org>
63801
63802         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63803         (strmatch): New function.
63804         (test_function): Test the %f directive on numbers of various exponents.
63805         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63806         (strmatch): New function.
63807         (test_function): Test the %f directive on numbers of various exponents.
63808         * tests/test-snprintf-posix.h (strmatch): New function.
63809         (test_function): Test the %f directive on numbers of various exponents.
63810         * tests/test-sprintf-posix.h (strmatch): New function.
63811         (test_function): Test the %f directive on numbers of various exponents.
63812         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63813         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63814         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63815         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63816
63817 2007-05-18  Bruno Haible  <bruno@clisp.org>
63818
63819         Add support for 'long double' number output.
63820         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
63821         * lib/vasnprintf.c: Include math.h and float+.h.
63822         (mp_limb_t): New type.
63823         (GMP_LIMB_BITS): New macro.
63824         (mp_twolimb_t): New type.
63825         (GMP_TWOLIMB_BITS): New macro.
63826         (mpn_t): New type.
63827         (multiply, divide, convert_to_decimal, decode_long_double,
63828         scale10_round_long_double, scale10_round_decimal_long_double,
63829         floorlog10l): New functions.
63830         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
63831         for the %f, %F, %e, %E, %g, %G directives.
63832         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
63833         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63834         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
63835         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
63836         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63837         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63838         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63839         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63840         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63841         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63842         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63843         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
63844         * modules/snprintf-posix (Depends-on): Likewise.
63845         * modules/sprintf-posix (Depends-on): Likewise.
63846         * modules/vasnprintf-posix (Depends-on): Likewise.
63847         * modules/vasprintf-posix (Depends-on): Likewise.
63848         * modules/vfprintf-posix (Depends-on): Likewise.
63849         * modules/vsnprintf-posix (Depends-on): Likewise.
63850         * modules/vsprintf-posix (Depends-on): Likewise.
63851         * modules/vasnprintf (Files): Add lib/float+.h.
63852         * doc/functions/fprintf.texi: Update.
63853         * doc/functions/printf.texi: Update.
63854         * doc/functions/snprintf.texi: Update.
63855         * doc/functions/sprintf.texi: Update.
63856         * doc/functions/vfprintf.texi: Update.
63857         * doc/functions/vprintf.texi: Update.
63858         * doc/functions/vsnprintf.texi: Update.
63859         * doc/functions/vsprintf.texi: Update.
63860
63861 2007-05-18  Bruno Haible  <bruno@clisp.org>
63862
63863         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63864
63865 2007-05-18  Bruno Haible  <bruno@clisp.org>
63866
63867         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63868         for printing 64-bit integers. Needed for mingw.
63869
63870 2007-05-18  Bruno Haible  <bruno@clisp.org>
63871
63872         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63873         gl_FUNC_FREXPL_WORKS.
63874         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63875
63876 2007-05-18  Bruno Haible  <bruno@clisp.org>
63877
63878         * modules/frexpl-nolibm-tests: New file.
63879
63880         * modules/frexpl-nolibm: New file.
63881         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63882
63883 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63884
63885         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63886         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63887         GCC 4.2, which otherwise issues a lot of warnings.
63888         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63889         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63890         Likewise.
63891         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63892         * modules/iconv_open (iconv.h): Likewise.
63893         * modules/locale (locale.h): Likewise.
63894         * modules/netinet_in (netinet/in.h): Likewise.
63895         * modules/sys_select (sys_select.h): Likewise.
63896         * modules/sys_socket (sys/socket.h): Likewise.
63897         * modules/sys_stat (sys/stat.h): Likewise.
63898         * modules/sysexits (sysexits.h): Likewise.
63899         * modules/unistd (unistd.h): Likewise.
63900
63901 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63902
63903         * modules/closein-tests (Makefile.am): Distribute
63904         `test-closein.sh'.
63905
63906 2007-05-17  Bruno Haible  <bruno@clisp.org>
63907
63908         * tests/test-printf-posix.output: Renamed from
63909         tests/test-fprintf-posix.out.
63910         * modules/fprintf-posix-tests: Update.
63911         * modules/printf-posix-tests: Update.
63912         * modules/vfprintf-posix-tests: Update.
63913         * modules/vprintf-posix-tests: Update.
63914         * tests/test-fprintf-posix.sh: Update.
63915         * tests/test-printf-posix.sh: Update.
63916         * tests/test-vfprintf-posix.sh: Update.
63917         * tests/test-vprintf-posix.sh: Update.
63918         Reported by Ralf Wildenhues.
63919
63920 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63921
63922         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63923         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63924         GCC 4.2, which otherwise issues a lot of warnings.
63925         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63926         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63927         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63928         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63929         it should no longer be needed.
63930         * lib/string_.h: Likewise.
63931         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63932         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63933         * modules/inttypes (inttypes.h): Likewise.
63934         * modules/math (math.h): Likewise.
63935         * modules/search (search.h): Likewise.
63936         * modules/signal (signal.h): Likewise.
63937         * modules/stdint (stdint.h): Likewise.
63938         * modules/stdio (stdio.h): Likewise.
63939         * modules/stdlib (stdlib.h): Likewise.
63940         * modules/string (string.h): Likewise.
63941         * modules/sys_time (sys/time.h): Likewise.
63942         * modules/time (time.h): Likewise.
63943         * modules/wchar (wchar.h): Likewise.
63944         * modules/wctype (wtype.h): Likewise.
63945
63946 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63947
63948         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63949
63950 2007-05-13  Bruno Haible  <bruno@clisp.org>
63951
63952         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63953         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63954         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63955         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63956         (gl_PREREQ_STRTOK_R): Don't require it here.
63957
63958 2007-05-13  Bruno Haible  <bruno@clisp.org>
63959
63960         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
63961         when used in C++ mode.
63962
63963 2007-05-12  Bruno Haible  <bruno@clisp.org>
63964
63965         * lib/linebuffer.h: Tweak doc.
63966         * lib/linebuffer.c: Likewise.
63967
63968 2007-05-12  James Youngman  <jay@gnu.org>
63969
63970         * lib/linebuffer.c (readlinebuffer_delim): New function,
63971         like readlinebuffer, but use a caller-specified delimiter.
63972         (readlinebuffer): Just call readlinebuffer_delim with '\n'
63973         as the delimiter.
63974         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
63975
63976 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63977
63978         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
63979         * modules/openat (Files): Remove openat-die.c.
63980         (Depends-on): Add openat-die.
63981         * modules/openat-die: New module.
63982
63983 2007-05-06  Bruno Haible  <bruno@clisp.org>
63984
63985         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
63986         Update with info about Cygwin.
63987         * doc/functions/fprintf.texi: Update.
63988         * doc/functions/printf.texi: Update.
63989         * doc/functions/snprintf.texi: Update.
63990         * doc/functions/sprintf.texi: Update.
63991         * doc/functions/vfprintf.texi: Update.
63992         * doc/functions/vprintf.texi: Update.
63993         * doc/functions/vsnprintf.texi: Update.
63994         * doc/functions/vsprintf.texi: Update.
63995         Reported by Eric Blake.
63996
63997 2007-05-06  Bruno Haible  <bruno@clisp.org>
63998
63999         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
64000         padding ourselves for the floating-point directives.
64001         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
64002         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
64003         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64004         gl_PRINTF_FLAG_ZERO and test its result. Invoke
64005         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
64006         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64007         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64008         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64009         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64010         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64011         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64012         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64013         * tests/test-snprintf-posix.h (test_function): Also check the width
64014         and some flags in the %f directive.
64015         * tests/test-sprintf-posix.h (test_function): Likewise.
64016         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64017         * tests/test-vasprintf-posix.c (test_function): Likewise.
64018         * doc/functions/fprintf.texi: Update.
64019         * doc/functions/printf.texi: Update.
64020         * doc/functions/snprintf.texi: Update.
64021         * doc/functions/sprintf.texi: Update.
64022         * doc/functions/vfprintf.texi: Update.
64023         * doc/functions/vprintf.texi: Update.
64024         * doc/functions/vsnprintf.texi: Update.
64025         * doc/functions/vsprintf.texi: Update.
64026
64027 2007-05-06  Bruno Haible  <bruno@clisp.org>
64028
64029         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
64030         pass the ' flag character to sprintf or snprintf.
64031         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
64032         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
64033         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64034         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
64035         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
64036         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64037         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64038         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64039         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64040         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64041         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64042         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64043         * tests/test-snprintf-posix.h (test_function): Also check the grouping
64044         flag.
64045         * tests/test-sprintf-posix.h (test_function): Likewise.
64046         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64047         * tests/test-vasprintf-posix.c (test_function): Likewise.
64048         * doc/functions/fprintf.texi: Update.
64049         * doc/functions/printf.texi: Update.
64050         * doc/functions/snprintf.texi: Update.
64051         * doc/functions/sprintf.texi: Update.
64052         * doc/functions/vfprintf.texi: Update.
64053         * doc/functions/vprintf.texi: Update.
64054         * doc/functions/vsnprintf.texi: Update.
64055         * doc/functions/vsprintf.texi: Update.
64056
64057 2007-05-01  Bruno Haible  <bruno@clisp.org>
64058
64059         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
64060
64061 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
64062
64063         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
64064         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
64065
64066 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64067
64068         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
64069         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
64070         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
64071
64072 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
64073
64074         * lib/argp-help.c (struct hol_entry): New member `ord'.
64075         (HOL_ENTRY_PTRCMP): Use ord for comparison
64076         (hol_sort): Initialize ord.
64077
64078 2007-05-01  Bruno Haible  <bruno@clisp.org>
64079
64080         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
64081         Reported by Eric Blake.
64082         * doc/gnulib.texi (Function Substitutes): Update.
64083
64084 2007-05-01  Bruno Haible  <bruno@clisp.org>
64085
64086         * doc/functions.texi: Remove file, now redundant through
64087         doc/functions/*.texi.
64088
64089 2007-05-01  Bruno Haible  <bruno@clisp.org>
64090
64091         * modules/argp (Depends-on): Add sleep.
64092
64093 2007-05-01  Bruno Haible  <bruno@clisp.org>
64094
64095         * modules/sleep-tests: New file.
64096         * tests/test-sleep.c: New file.
64097
64098         * modules/sleep: New file.
64099         * lib/sleep.c: New file.
64100         * m4/sleep.m4: New file.
64101         * lib/unistd_.h (sleep): New declaration.
64102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
64103         HAVE_SLEEP.
64104         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
64105         * doc/functions/sleep.texi: Document the sleep module.
64106
64107 2007-05-01  Bruno Haible  <bruno@clisp.org>
64108
64109         * lib/sigprocmask.h: Remove file.
64110         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
64111         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
64112         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
64113         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
64114         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
64115         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
64116         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
64117         HAVE_SIGSET_T as a shell variable.
64118         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
64119         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
64120         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
64121         (Depends-on): Add signal. Remove verify.
64122         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
64123         (Include): Mention <signal.h> instead of sigprocmask.h.
64124         * NEWS: Mention the change.
64125         * lib/fatal-signal.c: Don't include sigprocmask.h.
64126
64127 2007-05-01  Bruno Haible  <bruno@clisp.org>
64128
64129         * modules/signal: New file.
64130         * lib/signal_.h: New file.
64131         * m4/signal_h.m4: New file.
64132
64133 2007-05-01  Bruno Haible  <bruno@clisp.org>
64134
64135         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
64136         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
64137         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
64138         HAVE_WCTYPE_CTMP_BUG into wctype.h.
64139
64140 2007-05-01  Bruno Haible  <bruno@clisp.org>
64141
64142         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
64143         configure time.
64144         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
64145         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
64146         * modules/sys_stat (Makefile.am): Substitute their values into
64147         sys/stat.h.
64148
64149 2007-05-01  Bruno Haible  <bruno@clisp.org>
64150
64151         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
64152         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
64153         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
64154
64155 2007-05-01  Bruno Haible  <bruno@clisp.org>
64156
64157         * doc/header/assert.texi: Undo last change: don't mention the gnulib
64158         'assert' module here.
64159
64160 2007-05-01  Bruno Haible  <bruno@clisp.org>
64161
64162         * doc/functions/*.texi: New files.
64163         * doc/functions/google-ranking.txt: New file.
64164         * doc/gnulib.texi (Function Substitutes): New chapter.
64165         (ctime, inet_ntoa): Remove sections.
64166         * doc/ctime.texi: Remove file.
64167         * doc/inet_ntoa.texi: Remove file.
64168         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
64169         dependencies.
64170         (%.info): New rule, specifying a --reference-limit.
64171
64172 2007-05-01  Bruno Haible  <bruno@clisp.org>
64173
64174         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
64175
64176 2007-05-01  Bruno Haible  <bruno@clisp.org>
64177
64178         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
64179         the portability of 'mkdir' to mingw systems.
64180
64181 2007-05-01  Bruno Haible  <bruno@clisp.org>
64182
64183         * doc/headers/google-ranking.txt: New file.
64184
64185 2007-04-30  Eric Blake  <ebb9@byu.net>
64186
64187         Prefer fseeko to fseek.
64188         * modules/getpass (Depends-on): Add fseeko.
64189         * lib/getpass.c (getpass): Use fseeko, not fseek.
64190
64191 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
64192
64193         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
64194         assumes the sorting is stable, while most qsort implementations
64195         are not.  Use argument addresses to ensure they never compare as
64196         equal.
64197
64198         * tests/test-argp-2.sh (usage-indent test): Fix output
64199         (func_compare): Restore diff options
64200         * tests/test-argp.c: Restore #include "progname.h"
64201
64202 2007-04-29  Bruno Haible  <bruno@clisp.org>
64203
64204         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
64205         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64206         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
64207         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64208         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
64209         (configure.ac): Define CHECK_SNPRINTF_POSIX.
64210         (TESTS, check_PROGRAMS): Add test-snprintf.
64211         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
64212         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
64213         (TESTS, check_PROGRAMS): Add test-vsnprintf.
64214         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
64215         assertions that fail on HP-UX, OSF/1, or IRIX.
64216         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
64217
64218 2007-04-29  Bruno Haible  <bruno@clisp.org>
64219
64220         * MODULES.html.sh (posix_functions): Remove 'contents'.
64221
64222 2007-04-29  Karl Berry  <karl@gnu.org>
64223
64224         * config/srclist.txt (gendocs_template_min): new entry.
64225
64226 2007-04-29  Bruno Haible  <bruno@clisp.org>
64227
64228         Work around fpurge bug on BSD systems.
64229         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
64230         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
64231         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
64232         fpurge to rpl_fpurge if the system already has this function.
64233         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
64234         the case where the system already has this function. Correct invariants
64235         on BSD systems.
64236         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
64237         BSD systems.
64238
64239 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
64240
64241         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
64242         proposed by Sven Verdoolaege.
64243
64244         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
64245         options.
64246         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
64247         (usage and help tests): Update
64248
64249 2007-04-29  Bruno Haible  <bruno@clisp.org>
64250
64251         * tests/test-fflush.c (main): Use a file of size 17, not 10.
64252         Print more information in case of failure. Disable a test on BeOS.
64253
64254 2007-04-29  Bruno Haible  <bruno@clisp.org>
64255
64256         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
64257         This helps debugging on systems on which no gdb is available.
64258
64259 2007-04-29  Bruno Haible  <bruno@clisp.org>
64260
64261         * lib/freading.h: Improve comments.
64262         * lib/fwriting.h: Likewise.
64263         * tests/test-freading.c (main): Don't check freading immediately after
64264         repositioning. Needed for glibc.
64265
64266 2007-04-29  Bruno Haible  <bruno@clisp.org>
64267
64268         * lib/freading.c (freading): Trivial simplification.
64269
64270 2007-04-28  Bruno Haible  <bruno@clisp.org>
64271
64272         * tests/test-fwriting.c (main): Also test the interaction between
64273         fflush and fwriting.
64274         * modules/fwriting-tests (Depends-on): Add fflush.
64275
64276         * tests/test-freading.c (main): Also test the interaction between
64277         fflush and freading.
64278         * modules/freading-tests (Depends-on): Add fflush.
64279
64280 2007-04-28  Bruno Haible  <bruno@clisp.org>
64281
64282         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
64283         fseeko and ftello.
64284         Suggested by Eric Blake.
64285
64286 2007-04-28  Jim Meyering  <jim@meyering.net>
64287
64288         Avoid false-negative in gl_STDINT_H's C99 conformance test.
64289         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
64290         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
64291
64292 2007-04-27  Eric Blake  <ebb9@byu.net>
64293
64294         * doc/headers/assert.texi (assert.h): Document assert module use.
64295
64296 2007-04-27  Bruno Haible  <bruno@clisp.org>
64297
64298         * doc/headers/*.texi: New files.
64299         * doc/gnulib.texi (Header File Substitutes): New chapter.
64300         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
64301         dependencies.
64302         (standards.info ,standards.html, standards.dvi): Update dependencies.
64303         (mostlyclean, clean): New targets.
64304
64305 2007-04-27  Bruno Haible  <bruno@clisp.org>
64306
64307         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
64308         * modules/sysexits (Files, Makefile.am): Update.
64309
64310         * lib/sys_socket_.h: Renamed from lib/socket_.h.
64311         * modules/sys_socket (Files, Makefile.am): Update.
64312
64313         * lib/sys_stat_.h: Renamed from lib/stat_.h.
64314         * modules/sys_stat (Files, Makefile.am): Update.
64315
64316 2007-04-27  Eric Blake  <ebb9@byu.net>
64317
64318         * lib/freading.h: Improve comments.
64319         * lib/fwriting.h: Likewise.
64320         * lib/fflush.c: Likewise.
64321
64322         Fix closein for mingw.
64323         * modules/closein-tests: Add tests for closein.
64324         * tests/test-closein.c: New file.
64325         * tests/test-closein.sh: Likewise.
64326         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
64327         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
64328
64329 2007-04-27  Bruno Haible  <bruno@clisp.org>
64330
64331         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
64332         version is < 6.
64333         * lib/math_.h [__DECC]: Likewise.
64334         * lib/stdio_.h [__DECC]: Likewise.
64335         * lib/stdlib_.h [__DECC]: Likewise.
64336         * lib/string_.h [__DECC]: Likewise.
64337         * lib/time_.h [__DECC]: Likewise.
64338         * lib/wchar_.h [__DECC]: Likewise.
64339         * lib/wctype_.h [__DECC]: Likewise.
64340
64341 2007-04-27  Bruno Haible  <bruno@clisp.org>
64342
64343         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
64344
64345 2007-04-27  Bruno Haible  <bruno@clisp.org>
64346
64347         * lib/fflush.c: Add comments.
64348         * modules/fpurge-tests (Depends-on): Add fflush.
64349         * modules/freadable-tests (Depends-on): Likewise.
64350         * modules/fwritable-tests (Depends-on): Likewise.
64351
64352 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
64353
64354         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
64355         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
64356         Report by Bruno Haible <bruno@clisp.org>.
64357
64358 2007-04-26  Eric Blake  <ebb9@byu.net>
64359
64360         Fix fflush on mingw.
64361         * modules/fflush (Depends-on): Add freading.
64362         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
64363         but unread data.
64364
64365 2007-04-26  Eric Blake  <ebb9@byu.net>
64366         and Bruno Haible  <bruno@clisp.org>
64367
64368         Implement freading and fwriting.
64369         * lib/freading.c: New file.
64370         * lib/freading.h: Likewise.
64371         * m4/freading.m4: Likewise.
64372         * modules/freading: Likewise.
64373         * modules/freading-tests: Likewise.
64374         * tests/test-freading.c: Likewise.
64375         * lib/fwriting.c: New file.
64376         * lib/fwriting.h: Likewise.
64377         * m4/fwriting.m4: Likewise.
64378         * modules/fwriting: Likewise.
64379         * modules/fwriting-tests: Likewise.
64380         * tests/test-fwriting.c: Likewise.
64381         * MODULES.html.sh (File stream based Input/Output): Mention them.
64382
64383 2007-04-26  Bruno Haible  <bruno@clisp.org>
64384
64385         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
64386         'long' when we assume it.
64387         Suggested by Eric Blake.
64388
64389 2007-04-26  Bruno Haible  <bruno@clisp.org>
64390
64391         Ensure fseeko, ftello are declared on glibc systems.
64392         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
64393         * modules/fseeko (configure.ac-early): Likewise.
64394         * modules/ftello (configure.ac-early): Likewise.
64395         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
64396         AC_FUNC_FSEEKO for this.
64397         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
64398         (gl_CHECK_FSEEKO): Remove macro.
64399
64400 2007-04-26  Bruno Haible  <bruno@clisp.org>
64401
64402         * tests/test-fflush.c (main): Also check the ftell result after
64403         fflush and fseek/fseeko.
64404         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
64405         file descriptor position cache in the stream.
64406         * lib/fseeko.c (rpl_fseeko): Likewise.
64407
64408 2007-04-26  Bruno Haible  <bruno@clisp.org>
64409
64410         * modules/fflush-tests (Depends-on): Add fseeko.
64411
64412 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
64413             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64414
64415         * lib/argz_.h: ensure error_t definition is obtained in same
64416         mechanism system argz.h would have.
64417         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
64418         argz facilities are known bad.  Err on the side of caution if
64419         cross-compiling.
64420
64421 2007-04-25  Eric Blake  <ebb9@byu.net>
64422
64423         * lib/fpurge.c (includes): Use stdlib.h for free.
64424         * tests/test-fflush.c (main): Also test fflush-fseeko.
64425
64426 2007-04-25  Bruno Haible  <bruno@clisp.org>
64427
64428         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
64429         * lib/fseeko.c: New file.
64430         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
64431         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
64432         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
64433         gl_FUNC_FSEEKO.
64434         (gl_FUNC_FSEEKO): Invoke it.
64435         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
64436         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
64437         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
64438
64439 2007-04-25  Bruno Haible  <bruno@clisp.org>
64440
64441         * modules/fflush (Depends-on): Add ftello.
64442
64443 2007-04-25  Bruno Haible  <bruno@clisp.org>
64444
64445         * modules/ftello-tests: New file.
64446         * tests/test-ftello.c: New file.
64447
64448         * modules/ftello: New file.
64449         * m4/ftello.m4: New file.
64450         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
64451         HAVE_FTELLO.
64452         * lib/stdio_.h (ftello): New declaration.
64453         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
64454         HAVE_FTELLO.
64455
64456 2007-04-25  Bruno Haible  <bruno@clisp.org>
64457
64458         * modules/fseeko-tests: New file.
64459         * tests/test-fseeko.c: New file.
64460
64461         * modules/fseeko: New file.
64462         * m4/fseeko.m4: New file.
64463         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
64464         HAVE_FSEEKO.
64465         * lib/stdio_.h (fseeko): New declaration.
64466         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
64467         HAVE_FSEEKO.
64468
64469 2007-04-25  Bruno Haible  <bruno@clisp.org>
64470
64471         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
64472
64473 2007-04-25  Bruno Haible  <bruno@clisp.org>
64474
64475         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
64476         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
64477         * tests/test-unistd.c: Likewise.
64478         * tests/test-fcntl.c: Likewise.
64479
64480 2007-04-23  Eric Blake  <ebb9@byu.net>
64481
64482         * lib/fflush.c: Fix missing include.
64483         Reported by Bruno Haible.
64484
64485 2007-04-23  Bruno Haible  <bruno@clisp.org>
64486
64487         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
64488         Reported by Eric Blake.
64489
64490 2007-04-23  Bruno Haible  <bruno@clisp.org>
64491
64492         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
64493
64494 2007-04-23  Bruno Haible  <bruno@clisp.org>
64495
64496         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
64497
64498 2007-04-23  Bruno Haible  <bruno@clisp.org>
64499
64500         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
64501         Needed on HP-UX 11.
64502
64503 2007-04-16  Eric Blake  <ebb9@byu.net>
64504
64505         Make fflush rely on fpurge.
64506         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
64507         open coding all variants.
64508         * modules/fflush (Depends-on): Add fpurge and unistd.
64509         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
64510         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
64511
64512         Fix --with-tests compilation on cygwin.
64513         * modules/argmatch-tests (Makefile.am): List gnulib library first
64514         in LDADD.
64515         * modules/argp-tests (Makefile.am): Likewise.
64516         * modules/array-list-tests (Makefile.am): Likewise.
64517         * modules/array-oset-tests (Makefile.am): Likewise.
64518         * modules/avltree-list-tests (Makefile.am): Likewise.
64519         * modules/avltree-oset-tests (Makefile.am): Likewise.
64520         * modules/avltreehash-list-tests (Makefile.am): Likewise.
64521         * modules/carray-list-tests (Makefile.am): Likewise.
64522         * modules/dirname-tests (Makefile.am): Likewise.
64523         * modules/frexp-tests (Makefile.am): Likewise.
64524         * modules/isnanl-tests (Makefile.am): Likewise.
64525         * modules/linked-list-tests (Makefile.am): Likewise.
64526         * modules/linkedhash-list-tests (Makefile.am): Likewise.
64527         * modules/lock-tests (Makefile.am): Likewise.
64528         * modules/rbtree-list-tests (Makefile.am): Likewise.
64529         * modules/rbtree-oset-tests (Makefile.am): Likewise.
64530         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
64531         * modules/tls-tests (Makefile.am): Likewise.
64532         * modules/tsearch-tests (Makefile.am): Likewise.
64533         * modules/xvasprintf-tests (Makefile.am): Likewise.
64534
64535         Fix fpurge for cygwin.
64536         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
64537         value.
64538         * modules/fpurge-tests (Depends-on): Clean up trash.
64539
64540 2007-04-16  Simon Josefsson  <simon@josefsson.org>
64541
64542         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
64543
64544         * m4/autobuild.m4: Re-indent.
64545
64546 2007-04-13  Bruno Haible  <bruno@clisp.org>
64547
64548         * modules/fpurge-tests: New file.
64549         * tests/test-fpurge.c: New file.
64550
64551         * modules/fpurge: New file.
64552         * lib/fpurge.h: New file.
64553         * lib/fpurge.c: New file.
64554         * m4/fpurge.m4: New file.
64555
64556 2007-04-13  Bruno Haible  <bruno@clisp.org>
64557
64558         * modules/fbufmode-tests: New file.
64559         * tests/test-fbufmode.c: New file.
64560
64561         * modules/fbufmode: New file.
64562         * lib/fbufmode.h: New file.
64563         * lib/fbufmode.c: New file.
64564         * m4/fbufmode.m4: New file.
64565
64566 2007-04-13  Bruno Haible  <bruno@clisp.org>
64567
64568         * modules/fwritable-tests: New file.
64569         * tests/test-fwritable.c: New file.
64570
64571         * modules/fwritable: New file.
64572         * lib/fwritable.h: New file.
64573         * lib/fwritable.c: New file.
64574         * m4/fwritable.m4: New file.
64575
64576 2007-04-13  Bruno Haible  <bruno@clisp.org>
64577
64578         * modules/freadable-tests: New file.
64579         * tests/test-freadable.c: New file.
64580
64581         * modules/freadable: New file.
64582         * lib/freadable.h: New file.
64583         * lib/freadable.c: New file.
64584         * m4/freadable.m4: New file.
64585
64586 2007-04-13  Bruno Haible  <bruno@clisp.org>
64587
64588         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
64589         MOSTLYCLEANFILES.
64590
64591 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64592
64593         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
64594         gzip bootstrap.conf to avoid dragging in i18n machinery.
64595         (gnulib_tool_option): Use it.
64596
64597 2007-04-13  Bruno Haible  <bruno@clisp.org>
64598
64599         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
64600         %F directives.
64601         * tests/test-vasprintf-posix.c (test_function): Likewise.
64602         * tests/test-snprintf-posix.h (test_function): Likewise.
64603         * tests/test-sprintf-posix.h (test_function): Likewise.
64604         * tests/test-fprintf-posix.h (test_function): Likewise.
64605         * tests/test-printf-posix.h (test_function): Likewise.
64606         * tests/test-fprintf-posix.out: Likewise.
64607
64608 2007-04-13  Bruno Haible  <bruno@clisp.org>
64609
64610         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
64611         * modules/tls-tests (configure.ac): Likewise.
64612         Reported by Arto C. Nirkko <anirkko@insel.ch>.
64613
64614 2007-04-13  Bruno Haible  <bruno@clisp.org>
64615
64616         * lib/tls.c (glthread_tls_get): Fix return type.
64617         Patch by Arto C. Nirkko <anirkko@insel.ch>.
64618
64619 2007-04-12  Eric Blake  <ebb9@byu.net>
64620
64621         * modules/gettime (Depends-on): Remove gettime.
64622         Reported by Dmitry V. Levin.
64623
64624 2007-04-12  Bruno Haible  <bruno@clisp.org>
64625
64626         * modules/fflush (Include): Mention <stdio.h>.
64627         * modules/strtoimax (Include): Mention <inttypes.h>.
64628         * modules/strtoumax (Include): Likewise.
64629
64630 2007-04-12  Eric Blake  <ebb9@byu.net>
64631
64632         * .cvsignore: New file.
64633         * .gitignore: Likewise.
64634
64635 2007-04-12  Bruno Haible  <bruno@clisp.org>
64636
64637         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
64638         not before, since $(LDADD) often contains libgnu.a.
64639         * modules/striconv-tests (test_striconv_LDADD): Likewise.
64640         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
64641         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
64642         Needed on Cygwin.
64643
64644 2007-04-12  Eric Blake  <ebb9@byu.net>
64645
64646         Work around glibc's failure to flush stdin on fclose.
64647         * lib/closein.c (close_stdin): Flush stdin before closing.
64648
64649         Work around glibc's failure to reset seekable stdin on exit.
64650         * modules/closein: New module.
64651         * lib/closein.c: New file.
64652         * lib/closein.h: Likewise.
64653         * m4/closein.m4: Likewise.
64654         * MODULES.html.sh (File stream based Input/Output): Document it.
64655
64656 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64657
64658         * gnulib-tool: Rename generated 'autobuild' script to
64659         'do-autobuild' in --create-megatestdir output.
64660
64661         * doc/gnulib.texi (Build robot for gnulib): Fix.
64662
64663 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64664
64665         * modules/sysexits (Depends-on): Add absolute-header.
64666
64667 2007-04-12  Eric Blake  <ebb9@byu.net>
64668
64669         No need to preserve errno on success.
64670         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
64671         Reported by Bruno Haible.
64672
64673 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64674
64675         * MODULES.html.sh (Support for maintaining and releasing
64676         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
64677
64678 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64679
64680         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64681
64682 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64683
64684         * modules/autobuild: New module.
64685
64686         * m4/autobuild.m4: New file.
64687
64688 2007-04-11  Bruno Haible  <bruno@clisp.org>
64689
64690         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64691         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64692         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64693         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64694         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64695         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64696         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64697         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64698         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64699         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64700         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64701         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64702         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64703         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64704         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64705         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64706         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64707         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64708         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64709         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64710         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64711         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64712         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64713         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64714         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64715         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64716         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64717         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64718         Reported by Eric Blake.
64719
64720 2007-04-11  Bruno Haible  <bruno@clisp.org>
64721
64722         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64723
64724 2007-04-10  Bruno Haible  <bruno@clisp.org>
64725
64726         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64727         for NaN and Infinity. Needed on FreeBSD 6.1.
64728         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64729         regarding results for "%010a" of Infinity and NaN.
64730         * tests/test-vasprintf-posix.c (test_function): Likewise.
64731         * tests/test-snprintf-posix.h (test_function): Likewise.
64732         * tests/test-sprintf-posix.h (test_function): Likewise.
64733         * tests/test-fprintf-posix.h (test_function): Likewise.
64734         * tests/test-printf-posix.h (test_function): Likewise.
64735         * tests/test-fprintf-posix.out: Likewise.
64736
64737 2007-04-10  Bruno Haible  <bruno@clisp.org>
64738
64739         * modules/locale-tests: New file.
64740         * tests/test-locale.c: New file.
64741
64742         * modules/locale: New file.
64743         * lib/locale_.h: New file.
64744         * m4/locale_h.m4: New file.
64745
64746 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64747             Bruno Haible  <bruno@clisp.org>
64748
64749         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64750         be determined, test for availability of the copysignf, copysign,
64751         copysignl functions.
64752         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64753         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64754         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64755
64756 2007-04-09  Eric Blake  <ebb9@byu.net>
64757
64758         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64759         * modules/stdio (Makefile.am): Support fflush.
64760         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64761         * modules/fflush: New file.
64762         * lib/fflush.c: Likewise.
64763         * m4/fflush.m4: Likewise.
64764         * modules/fflush-tests: New test.
64765         * tests/test-fflush.c: Likewise.
64766         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64767
64768 2007-04-06  Bruno Haible  <bruno@clisp.org>
64769
64770         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64771         (VASNPRINTF): Use signbit for faster determination whether to print a
64772         minus sign.
64773         * modules/vasnprintf (Files): Remove lib/float+.h.
64774         * modules/fprintf-posix (Depends-on): Add signbit.
64775         * modules/snprintf-posix (Depends-on): Likewise.
64776         * modules/sprintf-posix (Depends-on): Likewise.
64777         * modules/vasnprintf-posix (Depends-on): Likewise.
64778         * modules/vasprintf-posix (Depends-on): Likewise.
64779         * modules/vfprintf-posix (Depends-on): Likewise.
64780         * modules/vsnprintf-posix (Depends-on): Likewise.
64781         * modules/vsprintf-posix (Depends-on): Likewise.
64782
64783 2007-04-06  Bruno Haible  <bruno@clisp.org>
64784
64785         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64786         * tests/test-frexpl.c (main): Likewise.
64787         * tests/test-ldexpl.c (main): Likewise.
64788         * modules/frexp-tests (Depends-on): Add signbit.
64789         * modules/frexpl-tests (Depdends-on): Likewise.
64790         * modules/ldexpl-tests (Depdends-on): Likewise.
64791
64792 2007-04-06  Bruno Haible  <bruno@clisp.org>
64793
64794         * modules/signbit-tests: New file.
64795         * tests/test-signbit.c: New file.
64796
64797         * modules/signbit: New file.
64798         * lib/signbitf.c: New file.
64799         * lib/signbitd.c: New file.
64800         * lib/signbitl.c: New file.
64801         * m4/signbit.m4: New file.
64802         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64803         (signbit): New macro.
64804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64805         REPLACE_SIGNBIT.
64806         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64807         REPLACE_FREXPL into math.h.
64808
64809 2007-04-06  Bruno Haible  <bruno@clisp.org>
64810
64811         * modules/isnanf-nolibm-tests: New file.
64812         * tests/test-isnanf.c: New file.
64813
64814         * modules/isnanf-nolibm: New file.
64815         * lib/isnanf.h: New file.
64816         * lib/isnanf.c: New file.
64817         * lib/isnan.c: Consider the USE_FLOAT macro.
64818         * m4/isnanf.m4: New file.
64819
64820 2007-04-06  Bruno Haible  <bruno@clisp.org>
64821
64822         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
64823         (Link): New section.
64824
64825         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
64826
64827 2007-04-06  Bruno Haible  <bruno@clisp.org>
64828
64829         Assume the 'long double' type.
64830         * m4/longdouble.m4: Remove file.
64831         * config/srclist.txt: Don't mention longdouble.m4.
64832         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
64833         * lib/float+.h: Likewise.
64834         * lib/frexp.c: Likewise.
64835         * lib/printf-args.h: Likewise.
64836         * lib/printf-args.c: Likewise.
64837         * lib/printf-frexp.c: Likewise.
64838         * lib/printf-parse.c: Likewise.
64839         * lib/vasnprintf.c: Likewise.
64840         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
64841         * m4/intl.m4: Likewise.
64842         * m4/isnanl.m4: Likewise.
64843         * m4/printf.m4: Likewise.
64844         * m4/printf-frexpl.m4: Likewise.
64845         * m4/vasnprintf.m4: Likewise.
64846         * modules/allocsa (Files): Remove m4/longdouble.m4.
64847         * modules/gettext (Files): Likewise.
64848         * modules/relocatable-prog-wrapper (Files): Likewise.
64849         * modules/vasnprintf (Files): Likewise.
64850         * modules/isnanl (Files): Likewise.
64851         (Include): Simplify.
64852         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64853         (Include): Simplify.
64854         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64855         (Include): Simplify.
64856         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64857         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64858         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64859         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64860         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64861         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64862         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64863         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64864         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64865         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64866         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64867         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64868         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64869         * tests/test-isnanl.c: Likewise.
64870         * tests/test-snprintf-posix.h: Likewise.
64871         * tests/test-sprintf-posix.h: Likewise.
64872         * tests/test-vasnprintf-posix.c: Likewise.
64873         * tests/test-vasnprintf-posix2.c: Likewise.
64874         * tests/test-vasprintf-posix.c: Likewise.
64875
64876 2007-04-06  Bruno Haible  <bruno@clisp.org>
64877
64878         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64879         * lib/math_.h [__DECC]: Include the overridden include file through
64880         #include_next, outside the double-inclusion guard.
64881         * lib/stdio_.h [__DECC]: Likewise.
64882         * lib/stdlib_.h [__DECC]: Likewise.
64883         * lib/string_.h [__DECC]: Likewise.
64884         * lib/time_.h [__DECC]: Likewise.
64885         * lib/wchar_.h [__DECC]: Likewise.
64886         * lib/wctype_.h [__DECC]: Likewise.
64887         * lib/inttypes_.h [__DECC]: Likewise.
64888         Reported by Albert Chin <china@thewrittenword.com> in
64889         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64890
64891 2007-04-04  Eric Blake  <ebb9@byu.net>
64892
64893         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64894         1.5.x.
64895
64896 2007-04-04  Bruno Haible  <bruno@clisp.org>
64897
64898         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64899         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64900
64901 2007-04-04  Bruno Haible  <bruno@clisp.org>
64902
64903         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64904         results for "%010a" of Infinity and NaN.
64905         * tests/test-vasprintf-posix.c (test_function): Likewise.
64906         * tests/test-snprintf-posix.h (test_function): Likewise.
64907         * tests/test-sprintf-posix.h (test_function): Likewise.
64908         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64909         * tests/test-printf-posix.h (test_function): Likewise.
64910         * tests/test-fprintf-posix.out: Update.
64911         Needed for FreeBSD 6.1.
64912
64913 2007-04-04  Bruno Haible  <bruno@clisp.org>
64914
64915         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64916         directly used by the gnulib modules nor by gnulib-tool.
64917
64918 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64919
64920         * DEPENDENCIES: Give overall description of version dependency
64921         desirability.  Use more-typical names for apps.
64922         Add shell, coreutils, diffutils, grep, tar, gzip.
64923
64924 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64925
64926         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64927
64928 2007-04-04  Karl Berry  <karl@gnu.org>
64929
64930         * MODULES.html.sh (func_module): missing '.
64931
64932 2007-04-03  Bruno Haible  <bruno@clisp.org>
64933
64934         * modules/argmatch-tests (Makefile.am): New variable
64935         test_argmatch_LDADD.
64936         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64937         * modules/array-list-tests (Makefile.am): New variable
64938         test_array_list_LDADD.
64939         * modules/array-oset-tests (Makefile.am): New variable
64940         test_array_oset_LDADD.
64941         * modules/avltree-list-tests (Makefile.am): New variable
64942         test_avltree_list_LDADD.
64943         * modules/avltree-oset-tests (Makefile.am): New variable
64944         test_avltree_oset_LDADD.
64945         * modules/avltreehash-list-tests (Makefile.am): New variable
64946         test_avltreehash_list_LDADD.
64947         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64948         test_canonicalize_lgpl_LDADD.
64949         * modules/carray-list-tests (Makefile.am): New variable
64950         test_carray_list_LDADD.
64951         * modules/dirname-tests (Makefile.am): New variable
64952         test_dirname_LDADD.
64953         * modules/linked-list-tests (Makefile.am): New variable
64954         test_linked_list_LDADD.
64955         * modules/linkedhash-list-tests (Makefile.am): New variable
64956         test_linkedhash_list_LDADD.
64957         * modules/rbtree-list-tests (Makefile.am): New variable
64958         test_rbtree_list_LDADD.
64959         * modules/rbtree-oset-tests (Makefile.am): New variable
64960         test_rbtree_oset_LDADD.
64961         * modules/rbtreehash-list-tests (Makefile.am): New variable
64962         test_rbtreehash_list_LDADD.
64963         * modules/xvasprintf-tests (Makefile.am): New variable
64964         test_xvasprintf_LDADD.
64965         Reported by Eric Blake.
64966
64967 2007-04-03  Eric Blake  <ebb9@byu.net>
64968
64969         * DEPENDENCIES: Weaken m4 requirements.
64970
64971 2007-04-03  Bruno Haible  <bruno@clisp.org>
64972
64973         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
64974         * modules/isnanl-tests (configure.ac): Likewise.
64975
64976 2007-04-03  Ben Pfaff  <blp@gnu.org>
64977
64978         * modules/iconv_open: Add $(srcdir)/ to source directory
64979         references in Makefile fragments that call gperf, to fix VPATH
64980         builds.
64981
64982 2007-04-03  Bruno Haible  <bruno@clisp.org>
64983
64984         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
64985         * lib/ldexpl.c: Undo last change.
64986
64987 2007-04-03  Bruno Haible  <bruno@clisp.org>
64988
64989         * modules/printf-frexpl (Depends-on): Undo last change.
64990         (Files): Add m4/ldexpl.m4.
64991
64992 2007-04-03  Bruno Haible  <bruno@clisp.org>
64993
64994         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
64995         * modules/isnanl (Link): New section.
64996
64997         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
64998         * modules/frexp (Link): New section.
64999
65000         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
65001         * modules/frexpl (Link): New section.
65002
65003         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
65004         * modules/ldexpl (Link): New section.
65005
65006 2007-04-03  Bruno Haible  <bruno@clisp.org>
65007
65008         * modules/TEMPLATE-EXTENDED: New file.
65009         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
65010
65011 2007-04-03  Bruno Haible  <bruno@clisp.org>
65012
65013         * DEPENDENCIES: New file.
65014         Suggested by Simon Josefsson.
65015
65016 2007-04-03  Bruno Haible  <bruno@clisp.org>
65017
65018         * doc/gnulib.texi: Escape @.
65019
65020 2007-04-03  James Youngman  <jay@gnu.org>
65021         and Paul Eggert  <eggert@cs.ucla.edu>
65022
65023         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
65024         birthtime on all systems that have birthtime, not just those which
65025         use st_birthtimensec rather than st_birthtim.  Putting zero in
65026         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
65027         that the birth time is not available for files on an NFS mount.
65028
65029 2007-04-03  Simon Josefsson  <simon@josefsson.org>
65030
65031         * modules/memxor: Move back from crypto/, suggested by Bruno.
65032         * modules/crypto/hmac-sha1: Fix memxor dependency.
65033
65034         * modules/crypto/gc: Moved from ../.
65035
65036 2007-04-02  Eric Blake  <ebb9@byu.net>
65037
65038         * lib/ldexpl.c (includes): Avoid libm.
65039
65040         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
65041
65042 2007-04-02  Bruno Haible  <bruno@clisp.org>
65043
65044         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
65045         on IRIX.
65046
65047 2007-04-02  Bruno Haible  <bruno@clisp.org>
65048
65049         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
65050         x86 or x86_64 platforms running MacOS X.
65051         Reported by Ryan Schmidt <@ryandesign.com>.
65052
65053 2007-04-02  Bruno Haible  <bruno@clisp.org>
65054
65055         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
65056         i386.
65057
65058 2007-04-01  Simon Josefsson  <simon@josefsson.org>
65059
65060         * modules/crypto/arcfour: Moved from ../.
65061         * modules/crypto/arcfour-tests: Moved from ../.
65062         * modules/crypto/arctwo: Moved from ../.
65063         * modules/crypto/arctwo-tests: Moved from ../.
65064         * modules/crypto/des: Moved from ../.
65065         * modules/crypto/des-tests: Moved from ../.
65066         * modules/crypto/gc-arcfour: Moved from ../.
65067         * modules/crypto/gc-arcfour-tests: Moved from ../.
65068         * modules/crypto/gc-arctwo: Moved from ../.
65069         * modules/crypto/gc-arctwo-tests: Moved from ../.
65070         * modules/crypto/gc-des: Moved from ../.
65071         * modules/crypto/gc-des-tests: Moved from ../.
65072         * modules/crypto/gc-hmac-md5: Moved from ../.
65073         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
65074         * modules/crypto/gc-hmac-sha1: Moved from ../.
65075         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
65076         * modules/crypto/gc-md2: Moved from ../.
65077         * modules/crypto/gc-md2-tests: Moved from ../.
65078         * modules/crypto/gc-md4: Moved from ../.
65079         * modules/crypto/gc-md4-tests: Moved from ../.
65080         * modules/crypto/gc-md5: Moved from ../.
65081         * modules/crypto/gc-md5-tests: Moved from ../.
65082         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
65083         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
65084         * modules/crypto/gc-random: Moved from ../.
65085         * modules/crypto/gc-rijndael: Moved from ../.
65086         * modules/crypto/gc-rijndael-tests: Moved from ../.
65087         * modules/crypto/gc-sha1: Moved from ../.
65088         * modules/crypto/gc-sha1-tests: Moved from ../.
65089         * modules/crypto/gc-tests: Moved from ../.
65090         * modules/crypto/hmac-md5: Moved from ../.
65091         * modules/crypto/hmac-md5-tests: Moved from ../.
65092         * modules/crypto/hmac-sha1: Moved from ../.
65093         * modules/crypto/hmac-sha1-tests: Moved from ../.
65094         * modules/crypto/md2: Moved from ../.
65095         * modules/crypto/md2-tests: Moved from ../.
65096         * modules/crypto/md4: Moved from ../.
65097         * modules/crypto/md4-tests: Moved from ../.
65098         * modules/crypto/md5: Moved from ../.
65099         * modules/crypto/md5-tests: Moved from ../.
65100         * modules/crypto/memxor: Moved from ../.
65101         * modules/crypto/rijndael: Moved from ../.
65102         * modules/crypto/rijndael-tests: Moved from ../.
65103         * modules/crypto/sha1: Moved from ../.
65104
65105 2007-03-30  James Youngman  <jay@gnu.org>
65106
65107         * tests/test-stat-time.c (prepare_test): use chmod() rather than
65108         rename() to change the ctime of a file (because ctime is unaffected
65109         by rename on jfs2 on AIX 5.1).
65110         (main): Start by doing cleanup, in case a previous run failed leaving
65111         test files behind.
65112
65113 2007-03-31  Bruno Haible  <bruno@clisp.org>
65114
65115         Support old proprietary implementations of iconv.
65116         * modules/iconv_open: New file.
65117         * lib/iconv_.h: New file.
65118         * m4/iconv_h.m4: New file.
65119         * lib/iconv_open.c: New file.
65120         * lib/iconv_open-aix.gperf: New file.
65121         * lib/iconv_open-hpux.gperf: New file.
65122         * lib/iconv_open-irix.gperf: New file.
65123         * lib/iconv_open-osf.gperf: New file.
65124         * m4/iconv_open.m4: New file.
65125         * modules/linebreak (Depends-on): Add iconv_open.
65126         * modules/striconv (Depends-on): Likewise.
65127         * modules/striconveh (Depends-on): Likewise.
65128         * modules/unicodeio (Depends-on): Likewise.
65129         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
65130         (iconv_t)(-1).
65131         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
65132         conversion if cd is (iconv_t)(-1).
65133         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
65134         is not possible.
65135
65136 2007-03-31  Bruno Haible  <bruno@clisp.org>
65137
65138         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65139         work on Solaris either. Protect also second use of "autodetect_jp".
65140
65141 2007-03-31  Bruno Haible  <bruno@clisp.org>
65142
65143         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
65144         the function is not present.
65145
65146 2007-03-31  Bruno Haible  <bruno@clisp.org>
65147
65148         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
65149         the function is not present.
65150
65151 2007-03-31  Bruno Haible  <bruno@clisp.org>
65152
65153         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
65154         a bug in HP-UX iconv_open().
65155
65156 2007-03-31  Bruno Haible  <bruno@clisp.org>
65157
65158         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
65159         (Mathematics <math.h>): New section, add fpieee.
65160         (Input/output <stdio.h>): Add fseterr.
65161         (Mathematics <math.h>): New section, add printf-frexp.
65162         (Container data structures): Add sublist.
65163         (Core language properties): Add fpucw, inline.
65164         (Functions for greatest-width integer types <inttypes.h>): Add
65165         imaxabs, imaxdiv, inttypes.
65166         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
65167         isnanl-nolibm, ldexp.
65168         (Mathematics <math.h>): New section, add printf-frexpl.
65169         (Support for systems lacking POSIX:2001): Add fprintf-posix,
65170         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
65171         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
65172         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
65173         (Unicode string functions): Add unistr/u*-mbtoucr.
65174         (Java): Add javacomp-script, javaexec-script.
65175         (C#): Add csharpcomp-script, csharpexec-script.
65176         (Support for building libraries and executables): Add havelib,
65177         relocatable-*.
65178         (Support for maintaining and releasing projects): Renamed from
65179         'Support for maintaining and release projects'. Add announce-gen.
65180
65181 2007-03-31  Bruno Haible  <bruno@clisp.org>
65182
65183         * README: Talk primarily about git.
65184         (git and CVS): Renamed from CVS.
65185         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
65186         gnulib is available through git.
65187         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
65188
65189 2007-03-30  Bruno Haible  <bruno@clisp.org>
65190
65191         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
65192         * lib/poll_.h: Likewise.
65193         * lib/stat_.h: Likewise.
65194         * lib/sys_time_.h: Likewise.
65195         * lib/sysexit_.h: Likewise.
65196         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
65197         * lib/stdbool_.h: Likewise.
65198         * lib/byteswap_.h: Add double-inclusion guard.
65199
65200 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
65201
65202         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
65203
65204 2007-03-30  Karl Berry  <karl@gnu.org>
65205
65206         * config/srclist-update: double space after USA in the license
65207         substitution, since that's how it's usually (?) written.
65208
65209 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
65210
65211         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
65212         reported by Bruno Haible.
65213
65214 2007-03-29  Bruno Haible  <bruno@clisp.org>
65215
65216         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
65217         a bug in AIX iconv().
65218
65219 2007-03-29  Bruno Haible  <bruno@clisp.org>
65220
65221         * modules/ldexpl-tests: New file.
65222         * tests/test-ldexpl.c: New file.
65223
65224 2007-03-29  Bruno Haible  <bruno@clisp.org>
65225
65226         * lib/ldexpl.c: Include fpucw.h.
65227         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
65228         multiplication.
65229         * modules/ldexpl (Depends-on): Add fpucw.
65230
65231 2007-03-29  Bruno Haible  <bruno@clisp.org>
65232
65233         * modules/ldexpl: New file.
65234         * m4/ldexpl.m4: New file.
65235         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
65236         set.
65237         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
65238         REPLACE_LDEXPL.
65239         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
65240         REPLACE_LDEXPL.
65241         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65242         gl_FUNC_LDEXPL_WORKS.
65243         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
65244         * modules/mathl (Files): Remove lib/ldexpl.c.
65245         (Depends-on): Add ldexpl.
65246
65247 2007-03-29  Bruno Haible  <bruno@clisp.org>
65248
65249         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
65250
65251 2007-03-29  Bruno Haible  <bruno@clisp.org>
65252
65253         * tests/test-striconveh.c (main): Don't assume that a direct conversion
65254         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
65255         and possibly also HP-UX.
65256         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65257         work on AIX, IRIX, HP-UX, OSF/1.
65258         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65259         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65260         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65261         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65262         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
65263         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65264
65265 2007-03-29  Bruno Haible  <bruno@clisp.org>
65266
65267         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
65268
65269 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65270
65271         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
65272         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
65273
65274 2007-03-29  Eric Blake  <ebb9@byu.net>
65275
65276         * lib/acl-internal.h: Remove redundant include.
65277         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
65278         Cygwin when a file is locked.
65279
65280 2007-03-29  Bruno Haible  <bruno@clisp.org>
65281
65282         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
65283         file.
65284         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
65285
65286 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65287
65288         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
65289         try to remove a parent directory if the child couldn't be removed
65290         (except for the first rmdir, which could fail because the child
65291         doesn't exist).  Problem reported by Jeff Blaine in
65292         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
65293
65294 2007-03-28  Bruno Haible  <bruno@clisp.org>
65295
65296         * lib/striconveh.c (utf8conv_carefully): New function.
65297         (mem_cd_iconveh_internal): Invoke it.
65298
65299 2007-03-28  Bruno Haible  <bruno@clisp.org>
65300
65301         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
65302         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
65303         input.
65304         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
65305         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
65306         unistr/u8-uctomb.
65307
65308 2007-03-28  Bruno Haible  <bruno@clisp.org>
65309
65310         * modules/unistr/u8-mbtoucr: New file.
65311         * lib/unistr/u8-mbtoucr.c: New file.
65312         * modules/unistr/u16-mbtoucr: New file.
65313         * lib/unistr/u16-mbtoucr.c: New file.
65314         * modules/unistr/u16-mbtoucr: New file.
65315         * lib/unistr/u16-mbtoucr.c: New file.
65316         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
65317
65318 2007-03-27  Simon Josefsson  <simon@josefsson.org>
65319             Bruno Haible  <bruno@clisp.org>
65320
65321         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
65322         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
65323         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
65324
65325         * m4/stdio_h.m4: Add stubs for vasprintf too.
65326
65327         * modules/stdio: Support vasprintf in sed command.
65328
65329         * modules/vasprintf: Depend on stdio for prototypes.  Remove
65330         vasprintf.h.  Add stdio module indicator.
65331
65332         * lib/stdio_.h: Declare asprintf and vasprintf, based on
65333         vasprintf.h.
65334
65335         * lib/vasprintf.h: File removed.
65336
65337         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
65338         * lib/vasprintf.c: Ditto.
65339         * lib/xvasprintf.c: Ditto.
65340         * tests/test-vasprintf-posix.c: Ditto.
65341         * tests/test-vasprintf.c: Ditto.
65342
65343 2007-03-27  Bruno Haible  <bruno@clisp.org>
65344
65345         Make vasnprintf multithread-safe.
65346         * lib/vasnprintf.c (decimal_point_char): New function.
65347         (VASNPRINTF): Use it.
65348         Suggested by Simon Josefsson.
65349
65350 2007-03-27  Eric Blake  <ebb9@byu.net>
65351
65352         Support sub-second birthtime on cygwin.
65353         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
65354         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
65355         (get_stat_birthtime): Also work with st_birthtim.
65356
65357 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
65358
65359         * lib/stat-time.h (USE_BIRTHTIME): Remove.
65360         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
65361         (get_stat_birthtime_ns): Do not try to use "spare" fields.
65362         (get_stat_birthtime_ns): Simplify compile-time tests.
65363         (get_stat_birthtime): Change the API to look like
65364         get_stat_mtime etc., except return a negative tv_nsec on error.
65365         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
65366         Don't check for "spare" fields.
65367         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
65368         or for struct stat.st_birthtime, as these tests aren't used.
65369         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
65370
65371 2007-03-27  Bruno Haible  <bruno@clisp.org>
65372
65373         * lib/stat-time.h: Include <sys/stat.h>.
65374
65375 2007-03-27  James Youngman  <jay@gnu.org>
65376
65377         * lib/stat-time.h (get_stat_birthtime): New function for
65378           retrieving st_birthtime as provided by UFS2 (hence *BSD).
65379         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
65380           and its variants.
65381         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
65382         * modules/stat-time-test: New file.
65383         * tests/test-stat-time.c: New test, devised by Bruno Haible.
65384
65385 2007-03-26  Bruno Haible  <bruno@clisp.org>
65386
65387         Better support of signalling NaNs.
65388         * lib/atanl.c: Include isnanl.h.
65389         (atanl): Perform test for NaN at the beginning of the function and
65390         through a call to isnanl.
65391         * lib/cosl.c: Include isnanl.h.
65392         (cosl): Perform test for NaN at the beginning of the function and
65393         through a call to isnanl.
65394         * lib/ldexpl.c: Include isnanl.h.
65395         (ldexpl): Perform test for NaN through a call to isnanl.
65396         * lib/logl.c: Include isnanl.h.
65397         (logl): Perform test for NaN at the beginning of the function and
65398         through a call to isnanl.
65399         * lib/sinl.c: Include isnanl.h.
65400         (sinl): Perform test for NaN at the beginning of the function and
65401         through a call to isnanl.
65402         * lib/sqrtl.c: Include isnanl.h.
65403         (sqrtl): Perform test for NaN at the beginning of the function and
65404         through a call to isnanl.
65405         * lib/tanl.c: Include isnanl.h.
65406         (tanl): Perform test for NaN at the beginning of the function and
65407         through a call to isnanl.
65408         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
65409         * modules/mathl (Depends-on): Add isnanl.
65410
65411 2007-03-26  Eric Blake  <ebb9@byu.net>
65412
65413         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
65414         regression in logic sense of previous patch.
65415
65416 2007-03-26  Bruno Haible  <bruno@clisp.org>
65417
65418         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
65419         unportable shell command "if ! ...".
65420         Reported by Ralf Wildenhues.
65421
65422 2007-03-25  Bruno Haible  <bruno@clisp.org>
65423
65424         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
65425         <sysexits.h> file, and only add EX_CONFIG.
65426         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
65427         absolute file name and whether it is sufficient. Substitute also
65428         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
65429         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
65430         ABSOLUTE_SYSEXITS_H into sysexits.h.
65431
65432 2007-03-25  Bruno Haible  <bruno@clisp.org>
65433
65434         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
65435         hints is NULL.
65436
65437 2007-03-25  Bruno Haible  <bruno@clisp.org>
65438
65439         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
65440         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
65441
65442 2007-03-25  Bruno Haible  <bruno@clisp.org>
65443
65444         * lib/vasnprintf.c: Include langinfo.h.
65445         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
65446         multithread-safe.
65447         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
65448         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
65449         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65450         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65451         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65452         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65453         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65454         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
65455         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65456         Reported by Simon Josefsson.
65457
65458 2007-03-25  Bruno Haible  <bruno@clisp.org>
65459
65460         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
65461         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
65462         * modules/vasnprintf (Depends-on): Add stdint.
65463
65464 2007-03-25  Bruno Haible  <bruno@clisp.org>
65465
65466         * modules/fpieee: New file.
65467         * m4/fpieee.m4: New file.
65468         * modules/isnan-nolibm (Depends-on): Add fpieee.
65469         * modules/isnanl-nolibm (Depends-on): Add fpieee.
65470         * modules/isnanl (Depends-on): Add fpieee.
65471
65472 2007-03-25  Bruno Haible  <bruno@clisp.org>
65473
65474         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
65475
65476 2007-03-25  Bruno Haible  <bruno@clisp.org>
65477
65478         Avoid test failures on IRIX 6.5.
65479         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
65480         (main): Use it.
65481         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
65482         macros.
65483         (main): Use them.
65484
65485 2007-03-25  Bruno Haible  <bruno@clisp.org>
65486
65487         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
65488         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
65489         exists but doesn't work.
65490         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
65491         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
65492         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
65493         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
65494         math.h.
65495
65496 2007-03-25  Bruno Haible  <bruno@clisp.org>
65497
65498         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
65499         returns inf. Needed on IRIX 6.5.
65500
65501 2007-03-25  Bruno Haible  <bruno@clisp.org>
65502
65503         * tests/test-frexpl.c: Include isnanl-nolibm.h.
65504         (main): Use isnanl instead of x != x idiom.
65505         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
65506
65507         * tests/test-frexp.c: Include isnan.h.
65508         (main): Use isnan instead of x != x idiom.
65509         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
65510
65511 2007-03-25  Bruno Haible  <bruno@clisp.org>
65512
65513         * tests/test-frexp.c (NaN): New function/macro.
65514         (main): Use it instead of 0.0 / 0.0.
65515         * tests/test-isnan.c (NaN): New function/macro.
65516         (main): Use it instead of 0.0 / 0.0.
65517         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
65518         (test_function): Use it instead of 0.0 / 0.0.
65519         * tests/test-vasprintf-posix.c (NaN): New function/macro.
65520         (test_function): Use it instead of 0.0 / 0.0.
65521         * tests/test-snprintf-posix.h (NaN): New function/macro.
65522         (test_function): Use it instead of 0.0 / 0.0.
65523         * tests/test-sprintf-posix.h (NaN): New function/macro.
65524         (test_function): Use it instead of 0.0 / 0.0.
65525         * tests/test-fprintf-posix.h (NaN): New function/macro.
65526         (test_function): Use it instead of 0.0 / 0.0.
65527         * tests/test-printf-posix.h (NaN): New function/macro.
65528         (test_function): Use it instead of 0.0 / 0.0.
65529
65530         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
65531
65532 2007-03-25  Bruno Haible  <bruno@clisp.org>
65533
65534         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
65535
65536 2007-03-25  Bruno Haible  <bruno@clisp.org>
65537
65538         * lib/regexec.c (merge_state_with_log): Make static.
65539
65540 2007-03-25  Bruno Haible  <bruno@clisp.org>
65541
65542         * lib/trigl.c (kernel_rem_pio2): Make static.
65543
65544 2007-03-25  Bruno Haible  <bruno@clisp.org>
65545
65546         * lib/sincosl.c (sincosl_table): Make static.
65547
65548 2007-03-25  Bruno Haible  <bruno@clisp.org>
65549
65550         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
65551         if the compiler does not support C99.
65552
65553 2007-03-25  Bruno Haible  <bruno@clisp.org>
65554
65555         * modules/time (Makefile.am): Ensure all rule action lines start with a
65556         tab.
65557
65558 2007-03-24  Bruno Haible  <bruno@clisp.org>
65559
65560         * modules/tsearch-tests: New file.
65561         * tests/test-tsearch.sh: New file.
65562         * tests/test-tsearch.c: New file, mostly copied from glibc.
65563
65564         * modules/search-tests: New file.
65565         * tests/test-search.c: New file.
65566
65567         * modules/search: New file.
65568         * lib/search_.h: New file, incorporating lib/tsearch.h.
65569         * m4/search_h.m4: New file.
65570         * lib/tsearch.h: Remove file.
65571         * lib/tsearch.c: Include search.h instead of tsearch.h.
65572         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
65573         HAVE_TSEARCH.
65574         * modules/tsearch (Files): Remove lib/tsearch.h.
65575         (Depends-on): Add search.
65576         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
65577         (Include): Change tsearch.h into search.h.
65578
65579 2007-03-24  Bruno Haible  <bruno@clisp.org>
65580
65581         * modules/fpucw: New file.
65582         * lib/fpucw.h: New file.
65583         * lib/frexp.c: Include fpucw.h.
65584         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65585         (FUNC): Use them.
65586         * lib/printf-frexp.c: Include fpucw.h.
65587         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65588         (FUNC): Use them.
65589         * lib/vasnprintf.c: Include fpucw.h.
65590         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
65591         'long double' calculations.
65592         * tests/test-frexpl.c: Include fpucw.h.
65593         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65594         * tests/test-printf-frexpl.c: Include fpucw.h.
65595         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65596         * modules/frexpl (Depends-on): Add fpucw.
65597         * modules/printf-frexpl (Depends-on): Likewise.
65598         * modules/fprintf-posix (Depends-on): Likewise.
65599         * modules/snprintf-posix (Depends-on): Likewise.
65600         * modules/sprintf-posix (Depends-on): Likewise.
65601         * modules/vasnprintf-posix (Depends-on): Likewise.
65602         * modules/vasprintf-posix (Depends-on): Likewise.
65603         * modules/vfprintf-posix (Depends-on): Likewise.
65604         * modules/vsnprintf-posix (Depends-on): Likewise.
65605         * modules/vsprintf-posix (Depends-on): Likewise.
65606         * modules/frexpl-tests (Depends-on): Likewise.
65607         * modules/printf-frexpl-tests (Depends-on): Likewise.
65608
65609 2007-03-24  Bruno Haible  <bruno@clisp.org>
65610
65611         * lib/float+.h: New file.
65612         * lib/isnan.c: Include float+.h.
65613         (SIZE): New macro.
65614         (FUNC): Compare only SIZE bytes of the value.
65615         * lib/vasnprintf.c: Include float+.h.
65616         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
65617         SIZEOF_LDBL or SIZEOF_DBL bytes.
65618         * modules/isnan-nolibm (Files): Add lib/float+.h.
65619         * modules/isnanl-nolibm (Files): Add lib/float+.h.
65620         * modules/isnanl (Files): Add lib/float+.h.
65621         * modules/vasnprintf (Files): Add lib/float+.h.
65622
65623 2007-03-24  Bruno Haible  <bruno@clisp.org>
65624
65625         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
65626         include isnanl-nolibm.h.
65627
65628 2007-03-24  Bruno Haible  <bruno@clisp.org>
65629
65630         * tests/test-read-file.c (main): Don't produce spurious output for
65631         expected situations. Make the test fail if it encountered unexpected
65632         results.
65633
65634 2007-03-24  Bruno Haible  <bruno@clisp.org>
65635
65636         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
65637         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
65638
65639 2007-03-24  Bruno Haible  <bruno@clisp.org>
65640
65641         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
65642
65643 2007-03-24  Bruno Haible  <bruno@clisp.org>
65644
65645         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
65646         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
65647
65648         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
65649         * modules/utf8-ucs4: Turn into a symbolic link to module
65650         unistr/u8-mbtouc.
65651
65652         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
65653         utf8-ucs4-unsafe.
65654         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
65655         unistr/u8-mbtouc-unsafe.
65656
65657         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
65658         * modules/utf16-ucs4: Turn into a symbolic link to module
65659         unistr/u16-mbtouc.
65660
65661         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
65662         utf16-ucs4-unsafe.
65663         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
65664         unistr/u16-mbtouc-unsafe.
65665
65666         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
65667         * modules/ucs4-utf8: Turn into a symbolic link to module
65668         unistr/u8-ubtomb.
65669
65670         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
65671         * modules/ucs4-utf16: Turn into a symbolic link to module
65672         unistr/u16-ubtomb.
65673
65674 2007-03-24  Bruno Haible  <bruno@clisp.org>
65675
65676         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
65677         Enable the function only if HAVE_INLINE.
65678         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65679         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65680         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65681         Enable the function only if HAVE_INLINE.
65682         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65683         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65684         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65685         Enable the function only if HAVE_INLINE.
65686         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65687         Enable the function only if HAVE_INLINE.
65688         * modules/utf8-ucs4: Update.
65689         * modules/utf8-ucs4-unsafe: Update.
65690         * modules/utf16-ucs4: Update.
65691         * modules/utf16-ucs4-unsafe: Update.
65692         * modules/ucs4-utf8: Update.
65693         * modules/ucs4-utf16: Update.
65694
65695 2007-03-24  Bruno Haible  <bruno@clisp.org>
65696
65697         * lib/utf8-ucs4.h: Remove file.
65698         * lib/utf8-ucs4-unsafe.h: Remove file.
65699         * lib/utf16-ucs4.h: Remove file.
65700         * lib/utf16-ucs4-unsafe.h: Remove file.
65701         * lib/ucs4-utf8.h: Remove file.
65702         * lib/ucs4-utf16.h: Remove file.
65703         * lib/unistr.h: Include their previous contents.
65704         * m4/utf-ucs4.m4: Remove file.
65705         * m4/ucs4-utf.m4: Remove file.
65706         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65707         (Depends-on): Add unistr/base.
65708         (configure.ac): Remove gl_UTF_UCS4.
65709         (Makefile.am): Update.
65710         (Include): Change to unistr.h.
65711         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65712         (Depends-on): Add unistr/base.
65713         (configure.ac): Remove gl_UTF_UCS4.
65714         (Makefile.am): Update.
65715         (Include): Change to unistr.h.
65716         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65717         (Depends-on): Add unistr/base.
65718         (configure.ac): Remove gl_UTF_UCS4.
65719         (Makefile.am): Update.
65720         (Include): Change to unistr.h.
65721         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65722         (Depends-on): Add unistr/base.
65723         (configure.ac): Remove gl_UTF_UCS4.
65724         (Makefile.am): Update.
65725         (Include): Change to unistr.h.
65726         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65727         (Depends-on): Add unistr/base.
65728         (configure.ac): Remove gl_UCS4_UTF.
65729         (Makefile.am): Update.
65730         (Include): Change to unistr.h.
65731         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65732         (Depends-on): Add unistr/base.
65733         (configure.ac): Remove gl_UCS4_UTF.
65734         (Makefile.am): Update.
65735         (Include): Change to unistr.h.
65736         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65737         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65738         utf8-ucs4-unsafe.h.
65739         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65740         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65741         utf16-ucs4-unsafe.h.
65742         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65743         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65744         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65745         * lib/unistr/u8-strchr.c: Likewise.
65746         * lib/unistr/u8-strrchr.c: Likewise.
65747         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65748         * lib/unistr/u16-strchr.c: Likewise.
65749         * lib/unistr/u16-strrchr.c: Likewise.
65750         * lib/striconveh.c: Update.
65751         * lib/linebreak.c: Update.
65752
65753 2007-03-24  Bruno Haible  <bruno@clisp.org>
65754
65755         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65756         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65757
65758 2007-03-22  Bruno Haible  <bruno@clisp.org>
65759
65760         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65761
65762 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65763
65764         * MODULES.html.sh (File system functions): New module write-any-file.
65765         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65766         * m4/write-any-file.m4: New files.
65767
65768 2007-03-23  Eric Blake  <ebb9@byu.net>
65769
65770         * gnulib-tool: Rearrange space-tab sequences, since some editors
65771         like to eat them.
65772
65773 2007-03-23  Eric Blake  <ebb9@byu.net>
65774
65775         * lib/version-etc.c (version_etc_va): Update license wording to
65776         be more concise.  Recommended by Richard Stallman.
65777
65778 2007-03-22  Bruno Haible  <bruno@clisp.org>
65779
65780         * lib/poll.c (MSG_PEEK): New fallback definition.
65781
65782 2007-03-22  Bruno Haible  <bruno@clisp.org>
65783
65784         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65785         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65786         (main): Update.
65787         Fixes a compilation error on BeOS.
65788
65789 2007-03-22  Bruno Haible  <bruno@clisp.org>
65790
65791         * modules/frexpl-tests: New file.
65792         * tests/test-frexpl.c: New file.
65793
65794         * modules/frexpl: New file.
65795         * m4/frexpl.m4: New file.
65796         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65797         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65798         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65799         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65800         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65801         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65802
65803 2007-03-22  Bruno Haible  <bruno@clisp.org>
65804
65805         * lib/frexpl.c: Share code with lib/frexp.c.
65806         * modules/mathl (Files): Add lib/frexp.c.
65807         (Depends-on): Add isnanl-nolibm.
65808
65809 2007-03-22  Bruno Haible  <bruno@clisp.org>
65810
65811         * modules/printf-frexp (Files): Add m4/frexp.m4.
65812         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65813         only if the found frexp function actually works.
65814
65815 2007-03-22  Bruno Haible  <bruno@clisp.org>
65816
65817         * lib/frexp.c: Remove older implementation that uses divisions.
65818
65819 2007-03-21  Bruno Haible  <bruno@clisp.org>
65820
65821         * modules/frexp-tests: New file.
65822         * tests/test-frexp.c: New file.
65823
65824         * modules/frexp: New file.
65825         * lib/frexp.c: New file.
65826         * m4/frexp.m4: New file.
65827         * lib/math_.h (frexp): New declaration.
65828         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
65829         REPLACE_FREXP.
65830         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
65831
65832 2007-03-21  Bruno Haible  <bruno@clisp.org>
65833
65834         * modules/isnanl-tests: New file.
65835         * tests/test-isnanl.c: New file.
65836
65837         * modules/isnanl: New file.
65838         * lib/isnanl.h: New file.
65839         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
65840         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
65841         gl_FUNC_ISNANL_WORKS.
65842         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
65843         New macros.
65844
65845 2007-03-21  Bruno Haible  <bruno@clisp.org>
65846
65847         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65848         lib/isnanl.h.
65849         (Include): Update.
65850         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65851         * lib/vasnprintf.c: Update.
65852         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65853         tests/test-isnanl.h, remove tests/test-isnanl.c.
65854         (Makefile.am): Update.
65855         * tests/test-isnanl-nolibm.c: New file.
65856         * tests/test-isnanl.h: New file.
65857         * tests/test-isnanl.c: Remove file.
65858
65859 2007-03-21  Jim Meyering  <jim@meyering.net>
65860
65861         When trying to open ".", treat ESTALE like EACCES.
65862         * lib/savewd.c (savewd_save): Resort to forking not just upon
65863         failure with EACCES, but also when errno is ESTALE.
65864
65865 2007-03-20  Bruno Haible  <bruno@clisp.org>
65866
65867         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65868         Needed on AIX 5.1. Reported by Matthew Woehlke.
65869
65870 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65871
65872         Suggestions by Bruno Haible:
65873         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65874         our own.
65875         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65876         * modules/acl (Depends-on): Add gettext.
65877
65878 2007-03-19  Bruno Haible  <bruno@clisp.org>
65879
65880         * modules/iconvme: Remove file.
65881         * lib/iconvme.h: Remove file.
65882         * lib/iconvme.c: Remove file.
65883         * m4/iconvme.m4: Remove file.
65884
65885 2007-03-19  Bruno Haible  <bruno@clisp.org>
65886
65887         * doc/relocatable-maint.texi: Break long shell script line.
65888         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65889
65890 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65891
65892         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65893         handle file_has_acl.
65894         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65895         * lib/acl.c: Move header inclusions and related macro defns into
65896         lib/acl-internal.h.
65897         (S_ISLNK): Remove defn, since that's now done for us.
65898         (file_has_acl): Move to lib/file-has-acl.c.
65899         Call acl_trivial if available.  This is the crucial part of the fix.
65900         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65901         shared within the library.  Rewrite a bit, partly to make it compatible
65902         with the GNU coding style.
65903         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65904         Remove unnecessary double-quotes.
65905         Don't test for acl_to_text; the build will catch that.
65906         Replace acl_entries if it doesn't exist and it is needed.
65907         Check for -lsec and acl_trivial (as used on Solaris 10).
65908         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65909         lib/file-has-acl.c.
65910         (Depends-on): Add sys_stat, for S_ISLNK.
65911
65912 2007-03-19  Ben Pfaff  <blp@gnu.org>
65913
65914         * doc/gnulib.texi: Fix typos.
65915         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65916
65917 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65918
65919         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65920         If size is zero here, buf must be zero.
65921
65922 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65923
65924         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65925         <bruno@clisp.org>.
65926
65927 2007-03-18  Bruno Haible  <bruno@clisp.org>
65928
65929         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65930         Suggested by Eric Blake.
65931
65932 2007-03-18  Ben Pfaff  <blp@gnu.org>
65933
65934         * doc/relocatable.texi: Recommend using as prefix a directory
65935         that does not exist and will never be created.  Based on
65936         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65937         and others.
65938
65939 2007-03-17  Bruno Haible  <bruno@clisp.org>
65940
65941         * lib/fchownat.c: Include lchown.h.
65942
65943 2007-03-17  Bruno Haible  <bruno@clisp.org>
65944
65945         Fix endless loop when the given allocated size was > INT_MAX.
65946         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65947         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65948         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65949         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65950         * lib/sprintf.c (sprintf): Likewise.
65951
65952 2007-03-17  Bruno Haible  <bruno@clisp.org>
65953
65954         * tests/test-argp-2.sh (func_compare): Output a context diff.
65955
65956 2007-03-17  Bruno Haible  <bruno@clisp.org>
65957
65958         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
65959         locale's decimal-point character.
65960
65961 2007-03-17  Bruno Haible  <bruno@clisp.org>
65962
65963         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
65964         before comparing it. Needed because on some platforms (e.g. x86) a
65965         'long double' occupies less bytes than sizeof (long double).
65966
65967 2007-03-17  Bruno Haible  <bruno@clisp.org>
65968
65969         * tests/test-crc.c (main): Make printf statements 64-bit clean.
65970         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
65971         * tests/test-getaddrinfo.c (simple): Likewise.
65972         * tests/test-read-file.c (main): Likewise.
65973
65974 2007-03-17  Bruno Haible  <bruno@clisp.org>
65975
65976         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
65977
65978 2007-03-17  Bruno Haible  <bruno@clisp.org>
65979
65980         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
65981         unused variable.
65982
65983 2007-03-17  Bruno Haible  <bruno@clisp.org>
65984
65985         * tests/test-c-strcasecmp.c: Include c-strcase.h.
65986         * tests/test-c-strncasecmp.c: Likewise.
65987
65988 2007-03-17  Bruno Haible  <bruno@clisp.org>
65989
65990         * modules/stdlib (Depends-on): Add unistd.
65991         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
65992         Needed for MacOS X 10.3.
65993
65994 2007-03-17  Bruno Haible  <bruno@clisp.org>
65995
65996         * lib/unistr/u-strdup.h: Include <stdlib.h>.
65997
65998 2007-03-17  Bruno Haible  <bruno@clisp.org>
65999
66000         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
66001
66002 2007-03-17  Bruno Haible  <bruno@clisp.org>
66003
66004         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
66005         to reflect files copied from gnulib (with or without modifications).
66006         Suggested by Jim Meyering.
66007
66008 2007-03-17  Eric Blake  <ebb9@byu.net>
66009
66010         * NEWS: Document stdlib change from 2007-02-18.
66011
66012 2007-03-17  Jim Meyering  <jim@meyering.net>
66013
66014         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
66015         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
66016         someone uses a name containing shell meta-characters.
66017         Reported by Alfred M. Szmidt.
66018
66019         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
66020
66021 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66022
66023         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
66024         and copy gettext configuration files only if configure.ac contains
66025         a use of AM_GNU_GETTEXT_VERSION.
66026
66027 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66028
66029         * build-aux/bootstrap (gnulib_name): New variable.
66030         (gnulib_tool_options): Use it.
66031
66032 2007-03-13  Simon Josefsson  <simon@josefsson.org>
66033
66034         * tests/test-des.c: Use new namespace.
66035
66036 2007-03-15  Bruno Haible  <bruno@clisp.org>
66037
66038         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
66039         Reported by James Youngman <jay@gnu.org>.
66040
66041 2007-03-15  Bruno Haible  <bruno@clisp.org>
66042
66043         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
66044         declared prototype. Needed with cc on OSF/1 5.1.
66045
66046 2007-03-15  Bruno Haible  <bruno@clisp.org>
66047
66048         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
66049         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
66050         (struct gl_list_implementation): Add dispose_fn argument to the
66051         'create_empty', 'create' methods.
66052         (struct gl_list_impl_base): Add field 'dispose_fn'.
66053         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
66054         argument.
66055         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
66056         dispose_fn argument.
66057         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
66058         dispose_fn on the dropped values.
66059         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
66060         dispose_fn argument.
66061         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
66062         dropped values.
66063         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
66064         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66065         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
66066         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66067         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
66068         argument.
66069         (gl_tree_list_free): Call dispose_fn on the dropped values.
66070         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
66071         the dropped values.
66072         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66073         Add dispose_fn argument.
66074         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
66075         Call dispose_fn on the dropped values.
66076         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
66077         Add dispose_fn argument.
66078         (gl_sublist_create): Initialize the 'dispose_fn' field.
66079         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
66080         * tests/test-array_list.c (main): Update.
66081         * tests/test-carray_list.c (main): Update.
66082         * tests/test-avltree_list.c (main): Update.
66083         * tests/test-rbtree_list.c (main): Update.
66084         * tests/test-avltreehash_list.c (main): Update.
66085         * tests/test-rbtreehash_list.c (main): Update.
66086         * tests/test-linked_list.c (main): Update.
66087         * tests/test-linkedhash_list.c (main): Update.
66088         * tests/test-array_oset.c (main): Update.
66089
66090 2007-03-15  Bruno Haible  <bruno@clisp.org>
66091
66092         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
66093         (gl_oset_create_empty): Add dispose_fn argument.
66094         (struct gl_oset_implementation): Add dispose_fn argument to
66095         'create_empty' method.
66096         (struct gl_oset_impl_base): Add dispose_fn field.
66097         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
66098         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
66099         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
66100         values.
66101         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
66102         (gl_tree_oset_free): Call dispose_fn on the dropped values.
66103         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66104         dropped value.
66105         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66106         dropped value.
66107         * tests/test-array_oset.c (main): Update.
66108         * tests/test-avltree_oset.c (main): Update.
66109         * tests/test-rbtree_oset.c (main): Update.
66110         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
66111
66112 2007-03-13  Bruno Haible  <bruno@clisp.org>
66113
66114         * tests/test-stdbool.c (i): Update after last patch.
66115
66116 2007-03-12  Bruno Haible  <bruno@clisp.org>
66117
66118         * lib/quotearg.c: Include <wctype.h> early, before the definition of
66119         the iswprint macro. Needed on Solaris 2.5.1.
66120
66121 2007-03-12  Bruno Haible  <bruno@clisp.org>
66122
66123         * tests/test-printf-frexp.c (main): Declare x as volatile.
66124
66125 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66126
66127         * doc/gnulib.texi (Build robot for gnulib): New section.
66128
66129 2007-03-12  Jim Meyering  <jim@meyering.net>
66130
66131         * build-aux/bootstrap: New file.
66132         * build-aux/bootstrap.conf: New file, from coreutils.
66133
66134 2007-03-11  Bruno Haible  <bruno@clisp.org>
66135
66136         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
66137
66138 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66139
66140         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
66141         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
66142         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
66143
66144 2007-03-11  Bruno Haible  <bruno@clisp.org>
66145
66146         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
66147         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
66148
66149 2007-03-11  Bruno Haible  <bruno@clisp.org>
66150
66151         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
66152         formula. Needed for SunPRO C 5.0.
66153
66154 2007-03-11  Bruno Haible  <bruno@clisp.org>
66155
66156         * modules/long-options (Depends-on): Add getopt.
66157
66158 2007-03-11  Bruno Haible  <bruno@clisp.org>
66159
66160         * modules/modechange (Depends-on): Add stdbool.
66161
66162 2007-03-11  Bruno Haible  <bruno@clisp.org>
66163
66164         * modules/i-ring (Depends-on): Add stdbool.
66165
66166 2007-03-11  Bruno Haible  <bruno@clisp.org>
66167
66168         * modules/gc-des (Depends-on): Add stdbool.
66169
66170 2007-03-11  Bruno Haible  <bruno@clisp.org>
66171
66172         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
66173
66174 2007-03-11  Bruno Haible  <bruno@clisp.org>
66175
66176         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
66177
66178 2007-03-11  Bruno Haible  <bruno@clisp.org>
66179
66180         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
66181
66182 2007-03-11  Bruno Haible  <bruno@clisp.org>
66183
66184         * lib/vasnprintf.c (sprintf): Undefine.
66185
66186 2007-03-11  Bruno Haible  <bruno@clisp.org>
66187
66188         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
66189         initializers in SunPRO C and Compaq C compilers.
66190
66191 2007-03-11  Bruno Haible  <bruno@clisp.org>
66192
66193         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
66194         decrementing code ANSI C compliant.
66195
66196 2007-03-11  Bruno Haible  <bruno@clisp.org>
66197
66198         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
66199         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
66200
66201 2007-03-11  Bruno Haible  <bruno@clisp.org>
66202
66203         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
66204         <stdbool.h> substitute doesn't pass.
66205
66206 2007-03-11  Bruno Haible  <bruno@clisp.org>
66207
66208         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
66209
66210 2007-03-11  Bruno Haible  <bruno@clisp.org>
66211
66212         * gnulib-tool (func_create_megatestdir): Create also an autobuild
66213         script, for submission to autobuild.josefsson.org.
66214
66215 2007-03-10  Bruno Haible  <bruno@clisp.org>
66216
66217         * modules/canonicalize-lgpl-tests: New file.
66218         * tests/test-canonicalize-lgpl.sh: New file.
66219         * tests/test-canonicalize-lgpl.c: New file.
66220
66221         * modules/c-strcase-tests: New file.
66222         * tests/test-c-strcase.sh: New file.
66223         * tests/test-c-strcasecmp.c: New file.
66224         * tests/test-c-strncasecmp.c: New file.
66225
66226         * modules/atexit-tests: New file.
66227         * tests/test-atexit.sh: New file.
66228         * tests/test-atexit.c: New file.
66229
66230 2007-03-10  Bruno Haible  <bruno@clisp.org>
66231
66232         * tests/test-binary-io.sh: Use temporary filenames that are not so
66233         likely to clash with those of other tests (in a parallel make).
66234         * tests/test-binary-io.c: Likewise.
66235
66236 2007-03-10  Bruno Haible  <bruno@clisp.org>
66237
66238         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
66239         fallback; use #error instead.
66240         Suggested by Simon Josefsson.
66241
66242 2007-03-10  Bruno Haible  <bruno@clisp.org>
66243
66244         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
66245         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
66246         first and the last.
66247
66248 2007-03-10  Bruno Haible  <bruno@clisp.org>
66249
66250         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
66251
66252 2007-03-10  Bruno Haible  <bruno@clisp.org>
66253
66254         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
66255         "make distcheck".
66256         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
66257         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
66258         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
66259
66260 2007-03-10  Bruno Haible  <bruno@clisp.org>
66261
66262         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
66263         variable.
66264         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
66265         variable.
66266
66267 2007-03-09  Eric Blake  <ebb9@byu.net>
66268         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
66269
66270         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
66271         types are not being provided by gnulib.
66272         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
66273         types are supported.
66274
66275 2007-03-10  Bruno Haible  <bruno@clisp.org>
66276
66277         * lib/stdio_.h (__attribute__): New macro.
66278         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
66279         vsprintf): Specify __attribute__ __format__ for GCC.
66280         Suggested by Eric Blake.
66281
66282 2007-03-09  Bruno Haible  <bruno@clisp.org>
66283
66284         * modules/printf-posix-tests: New file.
66285         * tests/test-printf-posix.sh: New file.
66286         * tests/test-printf-posix.c: New file.
66287
66288         * modules/printf-posix: New file.
66289         * lib/printf.c: New file.
66290         * m4/printf-posix-rpl.m4: New file.
66291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
66292         REPLACE_PRINTF.
66293         * lib/stdio_.h (printf): New declaration.
66294         (format, __format__, ____printf____, ____scanf____, ____strftime____,
66295         ____strfmon____): New macros.
66296         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
66297         REPLACE_PRINTF.
66298
66299 2007-03-09  Bruno Haible  <bruno@clisp.org>
66300
66301         * tests/test-vasnprintf-posix2.sh: New file.
66302         * tests/test-vasnprintf-posix2.c: New file.
66303         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
66304         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
66305         (Makefile.am): Activate test-vasnprintf-posix2.sh.
66306
66307         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
66308         a locale dependent decimal point, rather than always '.'.
66309
66310 2007-03-09  Eric Blake  <ebb9@byu.net>
66311
66312         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
66313         spite of platforms like Tandem/NSK that define it to -1.
66314
66315 2007-03-08  Bruno Haible  <bruno@clisp.org>
66316
66317         * modules/vprintf-posix-tests: New file.
66318         * tests/test-vprintf-posix.sh: New file.
66319         * tests/test-vprintf-posix.c: New file.
66320         * tests/test-printf-posix.h: New file.
66321
66322         * modules/vprintf-posix: New file.
66323         * lib/vprintf.c: New file.
66324         * m4/vprintf-posix.m4: New file.
66325         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
66326         REPLACE_VPRINTF.
66327         * lib/stdio_.h (vprintf): New declaration.
66328         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
66329         REPLACE_VPRINTF.
66330
66331 2007-03-08  Bruno Haible  <bruno@clisp.org>
66332
66333         * modules/fprintf-posix-tests: New file.
66334         * tests/test-fprintf-posix.sh: New file.
66335         * tests/test-fprintf-posix.c: New file.
66336
66337         * modules/fprintf-posix: New file.
66338         * lib/fprintf.c: New file.
66339         * m4/fprintf-posix.m4: New file.
66340         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
66341         REPLACE_FPRINTF.
66342         * lib/stdio_.h (fprintf): New declaration.
66343         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
66344         REPLACE_FPRINTF.
66345
66346 2007-03-08  Bruno Haible  <bruno@clisp.org>
66347
66348         * modules/vfprintf-posix-tests: New file.
66349         * tests/test-vfprintf-posix.sh: New file.
66350         * tests/test-vfprintf-posix.c: New file.
66351         * tests/test-fprintf-posix.h: New file.
66352         * tests/test-fprintf-posix.out: New file.
66353
66354         * modules/vfprintf-posix: New file.
66355         * lib/vfprintf.c: New file.
66356         * m4/vfprintf-posix.m4: New file.
66357         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
66358         REPLACE_VFPRINTF.
66359         * lib/stdio_.h (vfprintf): New declaration.
66360         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
66361         REPLACE_VFPRINTF.
66362
66363 2007-03-08  Bruno Haible  <bruno@clisp.org>
66364
66365         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
66366
66367 2007-03-08  Bruno Haible  <bruno@clisp.org>
66368
66369         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
66370         instead of 'expr' invocations.
66371         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66372         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66373         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66374         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66375         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66376         Suggested by Paul Eggert.
66377
66378 2007-03-08  Bruno Haible  <bruno@clisp.org>
66379
66380         * modules/fseterr-tests: New file.
66381         * tests/test-fseterr.c: New file.
66382
66383         * modules/fseterr: New file.
66384         * lib/fseterr.h: New file.
66385         * lib/fseterr.c: New file.
66386
66387 2007-03-08  Bruno Haible  <bruno@clisp.org>
66388
66389         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
66390         * lib/getopt_.h: Likewise.
66391         * lib/mbswidth.h: Likewise.
66392         * lib/setenv.h: Likewise.
66393         * lib/vasnprintf.h: Likewise.
66394         * lib/vasprintf.h: Likewise.
66395         * lib/verror.h: Likewise.
66396         * lib/xsetenv.h: Likewise.
66397         * lib/xvasprintf.h: Likewise.
66398
66399 2007-03-08  Jim Meyering  <jim@meyering.net>
66400
66401         * users.txt: Add parted.
66402
66403         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
66404
66405 2007-03-07  Bruno Haible  <bruno@clisp.org>
66406
66407         * m4/printf.m4: Make the shell script snippets copy&pastable.
66408
66409 2007-03-02  Bruno Haible  <bruno@clisp.org>
66410
66411         * lib/netinet_in_.h: New file.
66412         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
66413         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
66414         * modules/netinet_in (Files): Add lib/netinet_in_.h.
66415         (Depends-on): Add absolute-header.
66416         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
66417         into netinet/in.h.
66418
66419 2007-03-03  Bruno Haible  <bruno@clisp.org>
66420
66421         * lib/sys_select_.h: New file.
66422         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
66423         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
66424         * modules/sys_select (Files): Add lib/sys_select_.h.
66425         (Depends-on): Add absolute-header.
66426         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
66427         into sys/select.h.
66428
66429 2007-03-02  Bruno Haible  <bruno@clisp.org>
66430
66431         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
66432         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
66433         values.
66434         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
66435         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
66436         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
66437         * modules/sys_socket (Depends-on): Add absolute-header.
66438         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
66439         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
66440         (Include): Remove requirement of inclusion of <sys/types.h>.
66441
66442 2007-03-02  Bruno Haible  <bruno@clisp.org>
66443
66444         * lib/byteswap_.h (bswap_32): Fix formula.
66445
66446 2007-03-06  Bruno Haible  <bruno@clisp.org>
66447
66448         * modules/sprintf-posix-tests: New file.
66449         * tests/test-sprintf-posix.c: New file.
66450
66451         * modules/sprintf-posix: New file.
66452         * lib/sprintf.c: New file.
66453         * m4/sprintf-posix.m4: New file.
66454         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
66455         REPLACE_SPRINTF.
66456         * lib/stdio_.h (sprintf): New declaration.
66457         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
66458         REPLACE_SPRINTF.
66459
66460 2007-03-06  Bruno Haible  <bruno@clisp.org>
66461
66462         * modules/vsprintf-posix-tests: New file.
66463         * tests/test-vsprintf-posix.c: New file.
66464         * tests/test-sprintf-posix.h: New file.
66465
66466         * modules/vsprintf-posix: New file.
66467         * lib/vsprintf.c: New file.
66468         * m4/vsprintf-posix.m4: New file.
66469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
66470         REPLACE_VSPRINTF.
66471         * lib/stdio_.h (vsprintf): New declaration.
66472         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
66473         REPLACE_VSPRINTF.
66474
66475 2007-03-06  Bruno Haible  <bruno@clisp.org>
66476
66477         * modules/vsnprintf (Depend-on): Remove minmax.
66478
66479 2007-03-06  Bruno Haible  <bruno@clisp.org>
66480
66481         * modules/snprintf-posix-tests: New file.
66482         * tests/test-snprintf-posix.c: New file.
66483
66484         * modules/snprintf-posix: New file.
66485         * m4/snprintf-posix.m4: New file.
66486         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
66487         gl_FUNC_SNPRINTF.
66488         (gl_FUNC_SNPRINTF): Invoke it.
66489         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
66490         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
66491         is set.
66492         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
66493
66494 2007-03-06  Bruno Haible  <bruno@clisp.org>
66495
66496         * modules/vsnprintf-posix-tests: New file.
66497         * tests/test-vsnprintf-posix.c: New file.
66498         * tests/test-snprintf-posix.h: New file.
66499
66500         * modules/vsnprintf-posix: New file.
66501         * m4/vsnprintf-posix.m4: New file.
66502         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
66503         gl_FUNC_VSNPRINTF.
66504         (gl_FUNC_VSNPRINTF): Invoke it.
66505         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
66506         * lib/stdio_.h (vsnprintf): Define as a replacement if
66507         REPLACE_VSNPRINTF is set.
66508         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
66509
66510 2007-03-06  Bruno Haible  <bruno@clisp.org>
66511
66512         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
66513         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
66514
66515 2007-03-06  Bruno Haible  <bruno@clisp.org>
66516
66517         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
66518         (asinl): Declare also if HAVE_DECL_ASINL is set.
66519         (atanl): Declare also if HAVE_DECL_ATANL is set.
66520         (ceill): Declare also if HAVE_DECL_CEILL is set.
66521         (cosl): Declare also if HAVE_DECL_COSL is set.
66522         (expl): Declare also if HAVE_DECL_EXPL is set.
66523         (floorl): Declare also if HAVE_DECL_FLOORL is set.
66524         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
66525         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
66526         (logl): Declare also if HAVE_DECL_LOGL is set.
66527         (sinl): Declare also if HAVE_DECL_SINL is set.
66528         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
66529         (tanl): Declare also if HAVE_DECL_TANL is set.
66530         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
66531         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
66532         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
66533         declaration of frexpl, ldexpl.
66534         * modules/printf-frexpl (Depends-on): Add math.
66535         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
66536
66537 2007-03-05  Bruno Haible  <bruno@clisp.org>
66538
66539         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
66540         frexpl and ldexpl are declared.
66541         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
66542
66543 2007-03-05  Bruno Haible  <bruno@clisp.org>
66544
66545         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
66546         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
66547
66548 2007-03-05  Bruno Haible  <bruno@clisp.org>
66549
66550         * lib/stdio_.h: Include <stddef.h>.
66551
66552 2007-03-05  Bruno Haible  <bruno@clisp.org>
66553
66554         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
66555
66556 2007-03-05  Bruno Haible  <bruno@clisp.org>
66557
66558         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
66559         NetBSD 4, from Ralf Wildenhues.
66560
66561 2007-03-04  Bruno Haible  <bruno@clisp.org>
66562
66563         * lib/vasprintf.h: Update #if logic for the case when the functions
66564         exist but are overridden.
66565
66566 2007-03-04  Bruno Haible  <bruno@clisp.org>
66567
66568         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
66569         implementations: glibc-2.4 and MacOS X 10.3.
66570         * tests/test-vasnprintf-posix.c (test_function): Test also the case
66571         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
66572         * tests/test-vasprintf-posix.c (test_function): Likewise.
66573
66574 2007-03-04  Bruno Haible  <bruno@clisp.org>
66575
66576         * modules/vasprintf-posix-tests: New file.
66577         * tests/test-vasprintf-posix.c: New file.
66578
66579         * modules/vasprintf-posix: New file.
66580         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
66581         defined.
66582         * m4/vasprintf-posix.m4: New file.
66583         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
66584         gl_FUNC_VASPRINTF.
66585         (gl_FUNC_VASPRINTF): Invoke it.
66586         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
66587         here.
66588         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
66589
66590 2007-03-04  Bruno Haible  <bruno@clisp.org>
66591
66592         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
66593         REPLACE_GETTIMEOFDAY.
66594         * modules/sys_time (Makefile.am): Likewise.
66595         * m4/sys_time_h.m4: Likewise.
66596         * m4/gettimeofday.m4: Likewise.
66597
66598 2007-03-04  Bruno Haible  <bruno@clisp.org>
66599
66600         * modules/vasnprintf-posix-tests: New file.
66601         * tests/test-vasnprintf-posix.c: New file.
66602
66603         * modules/vasnprintf-posix: New file.
66604         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
66605         printf-frexpl.h.
66606         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
66607         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
66608         REPLACE_VASNPRINTF is defined.
66609         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
66610         gl_FUNC_VASNPRINTF.
66611         (gl_FUNC_VASNPRINTF): Invoke it.
66612         * m4/vasnprintf-posix.m4: New file.
66613         * m4/printf.m4: New file.
66614
66615 2007-03-04  Bruno Haible  <bruno@clisp.org>
66616
66617         Compile progreloc.c only if --enable-relocatable is specified.
66618         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
66619         if --enable-relocatable was specified.
66620         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
66621         lib_SOURCES.
66622
66623 2007-03-04  Jim Meyering  <jim@meyering.net>
66624
66625         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
66626         Use it consistently, rather than enumerating errno constants.
66627
66628 2007-03-04  Bruno Haible  <bruno@clisp.org>
66629
66630         * modules/xvasprintf-tests: New file.
66631         * tests/test-xvasprintf.c: New file.
66632
66633         * modules/vasprintf-tests: New file.
66634         * tests/test-vasprintf.c: New file.
66635
66636         * modules/vasnprintf-tests: New file.
66637         * tests/test-vasnprintf.c: New file.
66638
66639         * modules/vsnprintf-tests: New file.
66640         * tests/test-vsnprintf.c: New file.
66641
66642         * modules/snprintf-tests: New file.
66643         * tests/test-snprintf.c: New file.
66644
66645 2007-03-04  Bruno Haible  <bruno@clisp.org>
66646
66647         Compile relocatable.c only if --enable-relocatable is specified.
66648         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
66649         gl_RELOCATABLE_LIBRARY.
66650         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
66651         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
66652         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
66653         gl_RELOCATABLE_LIBRARY.
66654         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
66655         (Makefile.am): Remove lib_SOURCES.
66656         * modules/relocatable-lib-lgpl (configure.ac): Invoke
66657         gl_RELOCATABLE_LIBRARY.
66658         (Makefile.am): Remove lib_SOURCES.
66659         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
66660         always.
66661         * modules/relocatable-prog-wrapper (configure.ac): Invoke
66662         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
66663
66664 2007-03-04  Bruno Haible  <bruno@clisp.org>
66665
66666         * modules/argmatch-tests: New file.
66667         * tests/test-argmatch.c: New file.
66668
66669         * tests/test-allocsa.c (main): Halve the number of loop runs.
66670
66671         * modules/alloca-opt-tests: New file.
66672         * tests/test-alloca-opt.c: New file.
66673
66674 2007-03-04  Jim Meyering  <jim@meyering.net>
66675
66676         Work around difference between Linux ACLs and Solaris 10 ZFS.
66677         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
66678         for EINVAL.
66679
66680 2007-03-03  Bruno Haible  <bruno@clisp.org>
66681
66682         * modules/relocatable-prog (Depends-on): Add back progreloc's
66683         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66684
66685 2007-03-03  Bruno Haible  <bruno@clisp.org>
66686
66687         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66688         * modules/relocatable-lib: New file.
66689
66690 2007-03-03  Bruno Haible  <bruno@clisp.org>
66691
66692         * modules/relocatable-prog: Renamed from modules/relocatable.
66693         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66694
66695 2007-03-03  Bruno Haible  <bruno@clisp.org>
66696
66697         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66698         m4/relocatable-lib.m4.
66699         (Depends-on): Remove 'relocatable'.
66700         (configure.ac): Add gl_RELOCATABLE_NOP.
66701
66702 2007-03-03  Bruno Haible  <bruno@clisp.org>
66703
66704         * modules/relocatable-prog-wrapper: New file.
66705         * modules/relocatable (Depends-on): Add it. Remove all other
66706         dependencies except progname.
66707         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66708
66709         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66710         (gl_FUNC_STRERROR): Nop.
66711         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66712
66713         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66714         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66715
66716         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66717         (gl_FUNC_READLINK): Update.
66718
66719         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66720
66721 2007-03-03  Bruno Haible  <bruno@clisp.org>
66722
66723         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66724         * modules/xreadlink (Depends-on): Add unistd.
66725         * modules/xreadlink-with-size (Depends-on): Likewise.
66726
66727 2007-03-03  Bruno Haible  <bruno@clisp.org>
66728
66729         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66730         extracted from gt_FUNC_SETENV.
66731         (gt_FUNC_SETENV): Remove macro.
66732         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66733         remove gt_FUNC_SETENV.
66734
66735 2007-03-03  Bruno Haible  <bruno@clisp.org>
66736
66737         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66738         ENABLE_RELOCATABLE here.
66739         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66740
66741 2007-03-03  Bruno Haible  <bruno@clisp.org>
66742
66743         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66744         * tests/test-rbtreehash_list.c: Include progname.h.
66745         (main): Call set_program_name.
66746
66747         * modules/rbtree-oset-tests (Depends-on): Add progname.
66748         * tests/test-rbtree_oset.c: Include progname.h.
66749         (main): Call set_program_name.
66750
66751         * modules/rbtree-list-tests (Depends-on): Add progname.
66752         * tests/test-rbtree_list.c: Include progname.h.
66753         (main): Call set_program_name.
66754
66755         * modules/linked-list-tests (Depends-on): Add progname.
66756         * tests/test-linked_list.c: Include progname.h.
66757         (main): Call set_program_name.
66758
66759 2007-03-03  Bruno Haible  <bruno@clisp.org>
66760
66761         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66762         All uses of __restrict changed to _Restrict_.
66763         * lib/glob_.h (__restrict): Remove macro.
66764
66765 2007-03-02  Bruno Haible  <bruno@clisp.org>
66766
66767         * modules/gettext (configure.ac): Require gettext infrastructure
66768         from version 0.16.1.
66769
66770 2007-03-02  Bruno Haible  <bruno@clisp.org>
66771
66772         * modules/linkedhash-list-tests (Depends-on): Add progname.
66773         * tests/test-linkedhash_list.c: Include progname.h.
66774         (main): Call set_program_name.
66775
66776         * modules/carray-list-tests (Depends-on): Add progname.
66777         * tests/test-carray_list.c: Include progname.h.
66778         (main): Call set_program_name.
66779
66780         * modules/avltreehash-list-tests (Depends-on): Add progname.
66781         * tests/test-avltreehash_list.c: Include progname.h.
66782         (main): Call set_program_name.
66783
66784         * modules/avltree-oset-tests (Depends-on): Add progname.
66785         * tests/test-avltree_oset.c: Include progname.h.
66786         (main): Call set_program_name.
66787
66788         * modules/avltree-list-tests (Depends-on): Add progname.
66789         * tests/test-avltree_list.c: Include progname.h.
66790         (main): Call set_program_name.
66791
66792         * modules/array-oset-tests (Depends-on): Add progname.
66793         * tests/test-array_oset.c: Include progname.h.
66794         (main): Call set_program_name.
66795
66796         * modules/array-list-tests (Depends-on): Add progname.
66797         * tests/test-array_list.c: Include progname.h.
66798         (main): Call set_program_name.
66799
66800         * modules/argp-tests (Depends-on): Add progname.
66801         * tests/test-argp.c: Include argp.h first. Include progname.h.
66802         (main): Call set_program_name.
66803
66804 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66805
66806         * doc/gnulib-tool.texi (Initial import): Reword description of
66807         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66808         limited effect even if defined after the first system include.
66809
66810 2007-03-01  Bruno Haible  <bruno@clisp.org>
66811
66812         * build-aux/config.libpath: Update to libtool-1.5.22.
66813         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66814
66815 2007-03-01  Bruno Haible  <bruno@clisp.org>
66816
66817         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66818         foo_CFLAGS.
66819         Reported by Ralf Wildenhues.
66820
66821 2007-03-01  Bruno Haible  <bruno@clisp.org>
66822
66823         * build-aux/install-reloc: Remove object files left over by some
66824         compilers.
66825         Reported by Ralf Wildenhues.
66826
66827 2007-03-01  Bruno Haible  <bruno@clisp.org>
66828
66829         * build-aux/install-reloc: Break long lines.
66830
66831 2007-03-01  Bruno Haible  <bruno@clisp.org>
66832
66833         * doc/relocatable.texi: Document that it may not work on OpenBSD.
66834         Reported by Ralf Wildenhues.
66835
66836 2007-03-01  Bruno Haible  <bruno@clisp.org>
66837
66838         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
66839         include ordering constraints.
66840
66841 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66842
66843         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
66844         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66845         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66846         as another example.
66847         * lib/time_.h: Fix misspelling.
66848         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66849         Require gl_HEADER_TIME_H_DEFAULTS.
66850         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66851         * m4/time_r.m4 (gl_TIME_R): Likewise.
66852         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66853
66854 2007-03-01  Bruno Haible  <bruno@clisp.org>
66855
66856         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66857         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66858
66859 2007-03-01  Jim Meyering  <jim@meyering.net>
66860
66861         * modules/xreadlink (Maintainer): Add my name.
66862         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66863
66864 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66865             Bruno Haible  <bruno@clisp.org>
66866
66867         * build-aux/install-reloc: Compile also c-ctype.c.
66868         * build-aux/relocatable.sh.in: New file.
66869         * doc/relocatable.texi: New file.
66870         * doc/relocatable-maint.texi: New file.
66871         * doc/gnulib.texi: Include relocatable-maint.texi.
66872         * lib/progreloc.c: Include unistd.h unconditionally.
66873         * lib/relocwrapper.c: Include unistd.h unconditionally.
66874         Include c-ctype.h.
66875         (add_dotbin): Use c_tolower.
66876         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66877         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66878         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66879         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66880         to m4/relocatable-lib.m4.
66881         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66882         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66883         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66884         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66885         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66886         * modules/relocatable: New file.
66887         * modules/relocatable-lib: New file.
66888         * modules/relocatable-script: New file.
66889
66890 2007-02-28  Bruno Haible  <bruno@clisp.org>
66891
66892         Import --enable-relocatable infrastructure.
66893         * build-aux/config.libpath: New file, from GNU gettext.
66894         * build-aux/install-reloc: New file, from GNU gettext.
66895         * build-aux/reloc-ldflags: New file, from GNU gettext.
66896         * lib/relocatable.h: New file, from GNU gettext.
66897         * lib/relocatable.c: New file, from GNU gettext.
66898         * lib/relocwrapper.c: New file, from GNU gettext.
66899         * m4/relocatable.m4: New file, from GNU gettext.
66900
66901 2007-02-28  Bruno Haible  <bruno@clisp.org>
66902
66903         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66904
66905         * modules/xreadlink: New file, from GNU gettext with modifications.
66906         * lib/xreadlink.c: New file, from GNU gettext.
66907         * lib/xreadlink.h: Add comments.
66908         (xreadlink): New declaration.
66909
66910         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66911         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66912         lib/xreadlink-with-size.c.
66913         (configure.ac): Remove gl_XREADLINK invocation.
66914         (Makefile.am): Augment lib_SOURCES.
66915         * m4/xreadlink.m4: Remove file.
66916         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66917         (xreadlink_with_size): Renamed from xreadink.
66918         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66919         * modules/canonicalize (Depends-on): Replace xreadlink with
66920         xreadlink-with-size.
66921         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66922
66923 2007-02-25  Jim Meyering  <jim@meyering.net>
66924
66925         * build-aux/announce-gen: When complaining about excess arguments,
66926         list them.
66927
66928 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66929
66930         * README: Document signed integer overflow situation more
66931         accurately.
66932
66933 2007-02-25  Bruno Haible  <bruno@clisp.org>
66934
66935         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66936         'a' or 'A' conversion.
66937
66938 2007-02-25  Bruno Haible  <bruno@clisp.org>
66939
66940         * modules/filename: Renamed from modules/pathname.
66941         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66942         lib/concatpath.c with lib/concat-filename.c.
66943         (Makefile.am): Update.
66944         (Include): Replace pathname.h with filename.h.
66945         * lib/filename.h: Renamed from lib/pathname.h.
66946         (concatenated_filename): Renamed from concatenated_pathname.
66947         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66948         (concatenated_filename): Renamed from concatenated_pathname.
66949         * lib/findprog.c: Include filename.h instead of pathname.h.
66950         (find_in_path): Update.
66951         * lib/javacomp.c: Include filename.h instead of pathname.h.
66952         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66953         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66954         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66955         is_oldgcj_14_13_usable, is_javac_usable): Update.
66956         * lib/javaexec.c: Include filename.h instead of pathname.h.
66957         (execute_java_class): Update.
66958         * modules/findprog: Update.
66959         * modules/javacomp: Update.
66960         * modules/javaexec: Update.
66961         * MODULES.html.sh (File system functions): Add 'filename', remove
66962         'pathname'.
66963
66964 2007-02-25  Bruno Haible  <bruno@clisp.org>
66965
66966         * modules/printf-frexpl-tests: New file.
66967         * tests/test-printf-frexpl.c: New file.
66968
66969         * modules/printf-frexpl: New file.
66970         * lib/printf-frexpl.h: New file.
66971         * lib/printf-frexpl.c: New file.
66972         * m4/printf-frexpl.m4: New file.
66973
66974 2007-02-25  Bruno Haible  <bruno@clisp.org>
66975
66976         * modules/printf-frexp-tests: New file.
66977         * tests/test-printf-frexp.c: New file.
66978
66979         * modules/printf-frexp: New file.
66980         * lib/printf-frexp.h: New file.
66981         * lib/printf-frexp.c: New file.
66982         * m4/printf-frexp.m4: New file.
66983
66984 2007-02-25  Bruno Haible  <bruno@clisp.org>
66985
66986         Assume automake >= 1.10 for the tests.
66987         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
66988         * modules/arctwo-tests: Likewise.
66989         * modules/argp-tests: Likewise.
66990         * modules/avltree-list-tests: Likewise.
66991         * modules/avltree-oset-tests: Likewise.
66992         * modules/avltreehash-list-tests: Likewise.
66993         * modules/carray-list-tests: Likewise.
66994         * modules/crc-tests: Likewise.
66995         * modules/des-tests: Likewise.
66996         * modules/gc-arcfour-tests: Likewise.
66997         * modules/gc-arctwo-tests: Likewise.
66998         * modules/gc-des-tests: Likewise.
66999         * modules/gc-hmac-md5-tests: Likewise.
67000         * modules/gc-hmac-sha1-tests: Likewise.
67001         * modules/gc-md2-tests: Likewise.
67002         * modules/gc-md4-tests: Likewise.
67003         * modules/gc-md5-tests: Likewise.
67004         * modules/gc-pbkdf2-sha1-tests: Likewise.
67005         * modules/gc-rijndael-tests: Likewise.
67006         * modules/gc-sha1-tests: Likewise.
67007         * modules/gc-tests: Likewise.
67008         * modules/getaddrinfo-tests: Likewise.
67009         * modules/hmac-md5-tests: Likewise.
67010         * modules/hmac-sha1-tests: Likewise.
67011         * modules/linked-list-tests: Likewise.
67012         * modules/linkedhash-list-tests: Likewise.
67013         * modules/lock-tests: Likewise.
67014         * modules/md2-tests: Likewise.
67015         * modules/md4-tests: Likewise.
67016         * modules/md5-tests: Likewise.
67017         * modules/rbtree-list-tests: Likewise.
67018         * modules/rbtree-oset-tests: Likewise.
67019         * modules/rbtreehash-list-tests: Likewise.
67020         * modules/read-file-tests: Likewise.
67021         * modules/rijndael-tests: Likewise.
67022         * modules/stdint-tests: Likewise.
67023         * modules/tls-tests: Likewise.
67024
67025 2007-02-24  Bruno Haible  <bruno@clisp.org>
67026
67027         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
67028         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
67029         function; instead check whether isnan with a double argument links.
67030         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
67031         function; instead check whether isnan with a 'long double' argument
67032         links.
67033         Reported by Eric Blake <ebb9@byu.net>.
67034
67035 2007-02-24  Bruno Haible  <bruno@clisp.org>
67036
67037         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
67038         defined.
67039         * lib/isnanl.c: Remove all code. Just include isnan.c.
67040         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
67041
67042 2007-02-25  Jim Meyering  <jim@meyering.net>
67043
67044         Avoid conflicting types for 'unsetenv' on FreeBSD.
67045         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
67046         conflicting with FreeBSD's (5.0 and 6.1) function declaration
67047         in stdlib.h.
67048
67049 2007-02-24  Bruno Haible  <bruno@clisp.org>
67050
67051         * modules/isnanl-nolibm-tests: New file.
67052         * tests/test-isnanl.c: New file.
67053
67054         * modules/isnanl-nolibm: New file.
67055         * lib/isnanl.h: New file.
67056         * lib/isnanl.c: New file.
67057         * m4/isnanl.m4: New file.
67058
67059 2007-02-24  Bruno Haible  <bruno@clisp.org>
67060
67061         * modules/isnan-nolibm-tests: New file.
67062         * tests/test-isnan.c: New file.
67063
67064         * modules/isnan-nolibm: New file.
67065         * lib/isnan.h: New file.
67066         * lib/isnan.c: New file.
67067         * m4/isnan.m4: New file.
67068
67069 2007-02-24  Bruno Haible  <bruno@clisp.org>
67070
67071         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
67072         assume that an exponent fits in 20 bits.
67073
67074 2007-02-24  Jim Meyering  <jim@meyering.net>
67075
67076         * m4/regex.m4: Update the description of the configure-time option,
67077         --without-included-regex, to state accurately what the defaults are,
67078         and perhaps to give people an idea why using this option is risky.
67079
67080 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67081
67082         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
67083         loops on small arguments.  This attempts to avoid the problem
67084         Bruno Haible reported for AIX 4.3.2 in
67085         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
67086
67087 2007-02-23  Bruno Haible  <bruno@clisp.org>
67088
67089         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
67090         Needed for help2man.
67091
67092 2007-02-23  Karl Berry  <karl@gnu.org>
67093
67094         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
67095         exists, foo.h should be cvs-ignored, not committed.
67096
67097 2007-02-23  Eric Blake  <ebb9@byu.net>
67098
67099         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
67100         * lib/stat-time.h (includes): Likewise.
67101         * lib/utimecmp.c (includes): Likewise.
67102         * lib/utimens.h (includes): Likewise.
67103         * lib/getdate.y (includes): Also include "timespec.h" for use
67104         internal to the module.
67105         * modules/utimens (Depends-on): Revert yesterday's patch.
67106         * modules/nanosleep (Depends-on): Add missing dependency.
67107
67108 2007-02-22  Bruno Haible  <bruno@clisp.org>
67109
67110         * lib/glob.c: Don't include getlogin_r.h.
67111
67112 2007-02-22  Jim Meyering  <jim@meyering.net>
67113
67114         * modules/utimens (Depends-on): Add timespec, required for
67115         utimens.h's inclusion of timespec.h.
67116
67117 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
67118
67119         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
67120         long unreadable paths in GNU/Linux.  Problem reported by Andreas
67121         Schwab in
67122         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
67123         I'll try to think of a better way to fix the Solaris problem.
67124
67125         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
67126         like glibc; on Solaris 10, it fails with errno == EINVAL.
67127         POSIX says the behavior is unspecified if the first argument is NULL,
67128         so play it safe and never pass NULL to the system getcwd.
67129
67130 2007-02-21  Jim Meyering  <jim@meyering.net>
67131
67132         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
67133         of gettimeofday.  It would conflict with the one now always
67134         provided via sys_time_.h.  Reported by Matthew Woehlke, as
67135         an IRIX 6.5 build failure.
67136
67137 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67138
67139         Minor fixups to port to Solaris 10 with Sun C 5.8.
67140         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
67141         * modules/getcwd (Depends-on): Add dirfd.
67142         * lib/putenv.c (putenv): #undef it.
67143         (rpl_putenv): New decl.
67144         (malloc, free): Include <stdlib.h> rather than prototyping separately.
67145
67146 2007-02-20  Bruno Haible  <bruno@clisp.org>
67147
67148         * modules/stdio-tests: New file.
67149         * tests/test-stdio.c: New file.
67150
67151         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
67152         (Depends-on): Add stdio.
67153         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67154         (Include): Use <stdio.h> instead of vsnprintf.h.
67155         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67156         HAVE_DECL_VSNPRINTF.
67157         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
67158
67159         * modules/snprintf (Files): Remove lib/snprintf.h.
67160         (Depends-on): Add stdio.
67161         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67162         (Include): Use <stdio.h> instead of snprintf.h.
67163         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67164         HAVE_DECL_SNPRINTF.
67165         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
67166         * lib/getaddrinfo.c: Likewise.
67167
67168         * modules/stdio: New file.
67169         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
67170         * lib/snprintf.h: Remove file.
67171         * lib/vsnprintf.h: Remove file.
67172         * lib/.cppi-disable: Remove snprintf.h.
67173         * m4/stdio_h.m4: New file.
67174         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
67175
67176 2007-02-20  Jim Meyering  <jim@meyering.net>
67177
67178         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
67179         used by e.g., mingw.  From Bruno Haible.
67180
67181 2007-02-19  Bruno Haible  <bruno@clisp.org>
67182
67183         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
67184         warnings.
67185         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67186
67187 2007-02-19  Bruno Haible  <bruno@clisp.org>
67188
67189         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
67190         from mingw users.
67191
67192 2007-02-19  Bruno Haible  <bruno@clisp.org>
67193
67194         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
67195         warnings.
67196         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
67197
67198 2007-02-19  Jim Meyering  <jim@meyering.net>
67199
67200         Don't use FD after a successful "fdopendir (fd)".
67201         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
67202         Reset it by calling dirfd on the just-obtained DIR*.
67203
67204         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
67205         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
67206
67207 2007-02-18  Bruno Haible  <bruno@clisp.org>
67208
67209         * lib/readlink.c: Include <unistd.h>.
67210         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
67211         HAVE_READLINK.
67212         * modules/readlink (Depends-on): Add unistd.
67213         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67214         (Include): Add <unistd.h>.
67215
67216         * lib/getlogin_r.h: Remove file.
67217         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
67218         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
67219         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
67220         HAVE_DECL_GETLOGIN_R.
67221         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
67222         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67223         (Include): Use <unistd.h> instead of getlogin_r.h.
67224
67225         * lib/getcwd.h: Remove file.
67226         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
67227         * lib/xgetcwd.c: Likewise.
67228         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
67229         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
67230         * modules/getcwd (Files): Remove lib/getcwd.h.
67231         (Depends-on): Add unistd.
67232         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67233         (Include): Use <unistd.h> instad of getcwd.h.
67234
67235         * lib/ftruncate.c: Include <unistd.h> first.
67236         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
67237         Set HAVE_FTRUNCATE.
67238         * modules/ftruncate (Depends-on): Add unistd.
67239         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67240
67241         * lib/fchdir.c: Include <unistd.h> first.
67242         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
67243         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
67244         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
67245         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67246         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
67247
67248         * lib/dup2.c: Include <unistd.h> first.
67249         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
67250         HAVE_DUP2.
67251         * modules/dup2 (Depends-on): Add unistd.
67252         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67253
67254         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
67255         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
67256         REPLACE_CHOWN. Don't define chown as a macro here.
67257         * modules/chown (Depends-on): Add unistd.
67258         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67259
67260         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
67261         Add definition for GL_LINK_WARNING.
67262         (chown, dup2): New declarations.
67263         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
67264         link warning.
67265         (ftruncate): New declaration.
67266         (getcwd): New declaration, taken from old getcwd.h.
67267         (getlogin_r): New declaration, taken from old getlogin_r.h.
67268         (readlink): New declaration.
67269         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
67270         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
67271         (gl_PREREQ_UNISTD): Remove macro.
67272         (gl_UNISTD_MODULE_INDICATOR): New macro.
67273         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
67274         many new variables. Don't set UNISTD_H.
67275         * modules/unistd (Description): Change.
67276         (Depends-on): Add link-warning.
67277         (configure.ac): Update.
67278         (Makefile.am): Create unistd.h always. Substitute many new variables
67279         into it.
67280
67281 2007-02-18  Bruno Haible  <bruno@clisp.org>
67282
67283         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
67284         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
67285         HAVE_GETSUBOPT.
67286         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
67287         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
67288         * lib/getsubopt.h: Remove file.
67289         * modules/getsubopt (Files): Remove lib/getsubopt.h.
67290         (Depends-on): Add stdlib.
67291         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67292         (Includes): Use <stdlib.h> instead of getsubopt.h.
67293         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
67294         Set HAVE_GETSUBOPT.
67295         * lib/getsubopt.c: Don't include getsubopt.h.
67296
67297 2007-02-18  Bruno Haible  <bruno@clisp.org>
67298
67299         * modules/fchdir (Depends-on): Add dup2.
67300
67301 2007-02-18  Bruno Haible  <bruno@clisp.org>
67302
67303         * lib/stdlib_.h: Handle glibc's special invocation convention
67304         specially.
67305
67306 2007-02-18  Bruno Haible  <bruno@clisp.org>
67307
67308         * modules/stdlib-tests: New file.
67309         * tests/test-stdlib.c: New file.
67310
67311         * modules/mkstemp (Files): Remove lib/mkstemp.h.
67312         (Depends-on): Add stdlib.
67313         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67314         (Includes): Use <stdlib.h> instead of mkstemp.h.
67315         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67316         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
67317         * lib/mkstemp.c: Don't include mkstemp.h.
67318         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
67319         * lib/stdlib--.h: Don't include mkstemp.h.
67320
67321         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
67322         (Depends-on): Add stdlib.
67323         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67324         (Includes): Use <stdlib.h> instead of mkdtemp.h.
67325         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67326         HAVE_MKDTEMP.
67327         * lib/mkdtemp.c: Don't include mkdtemp.h.
67328         * lib/clean-temp.c: Don't include mkdtemp.h.
67329
67330         * modules/exit (Files): Remove lib/exit.h.
67331         (Depends-on): Add stdlib.
67332         (Makefile.am): Remove lib_SOURCES.
67333         (Include): Use <stdlib.h> instead of exit.h.
67334         * lib/argmatch.c: Don't include exit.h.
67335         * lib/execute.c: Likewise.
67336         * lib/pagealign_alloc.c: Likewise.
67337         * lib/pipe.c: Likewise.
67338         * lib/wait-process.c: Likewise.
67339         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
67340         * lib/exitfail.c: Likewise.
67341         * lib/savewd.c: Likewise.
67342         * lib/xsetenv.c: Likewise.
67343
67344         * modules/stdlib: New file.
67345         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
67346         and extra comments about mkstemp().
67347         * lib/exit.h: Remove file.
67348         * lib/mkdtemp.h: Remove file.
67349         * lib/mkstemp.h: Remove file.
67350         * m4/stdlib_h.m4: New file.
67351         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
67352
67353 2007-02-18  Bruno Haible  <bruno@clisp.org>
67354
67355         * modules/math-tests: New file.
67356         * tests/test-math.c: New file.
67357
67358         * modules/math: New file.
67359         * modules/mathl (Files): Remove lib/mathl.h.
67360         (Depends-on): Add math.
67361         (Makefile.am): Don't mention mathl.h.
67362         (Include): Use <math.h> instead of mathl.h.
67363         * lib/math_.h: New file.
67364         * lib/mathl.h: Remove file.
67365         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
67366         mathl.h.
67367         * lib/asinl.c: Likewise.
67368         * lib/atanl.c: Likewise.
67369         * lib/ceill.c: Likewise.
67370         * lib/cosl.c: Likewise.
67371         * lib/expl.c: Likewise.
67372         * lib/floorl.c: Likewise.
67373         * lib/frexpl.c: Likewise.
67374         * lib/ldexpl.c: Likewise.
67375         * lib/logl.c: Likewise.
67376         * lib/sincosl.c: Likewise.
67377         * lib/sinl.c: Likewise.
67378         * lib/sqrtl.c: Likewise.
67379         * lib/tanl.c: Likewise.
67380         * lib/trigl.c: Likewise.
67381         * m4/math_h.m4: New file.
67382         * MODULES.html.sh (Mathematics): Add math.
67383
67384 2007-02-17  Bruno Haible  <bruno@clisp.org>
67385
67386         * modules/wctype-tests: New file.
67387         * tests/test-wctype.c: New file.
67388
67389         * modules/wchar-tests: New file.
67390         * tests/test-wchar.c: New file.
67391
67392         * modules/unistd-tests: New file.
67393         * tests/test-unistd.c: New file.
67394
67395         * modules/time-tests: New file.
67396         * tests/test-time.c: New file.
67397
67398         * modules/sysexits-tests: New file.
67399         * tests/test-sysexits.c: New file.
67400
67401         * modules/sys_time-tests: New file.
67402         * tests/test-sys_time.c: New file.
67403
67404         * modules/sys_stat-tests: New file.
67405         * tests/test-sys_stat.c: New file.
67406
67407         * modules/sys_socket-tests: New file.
67408         * tests/test-sys_socket.c: New file.
67409
67410         * modules/sys_select-tests: New file.
67411         * tests/test-sys_select.c: New file.
67412
67413         * modules/string-tests: New file.
67414         * tests/test-string.c: New file.
67415
67416         * modules/stdbool-tests: New file.
67417         * tests/test-stdbool.c: New file.
67418
67419         * modules/netinet_in-tests: New file.
67420         * tests/test-netinet_in.c: New file.
67421
67422         * modules/inttypes-tests: New file.
67423         * tests/test-inttypes.c: New file.
67424
67425         * modules/fcntl-tests: New file.
67426         * tests/test-fcntl.c: New file.
67427
67428         * modules/byteswap-tests: New file.
67429         * tests/test-byteswap.c: New file.
67430
67431         * modules/arpa_inet-tests: New file.
67432         * tests/test-arpa_inet.c: New file.
67433
67434 2007-02-17  Bruno Haible  <bruno@clisp.org>
67435
67436         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
67437         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
67438         if the corresponding module is not enabled. Emit link warnings if
67439         the function is used nevertheless.
67440         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
67441         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
67442         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
67443         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
67444         * modules/inttypes (Depends-on): Add link-warning.
67445         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67446         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
67447         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
67448         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
67449         * modules/imaxdiv (configure.ac): Likewise.
67450         * modules/strtoimax (configure.ac): Likewise.
67451         * modules/strtoumax (configure.ac): Likewise.
67452
67453 2007-02-17  Bruno Haible  <bruno@clisp.org>
67454
67455         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
67456         gl_STRING_MODULE_INDICATOR_DEFAULTS.
67457         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
67458         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
67459
67460 2007-02-17  Bruno Haible  <bruno@clisp.org>
67461
67462         * modules/link-warning: New file.
67463         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
67464         * lib/string_.h (GL_LINK_WARNING): Remove definition.
67465         * modules/string (Depends-on): Add link-warning.
67466         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67467         string.h.
67468         * MODULES.html.sh (Support for building libraries and executables): Add
67469         link-warning.
67470
67471 2007-02-17  Bruno Haible  <bruno@clisp.org>
67472
67473         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
67474         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
67475         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
67476         long lines.
67477
67478 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
67479             Bruno Haible  <bruno@clisp.org>
67480
67481         * modules/tmpfile: New file.
67482         * lib/tmpfile.c: New file.
67483         * m4/tmpfile.m4: New file.
67484         * MODULES.html.sh (func_all_modules): New section "Input/output".
67485
67486 2007-02-15  Bruno Haible  <bruno@clisp.org>
67487
67488         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
67489         (supports_delete_on_close): New function.
67490         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
67491
67492 2007-02-14  Bruno Haible  <bruno@clisp.org>
67493
67494         * modules/mbspcasecmp-tests: New file.
67495         * tests/test-mbspcasecmp.sh: New file.
67496         * tests/test-mbspcasecmp.c: New file.
67497
67498         New module mbspcasecmp.
67499         * modules/mbspcasecmp: New file.
67500         * lib/mbspcasecmp.c: New file.
67501         * lib/string_.h (strncasecmp): Change warning message.
67502         (mbspcasecmp): New declaration.
67503         * m4/mbspcasecmp.m4: New file.
67504         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67505         GNULIB_MBSPCASECMP.
67506         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
67507         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
67508
67509 2007-02-14  Bruno Haible  <bruno@clisp.org>
67510
67511         * modules/mbsncasecmp-tests: New file.
67512         * tests/test-mbsncasecmp.sh: New file.
67513         * tests/test-mbsncasecmp.c: New file.
67514
67515         New module mbsncasecmp.
67516         * modules/mbsncasecmp: New file.
67517         * lib/mbsncasecmp.c: New file.
67518         * lib/string_.h (mbsncasecmp): New declaration.
67519         * m4/mbsncasecmp.m4: New file.
67520         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67521         GNULIB_MBSNCASECMP.
67522         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
67523         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
67524
67525 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67526
67527         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
67528         Verify that it doesn't overlap with our flags.
67529         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
67530         do not have the desired effect in multibyte locales; instead, use
67531         mbscasecmp.
67532         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
67533         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
67534         we don't require GNU fnmatch ourselves (if our users require it, they
67535         should do so explicitly).
67536
67537         Fix regex code so it doesn't rely on strcasecmp.
67538         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
67539         Otherwise, include gnulib's langinfo.h.
67540         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
67541         undesirable behavior in non-C locales.  Instead, rely on localecharset.
67542         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
67543         * modules/regex (FILES): Remove m4/codeset.m4.
67544         (Depends-on): Add localcharset.  Remove strcase.
67545
67546 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67547
67548         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
67549         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
67550
67551 2007-02-13  Bruno Haible  <bruno@clisp.org>
67552
67553         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
67554         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67555
67556 2007-02-12  Bruno Haible  <bruno@clisp.org>
67557
67558         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67559         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
67560         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
67561         time warning rather than a link error.
67562
67563 2007-02-12  Bruno Haible  <bruno@clisp.org>
67564
67565         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
67566         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
67567         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67568
67569 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67570
67571         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
67572         args, not 2.
67573
67574 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67575
67576         New module 'time', so that apps can include <time.h> as per
67577         POSIX and GNU instead of separate include files like time_r.h
67578         and timegm.h.  This implementation tries out a simpler approach
67579         for replacing decls in standard include files (as compared to
67580         the string module), somewhat as an experiment.
67581
67582         * config/srclist.txt: Comment out mktime.c for now.
67583         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
67584         since it doesn't apply any more.  Use generic wording instead.
67585         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
67586         'time'.
67587         * lib/time_.h, m4/time_h.m4, modules/time: New files.
67588         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
67589         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
67590         Don't include <sys/types.h>; no longer needed since we assume C89.
67591         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
67592         * lib/strftime.c: Likewise.
67593         * lib/time_r.c: Likewise.
67594         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
67595         * lib/nanosleep.c: Include <time.h> first, to check interface.
67596         * lib/strptime.c: Likewise.
67597         * lib/time_r.c: Likewise.
67598         * lib/timegm.c: Likewise.
67599         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
67600         needed.
67601         * lib/timegm.c: Don't include timegm.h; no longer needed.
67602         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
67603         time.h now handles any problems in that area.
67604         (struct timespec, nanosleep): Remove; time.h now arranges for these.
67605         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
67606         that time.h defines struct timespec.
67607         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
67608         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
67609         handles that.
67610         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
67611         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
67612         needed.  Set REPLACE_LOCALTIME.
67613         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
67614         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
67615         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
67616         nanosleep; time_h.m4 now does that.  Don't require
67617         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
67618         module handles this now.
67619         * modules/getdate (Depends-on): Remove timespec.  Add time.
67620         * modules/nanosleep (Depends-on): Likewise.
67621         * modules/stat-time (Depends-on): Likewise.
67622         * modules/nanosleep (Include): Include time.h, not timespec.h.
67623         * modules/strptime (Files): Remove lib/strptime.h.
67624         (Depends-on): Add extensions, time.
67625         (Include): Include time.h, not strptime.h.
67626         * modules/time_r (Files): Remove lib/time_r.h.
67627         (Depends-on): Add time.
67628         (Include): Include time.h, not time_r.h.
67629         * modules/timegm: Likewise.
67630         * modules/timespec (Description): Now does timespec-related decls
67631         of our own, instead of struct timespec itself.
67632         (Depends-on): Add time; remove extensions.
67633         (Maintainer): Add self.
67634         * modules/utimecmp (Depends-on): Add time; remove timespec.
67635         * modules/utimens (Depends-on): Likewise.
67636         * modules/xnanosleep (Depends-on): Likewise.
67637
67638 2007-02-11  Bruno Haible  <bruno@clisp.org>
67639
67640         * lib/c-strstr.c: Include allocsa.h.
67641         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67642         * lib/c-strcasestr.c: Include allocsa.h.
67643         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67644         * lib/strcasestr.c: Include allocsa.h.
67645         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67646         * lib/mbsstr.c: Include allocsa.h.
67647         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67648         allocsa/freesa instead of malloc/free.
67649         * lib/mbscasestr.c: Include allocsa.h.
67650         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67651         allocsa/freesa instead of malloc/free.
67652         * modules/c-strstr (Depends-on): Add allocsa.
67653         * modules/c-strcasestr (Depends-on): Likewise.
67654         * modules/strcasestr (Depends-on): Likewise.
67655         * modules/mbsstr (Depends-on): Likewise.
67656         * modules/mbscasestr (Depends-on): Likewise.
67657
67658 2007-02-11  Bruno Haible  <bruno@clisp.org>
67659
67660         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
67661
67662         * modules/mbsspn-tests: New file.
67663         * tests/test-mbsspn.sh: New file.
67664         * tests/test-mbsspn.c: New file.
67665
67666 2007-02-11  Bruno Haible  <bruno@clisp.org>
67667
67668         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
67669
67670         * modules/mbspbrk-tests: New file.
67671         * tests/test-mbspbrk.sh: New file.
67672         * tests/test-mbspbrk.c: New file.
67673
67674 2007-02-11  Bruno Haible  <bruno@clisp.org>
67675
67676         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
67677         unneeded cast.
67678
67679         * modules/mbscspn-tests: New file.
67680         * tests/test-mbscspn.sh: New file.
67681         * tests/test-mbscspn.c: New file.
67682
67683 2007-02-11  Bruno Haible  <bruno@clisp.org>
67684
67685         * modules/mbscasecmp-tests: New file.
67686         * tests/test-mbscasecmp.sh: New file.
67687         * tests/test-mbscasecmp.c: New file.
67688
67689 2007-02-11  Bruno Haible  <bruno@clisp.org>
67690
67691         Ensure O(n) worst-case complexity of mbscasestr.
67692         * lib/mbscasestr.c: Include stdbool.h.
67693         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67694         functions.
67695         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67696         the bookkeeping indicates that it's worth it.
67697         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67698
67699         * modules/mbscasestr-tests: New file.
67700         * tests/test-mbscasestr1.c: New file.
67701         * tests/test-mbscasestr2.sh: New file.
67702         * tests/test-mbscasestr2.c: New file.
67703         * tests/test-mbscasestr3.sh: New file.
67704         * tests/test-mbscasestr3.c: New file.
67705         * tests/test-mbscasestr4.sh: New file.
67706         * tests/test-mbscasestr4.c: New file.
67707         * m4/locale-tr.m4: New file.
67708
67709 2007-02-11  Bruno Haible  <bruno@clisp.org>
67710
67711         Ensure O(n) worst-case complexity of mbsstr.
67712         * lib/mbsstr.c: Include stdbool.h.
67713         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67714         functions.
67715         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67716         bookkeeping indicates that it's worth it.
67717         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67718
67719         * modules/mbsstr-tests: New file.
67720         * tests/test-mbsstr1.c: New file.
67721         * tests/test-mbsstr2.sh: New file.
67722         * tests/test-mbsstr2.c: New file.
67723         * tests/test-mbsstr3.sh: New file.
67724         * tests/test-mbsstr3.c: New file.
67725         * m4/locale-fr.m4: New file.
67726
67727 2007-02-11  Bruno Haible  <bruno@clisp.org>
67728
67729         * lib/mbsrchr.c (mbsrchr): Fix bug.
67730
67731         * modules/mbsrchr-tests: New file.
67732         * tests/test-mbsrchr.sh: New file.
67733         * tests/test-mbsrchr.c: New file.
67734
67735 2007-02-11  Bruno Haible  <bruno@clisp.org>
67736
67737         * lib/mbschr.c (mbschr): Fix bug.
67738
67739         * modules/mbschr-tests: New file.
67740         * tests/test-mbschr.sh: New file.
67741         * tests/test-mbschr.c: New file.
67742         * m4/locale-zh.m4: New file.
67743
67744 2007-02-11  Bruno Haible  <bruno@clisp.org>
67745
67746         Support for copying multibyte string iterators.
67747         * lib/mbiter.h: Include <string.h>.
67748         (mbiter_multi_copy): New function.
67749         (mbi_copy): New macro.
67750         * lib/mbuiter.h: Include <string.h>.
67751         (mbuiter_multi_copy): New function.
67752         (mbui_copy): New macro.
67753
67754 2007-02-11  Bruno Haible  <bruno@clisp.org>
67755
67756         New module mbslen.
67757         * modules/mbslen: New file.
67758         * lib/mbslen.c: New file.
67759         * lib/string_.h (mbslen): New declaration.
67760         * m4/mbslen.m4: New file.
67761         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67762         GNULIB_MBSLEN.
67763         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67764         * MODULES.html.sh (Internationalization functions): Add mbslen.
67765
67766 2007-02-11  Bruno Haible  <bruno@clisp.org>
67767
67768         Ensure O(n) worst-case complexity of strcasestr substitute.
67769         * lib/strcasestr.c: Include stdbool.h.
67770         (knuth_morris_pratt): New function.
67771         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67772         bookkeeping indicates that it's worth it.
67773         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67774
67775         * modules/strcasestr-tests: New file.
67776         * tests/test-strcasestr.c: New file.
67777
67778 2007-02-11  Bruno Haible  <bruno@clisp.org>
67779
67780         Ensure O(n) worst-case complexity of c_strcasestr.
67781         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67782         (knuth_morris_pratt): New function.
67783         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67784         the bookkeeping indicates that it's worth it.
67785         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67786
67787         * modules/c-strcasestr-tests: New file.
67788         * tests/test-c-strcasestr.c: New file.
67789
67790 2007-02-11  Bruno Haible  <bruno@clisp.org>
67791
67792         Ensure O(n) worst-case complexity of c_strstr.
67793         * lib/c-strstr.c: Include stdbool.h, string.h.
67794         (knuth_morris_pratt): New function.
67795         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67796         bookkeeping indicates that it's worth it.
67797         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67798
67799         * lib/c-strstr.c: Complete rewrite for maintainability.
67800
67801         * modules/c-strstr-tests: New file.
67802         * tests/test-c-strstr.c: New file.
67803
67804 2007-02-11  Bruno Haible  <bruno@clisp.org>
67805
67806         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67807         5.2.1 and earlier, whereby \055 was treated just like the range
67808         delimiter '-'.
67809         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67810
67811 2007-02-08  Bruno Haible  <bruno@clisp.org>
67812
67813         * modules/regex (Depends-on): Add stdbool.
67814         Reported by Dalibor Topic <robilad@kaffe.org>.
67815
67816 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67817
67818         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67819         Prefer returning from main to exiting from it.
67820         Remove unnecessary parens after sizeof.
67821
67822 2007-02-05  Bruno Haible  <bruno@clisp.org>
67823
67824         New module mbssep.
67825         * modules/mbssep: New file.
67826         * lib/mbssep.c: New file.
67827         * lib/string_.h (strsep): Add a conditional link warning.
67828         (mbssep): New declaration.
67829         * m4/mbssep.m4: New file.
67830         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67831         GNULIB_MBSSEP.
67832         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
67833         * MODULES.html.sh (Internationalization functions): Add mbssep.
67834
67835 2007-02-05  Bruno Haible  <bruno@clisp.org>
67836
67837         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
67838         Optimize search in case of 1 delimiter.
67839
67840 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67841
67842         * lib/acl.h: Include sys/types.h before sys/acl.h.
67843
67844 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67845
67846         Merge upstream fix for glibc bugzilla #3957:
67847
67848         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67849
67850         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67851         bit for RE_HAT_LISTS_NOT_NEWLINE.
67852         (build_charclass_op): Remove bogus comment.
67853
67854 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67855
67856         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67857
67858 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67859
67860         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67861         * lib/memmem.c [!defined _LIBC]: Include config.h.
67862
67863 2007-02-04  Bruno Haible  <bruno@clisp.org>
67864
67865         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67866         warning message.
67867
67868 2007-02-04  Bruno Haible  <bruno@clisp.org>
67869
67870         New module mbstok_r.
67871         * modules/mbstok_r: New file.
67872         * lib/mbstok_r.c: New file.
67873         * lib/string_.h (strtok_r): Change argument names to match the
67874         comments. Add a conditional link warning.
67875         (mbstok_r): New declaration.
67876         * m4/mbstok_r.m4: New file.
67877         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67878         GNULIB_MBSTOK_R.
67879         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67880         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67881
67882 2007-02-04  Bruno Haible  <bruno@clisp.org>
67883
67884         New module mbsspn.
67885         * modules/mbsspn: New file.
67886         * lib/mbsspn.c: New file.
67887         * lib/string_.h (strspn): Add a conditional link warning.
67888         (mbsspn): New declaration.
67889         * m4/mbsspn.m4: New file.
67890         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67891         GNULIB_MBSSPN.
67892         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67893         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67894
67895 2007-02-04  Bruno Haible  <bruno@clisp.org>
67896
67897         New module mbspbrk.
67898         * modules/mbspbrk: New file.
67899         * lib/mbspbrk.c: New file.
67900         * lib/string_.h (strpbrk): Add a conditional link warning.
67901         (mbspbrk): New declaration.
67902         * m4/mbspbrk.m4: New file.
67903         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67904         GNULIB_MBSPBRK.
67905         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67906         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67907
67908 2007-02-04  Bruno Haible  <bruno@clisp.org>
67909
67910         New module mbscspn.
67911         * modules/mbscspn: New file.
67912         * lib/mbscspn.c: New file.
67913         * lib/string_.h (strcspn): Add a conditional link warning.
67914         (mbscspn): New declaration.
67915         * m4/mbscspn.m4: New file.
67916         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67917         GNULIB_MBSCSPN.
67918         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67919         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67920
67921 2007-02-04  Bruno Haible  <bruno@clisp.org>
67922
67923         New module mbscasestr, reduced goal of strcasestr.
67924         * modules/mbscasestr: New file.
67925         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67926         (mbscasestr): Renamed from strcasestr.
67927         * lib/strcasestr.c: Don't include mbuiter.h.
67928         (strcasestr): Remove support for multibyte locales.
67929         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67930         Change the conditional link warning.
67931         (mbscasestr): New declaration.
67932         * m4/mbscasestr.m4: New file.
67933         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67934         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67935         REPLACE_STRCASESTR.
67936         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67937         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67938         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67939         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67940         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67941         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67942         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67943         (Depends-on): Remove mbuiter.
67944         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67945
67946 2007-02-04  Bruno Haible  <bruno@clisp.org>
67947
67948         Simplify handling of strncasecmp.
67949         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67950         the conditional link warning.
67951         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67952         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67953         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67954         * modules/strcase (configure.ac): Don't invoke
67955         gl_STRING_MODULE_INDICATOR.
67956         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67957
67958 2007-02-04  Bruno Haible  <bruno@clisp.org>
67959
67960         New module mbscasecmp, reduced goal of strcasecmp.
67961         * modules/mbscasecmp: New file.
67962         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
67963         (mbscasecmp): Renamed from strcasecmp.
67964         * lib/strcasecmp.c: Don't include mbuiter.h.
67965         (strcasecmp): Remove support for multibyte locales.
67966         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
67967         Change the conditional link warning.
67968         (mbscasecmp): New declaration.
67969         * m4/mbscasecmp.m4: New file.
67970         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
67971         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
67972         REPLACE_STRCASECMP.
67973         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
67974         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67975         GNULIB_MBSCASECMP.
67976         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
67977         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
67978         * modules/strcase (Files): Remove m4/mbrtowc.m4.
67979         (Depends-on): Remove mbuiter.
67980         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
67981
67982 2007-02-04  Bruno Haible  <bruno@clisp.org>
67983
67984         New module mbsstr. Remove module strstr.
67985         * modules/mbsstr: New file.
67986         * modules/strstr: Remove file.
67987         * lib/mbsstr.c: Renamed from lib/strstr.c.
67988         (mbsstr): Renamed from strstr.
67989         * lib/string_.h (strstr): Remove declaration. Change the conditional
67990         link warning.
67991         (mbsstr): New declaration.
67992         * m4/mbsstr.m4: New file.
67993         * m4/strstr.m4: Remove file.
67994         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67995         REPLACE_STRSTR.
67996         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
67997         Don't initialize GNULIB_STRSTR.
67998         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
67999         substitute GNULIB_STRSTR and REPLACE_STRSTR.
68000         * MODULES.html.sh (Internationalization functions): Add mbsstr.
68001         (Support for systems lacking ANSI C 89): Remove strstr.
68002
68003 2007-02-04  Bruno Haible  <bruno@clisp.org>
68004
68005         New module mbsrchr.
68006         * modules/mbsrchr: New file.
68007         * lib/mbsrchr.c: New file.
68008         * lib/string_.h (strrchr): Add a conditional link warning.
68009         (mbsrchr): New declaration.
68010         * m4/mbsrchr.m4: New file.
68011         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68012         GNULIB_MBSRCHR.
68013         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
68014         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
68015
68016 2007-02-04  Bruno Haible  <bruno@clisp.org>
68017
68018         New module mbschr.
68019         * modules/mbschr: New file.
68020         * lib/mbschr.c: New file.
68021         * lib/string_.h (strchr): Add a conditional link warning.
68022         (mbschr): New declaration.
68023         * m4/mbschr.m4: New file.
68024         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68025         GNULIB_MBSCHR.
68026         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
68027         * MODULES.html.sh (Internationalization functions): Add mbschr.
68028
68029 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
68030
68031         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
68032
68033         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
68034
68035 2007-02-04  Bruno Haible  <bruno@clisp.org>
68036
68037         New module description section 'configure.ac-early'.
68038         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
68039         (func_get_autoconf_early_snippet): New function.
68040         (func_import, func_create_testdir): Use it. Remove special cases for
68041         modules 'extensions' and 'lock'.
68042         * modules/extensions (configure.ac-early): Require
68043         gl_USE_SYSTEM_EXTENSIONS.
68044         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
68045
68046 2007-02-04  Bruno Haible  <bruno@clisp.org>
68047
68048         Make use of gcj-4.3's -fsource and -ftarget option.
68049         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
68050         and if so try the options -fsource and -ftarget.
68051         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
68052         source_version, ftarget_option, target_version arguments.
68053         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
68054         (is_envjavac_oldgcj_14_14_usable): Renamed from
68055         is_envjavac_gcj_14_14_usable.
68056         (is_envjavac_oldgcj_14_13_usable): Renamed from
68057         is_envjavac_gcj_14_13_usable.
68058         (is_gcj_present): Update.
68059         (is_gcj_43, is_gcj43_usable): New functions.
68060         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
68061         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
68062         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
68063         try the options -fsource and -ftarget.
68064
68065 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68066
68067         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
68068         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
68069         larger value.
68070
68071 2007-02-03  Jim Meyering  <jim@meyering.net>
68072
68073         Give tools a better chance to allocate space for very large buffers.
68074         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
68075
68076         Make pwd and readlink work also when run with an unreadable parent dir
68077         on systems with openat support.
68078         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
68079         provided getcwd function, even when we have openat support.
68080         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
68081
68082 2007-02-02  Bruno Haible  <bruno@clisp.org>
68083
68084         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68085         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
68086         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
68087         portability problems if one of these functions is only used on specific
68088         platforms.
68089         Reported by Paul Eggert.
68090
68091 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
68092
68093         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
68094         is causing more trouble than it's curing.
68095         * lib/regex_internal.h (__mempcpy): Remove.
68096         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
68097         (and make the code a tad smaller to boot).
68098         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
68099
68100 2007-02-02  Jim Meyering  <jim@meyering.net>
68101
68102         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
68103         section, not in the Makefile.am: one.
68104
68105 2007-02-02  Eric Blake  <ebb9@byu.net>
68106
68107         * lib/strchrnul.c: Always include config.h first.
68108
68109         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
68110         gnulib strstr is not necessary here.
68111
68112 2007-02-02  Simon Josefsson  <simon@josefsson.org>
68113
68114         * m4/socklen.m4: Fix typo.
68115
68116 2007-02-02  Eric Blake  <ebb9@byu.net>
68117
68118         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
68119         * modules/netinet_in (Makefile.am): Likewise.
68120
68121 2007-02-01  Bruno Haible  <bruno@clisp.org>
68122
68123         * lib/string_.h (GL_LINK_WARNING): New macro.
68124         (strcasecmp, strstr, strcasestr): If provided by the system,
68125         conditionally define as a macro that leads to a warning instead of to
68126         an error.
68127         (strncasecmp): Conditionally define as a macro that leads to a warning.
68128
68129 2007-02-01  Karl Berry  <karl@gnu.org>
68130
68131         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
68132
68133 2007-02-01  Bruno Haible  <bruno@clisp.org>
68134
68135         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
68136         renamings.
68137
68138 2007-02-01  Eric Blake  <ebb9@byu.net>
68139
68140         * modules/regex (Depends-on): Revert dependence on mempcpy.
68141         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
68142         module's definition of mempcpy.
68143         Reported by Paul Eggert.
68144
68145 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68146
68147         * lib/string_.h: If the gnulib module XYZ is not present, undefine
68148         the symbol XYZ before redefining it.  This fixes a problem with
68149         programs that don't use XYZ, when compiled on systems that define
68150         XYZ to something else.
68151
68152 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
68153
68154         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
68155         occurs when "mkdir -m foo" creates a setgid directory that is (1)
68156         writeable to group or other and (2) is intended to have a special
68157         mode bit that is set or cleared.  In such a case, the directory
68158         should be neither group- nor other-writeable until the special
68159         mode bits are right.
68160
68161 2007-01-31  Eric Blake  <ebb9@byu.net>
68162
68163         * modules/mountlist (Depends-on): Add strstr.
68164
68165         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
68166         bug.
68167         * modules/string (Makefile.am): Remove redundant replacement.
68168         * modules/regex (Depends-on): Add mempcpy.
68169
68170 2007-01-31  Bruno Haible  <bruno@clisp.org>
68171
68172         New module description field 'Link'.
68173         * gnulib-tool (func_usage): Document --extract-link-directive.
68174         (sed_extract_prog): Recognize 'Link' directive.
68175         (func_get_link_directive): New function.
68176         (func_import): Show summary of link directives.
68177         Handle --extract-link-directive option.
68178         * modules/acl (Link): New section.
68179         * modules/clock-time (Link): New section.
68180         * modules/euidaccess (Link): New section.
68181         * modules/gettext (Link): New section.
68182         * modules/iconv (Link): New section.
68183         * modules/lock (Link): New section.
68184         * modules/nanosleep (Link): New section.
68185         * modules/readline (Link): New section.
68186
68187 2007-01-27  Bruno Haible  <bruno@clisp.org>
68188
68189         Enforce the use of gnulib modules for unportable <string.h> functions.
68190         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
68191         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
68192         (gl_HEADER_STRING_H_BODY): Require it.
68193         * lib/string_.h: If the gnulib module XYZ is not present, redefine
68194         the symbol XYZ to one that gives a link error.
68195         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
68196         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
68197         * modules/mempcpy (configure.ac): Likewise.
68198         * modules/memrchr (configure.ac): Likewise.
68199         * modules/stpcpy (configure.ac): Likewise.
68200         * modules/stpncpy (configure.ac): Likewise.
68201         * modules/strcase (configure.ac): Likewise.
68202         * modules/strcasestr (configure.ac): Likewise.
68203         * modules/strchrnul (configure.ac): Likewise.
68204         * modules/strdup (configure.ac): Likewise.
68205         * modules/strndup (configure.ac): Likewise.
68206         * modules/strnlen (configure.ac): Likewise.
68207         * modules/strpbrk (configure.ac): Likewise.
68208         * modules/strsep (configure.ac): Likewise.
68209         * modules/strstr (configure.ac): Likewise.
68210         * modules/strtok_r (configure.ac): Likewise.
68211
68212 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
68213
68214         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
68215
68216 2007-01-30  Jim Meyering  <jim@meyering.net>
68217
68218         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
68219
68220 2007-01-29  Bruno Haible  <bruno@clisp.org>
68221
68222         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
68223         * lib/execute.c: Likewise.
68224         * lib/pipe.c: Likewise.
68225         * lib/printf-args.h: Likewise.
68226         * lib/printf-args.c: Likewise.
68227         * lib/printf-parse.c: Likewise.
68228         * lib/vasnprintf.c: Likewise.
68229
68230 2007-01-29  Eric Blake  <ebb9@byu.net>
68231
68232         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
68233         declaration.
68234
68235 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
68236
68237         * lib/strptime.h (strptime): Use 'restrict' for args where
68238         POSIX requires this.
68239         * lib/strptime.c (strptime): Likewise.
68240         Change license notice from LGPL to GPL, since gnulib-tool will
68241         change this as needed.
68242         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
68243         defined.
68244         Include "strptime.h" first, to check interface.
68245         Do not #undef _LIBC and _NL_CURRENT.
68246         Do not include <stdlib.h>; no longer needed.
68247         Include "time_r.h" and declare ptime_locale_status
68248         only if _LIBC is not defined.
68249         (__P): Remove unused macro.
68250         (match_string): Bring back glibc version, but use it only if _LIBC
68251         is defined.
68252         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
68253         Remove unnecessary assertion and abort() call.
68254         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
68255         * m4/strptime.m4: Fix serial number comment.
68256         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
68257         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
68258         (Depends-on): Add time_r.
68259
68260 2007-01-29  Bruno Haible  <bruno@clisp.org>
68261
68262         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68263         strptime.
68264         * modules/strptime (Depends-on): Add stdbool.
68265         * lib/strptime.h: Include <time.h> always. Add comments.
68266
68267 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68268
68269         * modules/strptime: New file.
68270         * lib/strptime.h: New file.
68271         * lib/strptime.c: New file.
68272         * m4/strptime.m4: New file.
68273
68274 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68275
68276         * MODULES.html.sh: New module mpsort.
68277         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
68278
68279         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
68280         a circularity problem with HP-UX ia64 reported by Bob Proulx in
68281         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
68282         All uses changed.
68283         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
68284         All uses changed.
68285         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
68286         to _Restrict_.
68287         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
68288         the parameter matches the prototype.
68289
68290 2007-01-28  Jim Meyering  <jim@meyering.net>
68291
68292         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
68293         sys/time.h here, reverting that part of the previous patch:
68294         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
68295
68296 2007-01-28  Bruno Haible  <bruno@clisp.org>
68297
68298         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
68299         value of $(SYS_TIME_H).
68300         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
68301         remove it conditionally, too. [added by Jim Meyering]
68302         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
68303         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68304         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
68305         GETTIMEOFDAY_REPLACEMENT to 1.
68306
68307 2007-01-28  Bruno Haible  <bruno@clisp.org>
68308
68309         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
68310         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
68311         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
68312         Set UNISTD_H instead of UNISTD_H2.
68313         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
68314
68315 2007-01-28  Bruno Haible  <bruno@clisp.org>
68316
68317         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
68318         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
68319
68320 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68321
68322         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
68323         (func_create_testdir): Ensure C locale for `grep' and `tr'
68324         character ranges.
68325         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
68326         ACLOCAL_AMFLAGS parsing state machine.
68327
68328 2007-01-27  Bruno Haible  <bruno@clisp.org>
68329
68330         * modules/unistr/base: Update.
68331
68332 2007-01-27  Bruno Haible  <bruno@clisp.org>
68333
68334         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
68335         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
68336         * modules/unistr/u32-mbtouc-unsafe: Renamed from
68337         modules/unistr/u32-mbtouc.
68338         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
68339         * lib/unistr.h: Update.
68340         * lib/linebreak.c: Update.
68341         * modules/unistr/u32-mbtouc: Renamed from
68342         modules/unistr/u32-mbtouc-safe.
68343         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
68344         * lib/unistr.h: Update.
68345         * lib/unistr/u32-to-u8.c: Update.
68346         * lib/unistr/u32-to-u16.c: Update.
68347
68348 2007-01-27  Bruno Haible  <bruno@clisp.org>
68349
68350         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
68351         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
68352         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
68353         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
68354         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
68355         * modules/unistr/u16-mbtouc-unsafe: Renamed from
68356         modules/unistr/u16-mbtouc.
68357         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
68358         * lib/unistr.h: Update.
68359         * lib/linebreak.c: Update.
68360         * modules/linebreak: Update.
68361         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
68362         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
68363         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
68364         * modules/unistr/u16-mbtouc: Renamed from
68365         modules/unistr/u16-mbtouc-safe.
68366         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
68367         * lib/unistr.h: Update.
68368         * lib/unistr/u16-to-u8.c: Update.
68369         * modules/unistr/u16-to-u8: Update.
68370         * lib/unistr/u16-to-u32.c: Update.
68371         * modules/unistr/u16-to-u32: Update.
68372
68373 2007-01-27  Bruno Haible  <bruno@clisp.org>
68374
68375         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
68376         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
68377         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
68378         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
68379         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
68380         * modules/unistr/u8-mbtouc-unsafe: Renamed from
68381         modules/unistr/u8-mbtouc.
68382         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
68383         * lib/unistr.h: Update.
68384         * lib/striconveh.c: Update.
68385         * modules/striconveh: Update.
68386         * lib/linebreak.c: Update.
68387         * modules/linebreak: Update.
68388         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
68389         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
68390         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
68391         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
68392         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
68393         * lib/unistr.h: Update.
68394         * lib/striconveh.c: Update.
68395         * modules/striconveh: Update.
68396         * lib/unistr/u8-to-u16.c: Update.
68397         * modules/unistr/u8-to-u16: Update.
68398         * lib/unistr/u8-to-u32.c: Update.
68399         * modules/unistr/u8-to-u32: Update.
68400
68401 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68402
68403         Sync from Libtool.
68404         * lib/argz.c: Do not include strings.h nor memory.h, include
68405         string.h unconditionally.  Patch by Simon Josefsson.
68406
68407 2007-01-27  Bruno Haible  <bruno@clisp.org>
68408
68409         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
68410         from gl_HEADER_STRING_H_BODY.
68411         (gl_HEADER_STRING_H_BODY): Require it.
68412         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
68413         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
68414         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
68415         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
68416         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68417         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
68418         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
68419         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
68420         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
68421         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
68422         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
68423         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
68424         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
68425         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
68426         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68427
68428 2007-01-27  Bruno Haible  <bruno@clisp.org>
68429
68430         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
68431         check_PROGRAMS into noinst_PROGRAMS.
68432         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
68433         check_PROGRAMS in this case.
68434         (func_import): Set for_test to false.
68435         (func_create_testdir): Set for_test to true.
68436
68437 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68438             Bruno Haible  <bruno@clisp.org>
68439
68440         * modules/strcasestr (Files): Remove lib/strcasestr.h.
68441         (Depends-on): Add string.
68442         (Includes): Use <string.h> instead of strcasestr.h.
68443         * modules/string (Makefile.am): Also substitute the value of
68444         REPLACE_STRCASESTR.
68445         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
68446         assume strcasestr is declared in <string.h> not <strings.h>. Also
68447         set REPLACE_STRCASESTR.
68448         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
68449         REPLACE_STRCASESTR.
68450         * lib/strcasestr.h: Remove file.
68451         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
68452         * lib/string_.h (strcasestr): New declaration.
68453
68454 2007-01-27  Bruno Haible  <bruno@clisp.org>
68455
68456         * lib/string_.h: Use 'extern'.
68457
68458 2007-01-27  Jim Meyering  <jim@meyering.net>
68459
68460         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
68461         of set-but-not-used local, "q".
68462
68463         * lib/mempcpy.c: Include <config.h> before <string.h>.
68464         This fixes a compilation error on HP-UX, due to the system's
68465         "restrict"-using mempcpy prototype.
68466
68467 2007-01-26  Bruno Haible  <bruno@clisp.org>
68468
68469         Small optimization.
68470         * lib/javacomp.c: Include c-strstr.h.
68471          (is_envjavac_gcj): Use c_strstr instead of strstr.
68472         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
68473
68474 2007-01-26  Bruno Haible  <bruno@clisp.org>
68475
68476         * MODULES.html.sh (Unicode string functions): Add the new modules.
68477
68478         * modules/uniconv/u32-strconv-to-locale: New file.
68479         * lib/uniconv/u32-strconv-to-locale.c: New file.
68480
68481         * modules/uniconv/u16-strconv-to-locale: New file.
68482         * lib/uniconv/u16-strconv-to-locale.c: New file.
68483
68484         * modules/uniconv/u8-strconv-to-locale: New file.
68485         * lib/uniconv/u8-strconv-to-locale.c: New file.
68486
68487         * modules/uniconv/u32-strconv-from-locale: New file.
68488         * lib/uniconv/u32-strconv-from-locale.c: New file.
68489
68490         * modules/uniconv/u16-strconv-from-locale: New file.
68491         * lib/uniconv/u16-strconv-from-locale.c: New file.
68492
68493         * modules/uniconv/u8-strconv-from-locale: New file.
68494         * lib/uniconv/u8-strconv-from-locale.c: New file.
68495
68496         * modules/uniconv/u32-strconv-to-enc: New file.
68497         * lib/uniconv/u32-strconv-to-enc.c: New file.
68498         * modules/uniconv/u32-strconv-to-enc-tests: New file.
68499         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
68500
68501         * modules/uniconv/u16-strconv-to-enc: New file.
68502         * lib/uniconv/u16-strconv-to-enc.c: New file.
68503         * lib/uniconv/u-strconv-to-enc.h: New file.
68504         * modules/uniconv/u16-strconv-to-enc-tests: New file.
68505         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
68506
68507         * modules/uniconv/u8-strconv-to-enc: New file.
68508         * lib/uniconv/u8-strconv-to-enc.c: New file.
68509         * modules/uniconv/u8-strconv-to-enc-tests: New file.
68510         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
68511
68512         * modules/uniconv/u32-strconv-from-enc: New file.
68513         * lib/uniconv/u32-strconv-from-enc.c: New file.
68514         * modules/uniconv/u32-strconv-from-enc-tests: New file.
68515         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
68516
68517         * modules/uniconv/u16-strconv-from-enc: New file.
68518         * lib/uniconv/u16-strconv-from-enc.c: New file.
68519         * modules/uniconv/u16-strconv-from-enc-tests: New file.
68520         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
68521
68522         * modules/uniconv/u8-strconv-from-enc: New file.
68523         * lib/uniconv/u8-strconv-from-enc.c: New file.
68524         * lib/uniconv/u-strconv-from-enc.h: New file.
68525         * modules/uniconv/u8-strconv-from-enc-tests: New file.
68526         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
68527
68528         * modules/uniconv/u32-conv-from-enc: New file.
68529         * lib/uniconv/u32-conv-from-enc.c: New file.
68530         * modules/uniconv/u32-conv-from-enc-tests: New file.
68531         * tests/uniconv/test-u32-conv-from-enc.c: New file.
68532
68533         * modules/uniconv/u16-conv-from-enc: New file.
68534         * lib/uniconv/u16-conv-from-enc.c: New file.
68535         * lib/uniconv/u-conv-from-enc.h: New file.
68536         * modules/uniconv/u16-conv-from-enc-tests: New file.
68537         * tests/uniconv/test-u16-conv-from-enc.c: New file.
68538
68539         * modules/uniconv/u8-conv-from-enc: New file.
68540         * lib/uniconv/u8-conv-from-enc.c: New file.
68541         * modules/uniconv/u8-conv-from-enc-tests: New file.
68542         * tests/uniconv/test-u8-conv-from-enc.c: New file.
68543
68544         * modules/uniconv/base: New file.
68545         * lib/uniconv.h: New file.
68546
68547 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68548
68549         * doc/gnulib-tool.texi (Initial import): Update to match current
68550         behavior with strdup module.
68551         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
68552         * lib/memmem.h: Remove; all uses removed.  This is now done
68553         by <string.h>.
68554         * lib/mempcpy.h: Likewise.
68555         * lib/memrchr.h: Likewise.
68556         * lib/stpcpy.h: Likewise.
68557         * lib/stpncpy.h: Likewise.
68558         * lib/strcase.h: Likewise.
68559         * lib/strchrnul.h: Likewise.
68560         * lib/strdup.h: Likewise.
68561         * lib/strndup.h: Likewise.
68562         * lib/strnlen.h: Likewise.
68563         * lib/strpbrk.h: Likewise.
68564         * lib/strsep.h: Likewise.
68565         * lib/strstr.h: Likewise.
68566         * lib/strtok_r.h: Likewise.
68567         * lib/string_.h: New file.
68568         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
68569         Rely on <string.h> instead.
68570         * lib/canon-host.c: Likewise.
68571         * lib/chdir-long.c: Likewise.
68572         * lib/concatpath.c: Likewise.
68573         * lib/exclude.c: Likewise.
68574         * lib/fchdir.c: Likewise.
68575         * lib/getaddrinfo.c: Likewise.
68576         * lib/getcwd.c: Likewise.
68577         * lib/getsubopt.c: Likewise.
68578         * lib/glob.c: Likewise.
68579         * lib/hard-locale.c: Likewise.
68580         * lib/iconvme.c: Likewise.
68581         * lib/javacomp.c: Likewise.
68582         * lib/mempcpy.c: Likewise.
68583         * lib/memrchr.c: Likewise.
68584         * lib/regex_internal.h: Likewise.
68585         * lib/stpncpy.c: Likewise.
68586         * lib/strcasecmp.c: Likewise.
68587         * lib/strchrnul.c: Likewise.
68588         * lib/strdup.c: Likewise.
68589         * lib/striconv.c: Likewise.
68590         * lib/striconveh.c: Likewise.
68591         * lib/striconveha.c: Likewise.
68592         * lib/strncasecmp.c: Likewise.
68593         * lib/strndup.c: Likewise.
68594         * lib/strnlen.c: Likewise.
68595         * lib/strsep.c: Likewise.
68596         * lib/strstr.c: Likewise.
68597         * lib/strtok_r.c: Likewise.
68598         * lib/userspec.c: Likewise.
68599         * lib/w32spawn.h: Likewise.
68600         * lib/xstrndup.c: Likewise.
68601         * lib/mountlist.c (strstr): Remove decl.
68602         * m4/string_h.m4: New file.
68603         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
68604         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
68605         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
68606         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
68607         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
68608         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
68609         Set REPLACE_STRCASECMP if necessary.
68610         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
68611         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
68612         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
68613         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
68614         HAVE_DECL_STRDUP if necessary.
68615         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
68616         since gl_FUNC_STRNDUP does that now.
68617         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
68618         Check for decl here...
68619         (gl_PREREQ_STRNLEN): ... not here.
68620         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
68621         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
68622         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
68623         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
68624         necessary.
68625         * modules/string: New file.
68626         * modules/memmem (Files): Remove special-purpose include file.
68627         (Depends-on): Add string.
68628         (Include): Include <string.h>, not the removed file.
68629         * modules/mempcpy: Likewise.
68630         * modules/memrchr: Likewise.
68631         * modules/stpcpy: Likewise.
68632         * modules/stpncpy: Likewise.
68633         * modules/strcase: Likewise.
68634         * modules/strchrnul: Likewise.
68635         * modules/strdup: Likewise.
68636         * modules/strndup: Likewise.
68637         * modules/strnlen: Likewise.
68638         * modules/strpbrk: Likewise.
68639         * modules/strsep: Likewise.
68640         * modules/strstr: Likewise.
68641         * modules/strtok_r: Likewise.
68642         * tests/test-dirname.c: Don't include "strdup.h", since
68643         <string.h> now suffices.
68644         * tests/test-memmem.c: Don't include "memmem.h", since
68645         <string.h> now suffices.
68646
68647 2007-01-25  Bruno Haible  <bruno@clisp.org>
68648
68649         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
68650         *resultp is 0.
68651
68652         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
68653         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
68654         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
68655         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
68656
68657         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
68658         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
68659         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
68660         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
68661         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
68662         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
68663
68664 2007-01-24  Bruno Haible  <bruno@clisp.org>
68665
68666         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
68667         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
68668         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
68669         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
68670         gl_FUNC_FTS_CORE.
68671         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
68672         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
68673         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68674         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
68675         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
68676         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
68677         gl_FUNC_FCHOWNAT.
68678         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68679         gl_FUNC_STRFTIME.
68680         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68681         Reported by Ralf Wildenhues.
68682
68683 2007-01-24  Bruno Haible  <bruno@clisp.org>
68684
68685         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68686         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68687         gl_GETADDRINFO.
68688         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68689         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68690         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68691
68692 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68693
68694         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68695         Don't use 'exit'; just return from 'main'.
68696         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68697
68698         * lib/fnmatch_.h: Readjust white space and comments to match
68699         glibc, to avoid spurious diffs.
68700
68701 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68702
68703         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68704         2004-12-01 change by Jakub Jelinek, since this code won't compile
68705         if !LIBC.  Problem reported by Bob Proulx.
68706
68707 2007-01-23  Bruno Haible  <bruno@clisp.org>
68708
68709         * lib/striconveh.c: Include c-strcaseeq.h.
68710         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68711         * modules/striconveh (Depends-on): Add c-strcaseeq.
68712
68713 2007-01-23  Bruno Haible  <bruno@clisp.org>
68714
68715         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68716
68717         * modules/c-strcaseeq: New file.
68718         * lib/c-strcaseeq.h: New file.
68719
68720         * modules/streq: New file.
68721         * lib/streq.h: New file.
68722
68723 2007-01-23  Bruno Haible  <bruno@clisp.org>
68724
68725         * modules/striconveha-tests: New file.
68726         * tests/test-striconveha.c: New file.
68727
68728         * lib/striconveha.h: Include <stdbool.h>.
68729         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68730         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68731         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68732         (mem_iconveha): New function.
68733         (str_iconveha_notranslit): Renamed from str_iconveha.
68734         (str_iconveha): New function.
68735         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68736         c-strcase.
68737
68738 2007-01-23  Bruno Haible  <bruno@clisp.org>
68739
68740         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68741         encodings without forgiving before trying any encoding with handler.
68742         (str_iconveha): Try all encodings without forgiving before trying any
68743         encoding with handler.
68744
68745 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68746
68747         Import the following changes from libc.
68748
68749         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68750
68751         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68752
68753         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68754
68755         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68756         normal_bracket label.
68757
68758         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68759
68760         [BZ #361]
68761         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68762         to normal_bracket after fetching the next character.
68763
68764 2007-01-22  Bruno Haible  <bruno@clisp.org>
68765
68766         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68767         argument.
68768         * lib/striconveh.c (iconv_carefully_1): New function.
68769         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68770         argument.
68771         (str_cd_iconveh): Update.
68772         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68773         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68774         * tests/test-striconveh.c (MAGIC): New macro.
68775         (new_offsets): New function.
68776         (main): Test call with and without offsets.
68777
68778 2007-01-22  Bruno Haible  <bruno@clisp.org>
68779
68780         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68781         * modules/sys_select (Makefile.am): Likewise.
68782         * modules/sys_socket (Makefile.am): Likewise.
68783         * modules/sys_time (Makefile.am): Likewise.
68784
68785 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68786
68787         * modules/gettimeofday (License): Change from GPL to LGPL, since
68788         gettimeofday is a library function.
68789
68790 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68791
68792         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68793
68794 2007-01-21  Bruno Haible  <bruno@clisp.org>
68795
68796         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68797
68798 2007-01-21  Bruno Haible  <bruno@clisp.org>
68799
68800         * modules/striconveha: New file.
68801         * lib/striconveha.h: New file.
68802         * lib/striconveha.c: New file.
68803         * MODULES.html.sh (Internationalization functions): Add striconveha.
68804         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68805         string.
68806         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68807
68808 2007-01-21  Bruno Haible  <bruno@clisp.org>
68809
68810         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68811         * lib/striconveh.c (str_iconveh): Likewise.
68812
68813 2007-01-21  Bruno Haible  <bruno@clisp.org>
68814
68815         * lib/striconveh.h (mem_iconveh): New declaration.
68816         * lib/striconveh.c (mem_iconveh): New function.
68817         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68818
68819 2007-01-21  Bruno Haible  <bruno@clisp.org>
68820
68821         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
68822
68823         * lib/striconveh.h (mem_cd_iconveh): Change specification.
68824         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
68825         original result buffer.
68826         (str_cd_iconveh): Update.
68827         * tests/test-striconveh.c (main): Update.
68828
68829         * lib/striconv.h (mem_cd_iconv): Change specification.
68830         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
68831         result buffer.
68832         (str_cd_iconv): Update.
68833         * tests/test-striconv.c (main): Update.
68834
68835 2007-01-21  Bruno Haible  <bruno@clisp.org>
68836
68837         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
68838
68839 2007-01-20  Jim Meyering  <jim@meyering.net>
68840
68841         * lib/userspec.c (parse_with_separator): If a user or group string
68842         starts with "+", skip the corresponding name-to-ID look-up, since
68843         such a look-up must fail: user and group names may not include "+".
68844
68845 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68846
68847         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68848         since we now assume the sys_time module.
68849         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68850         check for sys/time.h; no longer needed.
68851         * modules/poll (Depends-on): Depend on sys_time.
68852
68853 2007-01-18  Bruno Haible  <bruno@clisp.org>
68854
68855         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68856         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68857
68858         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68859         gettimeofday.
68860
68861         * tests/test-gettimeofday.c: Include <time.h>.
68862         (dummy): Remove variable.
68863
68864         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68865         gl_HEADER_SYS_TIME_H.
68866         (gl_HEADER_SYS_TIME_H): New macro.
68867
68868         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68869         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68870         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68871         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68872         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68873         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68874         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68875         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68876         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68877         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68878         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68879
68880         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68881         last change; it caused a compilation error when cross-compiling to
68882         Cygwin.
68883
68884 2007-01-18  Jim Meyering  <jim@meyering.net>
68885
68886         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68887         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68888         than the race-prone "test -d sys || mkdir sys".
68889         (configure.ac): Use AC_PROG_MKDIR_P.
68890         * modules/sys_select: Likewise.
68891         * modules/sys_socket: Likewise.
68892         * modules/sys_time: Likewise.
68893
68894 2007-01-18  Eric Blake  <ebb9@byu.net>
68895
68896         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68897         replace gettimeofday.
68898         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68899         name, to avoid infinite recursion.
68900
68901 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68902
68903         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68904         module sys_time.
68905         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68906         assume timespec.h defines struct timeval.
68907         * lib/settime.c: Likewise.
68908         * lib/utimens.c: Likewise.
68909         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68910         since we now assume the gettimeofday module.
68911         * lib/tempname.c (__gen_tempname): Likewise.
68912         * lib/gettimeofday.h: Remove.
68913         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68914         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68915         Include <time.h>, for 'time()'.
68916         (localtime_buffer_addr): Also use this workaround if
68917         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68918         to simplify the uses.  All uses changed.
68919         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68920         that #undef is inside {}, and 'const' follows type name consistently.
68921         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68922         (gettimeofday): Do not use the maximum possible value for
68923         tv->tv_usec, since that might break usages other than ls.c.
68924         Instead, we'll leave ls.c alone.  This undoes today's patch
68925         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68926         we've never observed the problem but might as well keep the
68927         canary.
68928         * lib/nanosleep.c: Include timespec.h first, for interface check.
68929         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68930         now assume the sys_time module.
68931         * lib/tempname.c: Likewise.
68932         * lib/timespec.h: Likewise.
68933         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68934         needed.
68935         * lib/strftime.c: Likewise.
68936         * lib/timespec.h: Likewise.
68937         * lib/posixtm.c: Include posixtm.h first, for interface check.
68938         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68939         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68940         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68941         * lib/sys_time_.h: New file.
68942         * lib/timespec.h (struct timespec): Use long int, not long.
68943         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68944         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68945         Remove obsolescent call to AC_HEADER_TIME.
68946         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68947         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68948         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68949         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68950         Likewise.
68951         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68952         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68953         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68954         into the sys_time module.  Check for gettimeofday just once.
68955         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68956         for gettimeofday signature to just check the signature.  Merely
68957         compile it, since linking doesn't test signature.  Improve test for
68958         whether gettimeofday.o is actually needed.
68959         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
68960         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
68961         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
68962         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68963         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
68964         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
68965         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
68966         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
68967         than worrying about sys/time.h.
68968         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68969         Don't bother worrying about TIME_WITH_SYS_TIME.
68970         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
68971         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
68972         * m4/sys_time_h.m4: New file.
68973         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
68974         Don't include sys/time.h.  Return from main rather than exiting.
68975         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
68976         all uses changed.
68977         * modules/gethrxtime (Depends-on): Add sys_time.
68978         * modules/gettime (Depends-on): Likewise.
68979         * modules/gettimeofday (Depends-on): Likewise.
68980         * modules/nanosleep (Depends-on): Likewise.
68981         * modules/settime (Depends-on): Likewise.
68982         * modules/tempname (Depends-on): Likewise.
68983         * modules/utimens (Depends-on): Likewise.
68984         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
68985         (Include): Change back to <sys/time.h>.
68986         (Maintainer): Add self.
68987         * modules/sys_time: New file.
68988         * modules/tempname (Depends-on): Add gettimeofday.
68989         * tests/test-gettimeofday.c: Include <sys/time.h>
68990         rather than gettimeofday.h.
68991
68992 2007-01-17  Bruno Haible  <bruno@clisp.org>
68993
68994         * gnulib-tool (func_get_license): Revert last patch. Instead, let
68995         the license default to GPL.
68996         (func_create_testdir): Don't complain if a module is LGPL and its
68997         tests module depends on GPLed modules.
68998
68999 2007-01-17  Bruno Haible  <bruno@clisp.org>
69000
69001         * lib/gettimeofday.c (gettimeofday): Add code for the case
69002         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
69003         maximum possible value for tv->tv_usec, rather than the minimum one.
69004
69005 2005-10-08  Martin Lambers  <marlam@marlam.de>
69006 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69007 2007-01-16  Bruno Haible  <bruno@clisp.org>
69008
69009         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
69010         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
69011         gl_FUNC_GETTIMEOFDAY.
69012         (Include): Add gettimeofday.h.
69013         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
69014         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
69015         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
69016         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
69017         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
69018         * lib/gettimeofday.h: New file.
69019         * lib/gettimeofday.c: Include <sys/timeb.h>.
69020         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
69021         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69022         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
69023         fall back on time().
69024
69025         * tests/test-gettimeofday.c: New file.
69026         * modules/gettimeofday-tests: New file.
69027
69028 2007-01-16  Eric Blake  <ebb9@byu.net>
69029
69030         * modules/fnmatch (Depends-on): Depend on wchar.
69031         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
69032         * m4/fnmatch.m4: Likewise.
69033         * modules/mbchar (Makefile.am): Assume <wchar.h>.
69034         * m4/mbchar.m4: Likewise.
69035         * modules/mbswidth (Depends-on): Depend on wchar.
69036         * lib/mbswidth.c: Assume <wchar.h>.
69037         * m4/mbswidth.m4: Likewise.
69038         * modules/quotearg (Depends-on): Depend on wchar.
69039         * lib/quotearg.c: Assume <wchar.h>.
69040         * m4/quotearg.m4: Likewise.
69041         * modules/regex (Depends-on): Depend on wchar.
69042         * lib/regex_internal.h: Assume <wchar.h>.
69043         * m4/regex.m4: Likewise.
69044         * modules/stdint (Depends-on): Depend on wchar.
69045         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
69046         * m4/stdint.m4: Likewise.
69047         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
69048         * modules/strftime (Depends-on): Depend on wchar.
69049         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
69050         * modules/strtol (Depends-on): Depend on wchar.
69051         * lib/strtol.c: Assume <wchar.h>.
69052         * modules/wcwidth (Depends-on): Depend on wchar.
69053         * lib/wcwidth.h: Assume <wchar.h>.
69054         * m4/wcwidth.m4: Likewise.
69055
69056 2007-01-16  Bruno Haible  <bruno@clisp.org>
69057
69058         * modules/csharpexec-script: New, created from...
69059         * modules/csharpexec: ... this.
69060
69061 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
69062
69063         * modules/javaexec-script: New, created from...
69064         * modules/javaexec: ... this.
69065
69066 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69067
69068         * modules/poll (Dependencies): Add sys_select.
69069
69070 2007-01-15  Jim Meyering  <jim@meyering.net>
69071
69072         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
69073         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
69074         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
69075         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
69076
69077 2007-01-15  Bruno Haible  <bruno@clisp.org>
69078
69079         * modules/striconveh: New file.
69080         * lib/striconveh.h: New file.
69081         * lib/striconveh.c: New file.
69082         * MODULES.html.sh (Internationalization functions): Add striconveh.
69083
69084         * modules/striconveh-tests: New file.
69085         * tests/test-striconveh.c: New file.
69086
69087 2007-01-15  Bruno Haible  <bruno@clisp.org>
69088
69089         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
69090         not from GNU libiconv or GNU libc.
69091
69092 2007-01-15  Bruno Haible  <bruno@clisp.org>
69093
69094         * doc/gnulib-intro.texi (Copyright): Explain the different license
69095         terms for module descriptions, autoconf macros, tests, documentation.
69096
69097 2007-01-14  Bruno Haible  <bruno@clisp.org>
69098
69099         * modules/striconv-tests: New file.
69100         * tests/test-striconv.c: New file.
69101
69102 2007-01-14  Bruno Haible  <bruno@clisp.org>
69103
69104         * modules/iconv-tests: New file.
69105         * tests/test-iconv.c: New file.
69106
69107 2007-01-14  Bruno Haible  <bruno@clisp.org>
69108
69109         * gnulib-tool (func_get_license): For test modules, use the license of
69110         the main module.
69111
69112 2007-01-14  Bruno Haible  <bruno@clisp.org>
69113
69114         * modules/iconv (Include): Clarify that <iconv.h> can only be included
69115         if iconv is found to exist.
69116
69117 2007-01-14  Bruno Haible  <bruno@clisp.org>
69118
69119         * modules/c-ctype-tests: New file.
69120         * tests/test-c-ctype.c: New file.
69121
69122 2007-01-14  Bruno Haible  <bruno@clisp.org>
69123
69124         * modules/binary-io-tests: New file.
69125         * tests/test-binary-io.sh: New file.
69126         * tests/test-binary-io.c: New file.
69127
69128 2007-01-14  Bruno Haible  <bruno@clisp.org>
69129
69130         * modules/array-oset-tests: New file.
69131         * tests/test-array_oset.c: New file.
69132
69133 2007-01-14  Bruno Haible  <bruno@clisp.org>
69134
69135         * modules/array-list-tests: New file.
69136         * tests/test-array_list.c: New file.
69137
69138 2007-01-14  Bruno Haible  <bruno@clisp.org>
69139
69140         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
69141         and make.
69142         Reported by Simon Josefsson in
69143         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
69144
69145 2007-01-14  Bruno Haible  <bruno@clisp.org>
69146
69147         * modules/allocsa-tests: New file.
69148         * tests/test-allocsa.c: New file.
69149
69150 2007-01-14  Bruno Haible  <bruno@clisp.org>
69151
69152         * modules/fchdir (Depends-on): Add absolute-header.
69153         * modules/unistd (Depends-on): Likewise.
69154
69155 2006-12-30  Bruno Haible  <bruno@clisp.org>
69156
69157         * modules/fchdir: New file.
69158         * modules/unistd (Files): Add lib/unistd_.h.
69159         (Makefile.am): Generate unistd.h from unistd_.h.
69160         * lib/fchdir.c: New file.
69161         * lib/dirent_.h: New file.
69162         * lib/unistd_.h: New file.
69163         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
69164         * m4/fchdir.m4: New file.
69165         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
69166         (gl_HEADER_UNISTD): Invoke it.
69167         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
69168         function.
69169         * lib/backupfile.c (opendir, closedir): Undefine.
69170         * lib/chown.c (open, close): Undefine.
69171         * lib/clean-temp.c (open, close): Undefine.
69172         * lib/copy-file.c (open, close): Undefine.
69173         * lib/execute.c (open, close): Undefine.
69174         * lib/fsusage.c (open, close): Undefine.
69175         * lib/gc-gnulib.c (open, close): Undefine.
69176         * lib/getcwd.c (opendir, closedir): Undefine.
69177         * lib/glob.c (opendir, closedir): Undefine.
69178         * lib/javacomp.c (open, close): Undefine.
69179         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
69180         * lib/openat-proc.c (open, close): Undefine.
69181         * lib/pagealign_alloc.c (open, close): Undefine.
69182         * lib/pipe.c (open, close): Undefine.
69183         * lib/progreloc.c (open, close): Undefine.
69184         * lib/savedir.c (opendir, closedir): Undefine.
69185         * lib/utime.c (open, close): Undefine.
69186         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
69187
69188 2007-01-10  Bruno Haible  <bruno@clisp.org>
69189
69190         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
69191
69192 2007-01-12  Eric Blake  <ebb9@byu.net>
69193
69194         Provide a robust <wchar.h>.  Further simplifications are now
69195         possible in other modules, but not included here.
69196         * modules/wchar: New module.
69197         * m4/wchar.m4: New file.
69198         * lib/wchar_.h: Likewise.
69199         * modules/mbchar (Depends-on): Depend on wchar, as the first use
69200         of the new module.
69201         * MODULES.html.sh (Extended multibyte and wide character utilities):
69202         New section.
69203
69204 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
69205
69206         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
69207         to a reasonable default for memory allocation.
69208         (xreadlink): Don't allocate a huge buffer, to work around a buggy
69209         file system that reports garbage st_size values for symlinks.
69210         Problem reported by Liyang Hu.
69211
69212 2007-01-11  Simon Josefsson  <simon@josefsson.org>
69213
69214         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
69215         Emacs .#* auto-save files).
69216
69217 2007-01-11  Bruno Haible  <bruno@clisp.org>
69218
69219         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
69220         directory.
69221
69222 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69223
69224         Use @...@ consistently in lib/wctype_.h.
69225         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
69226         on it being set to 1 or 0.
69227         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
69228         go back to AC_SUBSTing it.
69229         * modules/wctype (Makefile.am): Undo previous change.
69230
69231 2007-01-10  Eric Blake  <ebb9@byu.net>
69232
69233         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
69234         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
69235         * modules/wctype (Makefile.am): Likewise.
69236         Reported by Chris McGuire.
69237
69238 2007-01-10  Jim Meyering  <jim@meyering.net>
69239
69240         fts.c: a small readability/maintainability improvement
69241         * lib/fts.c (fts_read): Make this code slightly more readable and
69242         maintainable by hoisting the "sp->fts_cur = p" assignments to
69243         immediately follow the statements that set P.  Derived from
69244         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
69245
69246 2007-01-10  Eric Blake  <ebb9@byu.net>
69247
69248         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
69249         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
69250         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69251         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
69252         Reported by Chris McGuire.
69253
69254 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69255
69256         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
69257         in sed script.
69258
69259 2007-01-09  Bruno Haible  <bruno@clisp.org>
69260
69261         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
69262         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
69263         variables.
69264         (func_module): Use them.
69265
69266 2007-01-09  Bruno Haible  <bruno@clisp.org>
69267
69268         * modules/unistr/base: New file.
69269         * lib/unistr.h: New file.
69270
69271         * modules/unistr/u8-to-u16: New file.
69272         * lib/unistr/u8-to-u16.c: New file.
69273
69274         * modules/unistr/u8-to-u32: New file.
69275         * lib/unistr/u8-to-u32.c: New file.
69276
69277         * modules/unistr/u16-to-u8: New file.
69278         * lib/unistr/u16-to-u8.c: New file.
69279
69280         * modules/unistr/u16-to-u32: New file.
69281         * lib/unistr/u16-to-u32.c: New file.
69282
69283         * modules/unistr/u32-to-u8: New file.
69284         * lib/unistr/u32-to-u8.c: New file.
69285
69286         * modules/unistr/u32-to-u16: New file.
69287         * lib/unistr/u32-to-u16.c: New file.
69288
69289         * modules/unistr/u8-check: New file.
69290         * modules/unistr/u16-check: New file.
69291         * modules/unistr/u32-check: New file.
69292         * lib/unistr/u8-check.c: New file.
69293         * lib/unistr/u16-check.c: New file.
69294         * lib/unistr/u32-check.c: New file.
69295
69296         * modules/unistr/u8-chr: New file.
69297         * modules/unistr/u16-chr: New file.
69298         * modules/unistr/u32-chr: New file.
69299         * lib/unistr/u8-chr.c: New file.
69300         * lib/unistr/u16-chr.c: New file.
69301         * lib/unistr/u32-chr.c: New file.
69302
69303         * modules/unistr/u8-cmp: New file.
69304         * modules/unistr/u16-cmp: New file.
69305         * modules/unistr/u32-cmp: New file.
69306         * lib/unistr/u8-cmp.c: New file.
69307         * lib/unistr/u16-cmp.c: New file.
69308         * lib/unistr/u32-cmp.c: New file.
69309
69310         * modules/unistr/u8-cpy: New file.
69311         * modules/unistr/u16-cpy: New file.
69312         * modules/unistr/u32-cpy: New file.
69313         * lib/unistr/u8-cpy.c: New file.
69314         * lib/unistr/u16-cpy.c: New file.
69315         * lib/unistr/u32-cpy.c: New file.
69316         * lib/unistr/u-cpy.h: New file.
69317
69318         * modules/unistr/u8-cpy-alloc: New file.
69319         * modules/unistr/u16-cpy-alloc: New file.
69320         * modules/unistr/u32-cpy-alloc: New file.
69321         * lib/unistr/u8-cpy-alloc.c: New file.
69322         * lib/unistr/u16-cpy-alloc.c: New file.
69323         * lib/unistr/u32-cpy-alloc.c: New file.
69324         * lib/unistr/u-cpy-alloc.h: New file.
69325
69326         * modules/unistr/u8-endswith: New file.
69327         * modules/unistr/u16-endswith: New file.
69328         * modules/unistr/u32-endswith: New file.
69329         * lib/unistr/u8-endswith.c: New file.
69330         * lib/unistr/u16-endswith.c: New file.
69331         * lib/unistr/u32-endswith.c: New file.
69332         * lib/unistr/u-endswith.h: New file.
69333
69334         * modules/unistr/u8-mblen: New file.
69335         * modules/unistr/u16-mblen: New file.
69336         * modules/unistr/u32-mblen: New file.
69337         * lib/unistr/u8-mblen.c: New file.
69338         * lib/unistr/u16-mblen.c: New file.
69339         * lib/unistr/u32-mblen.c: New file.
69340
69341         * modules/unistr/u8-mbtouc: New file.
69342         * modules/unistr/u16-mbtouc: New file.
69343         * modules/unistr/u32-mbtouc: New file.
69344         * lib/unistr/u8-mbtouc.c: New file.
69345         * lib/unistr/u16-mbtouc.c: New file.
69346         * lib/unistr/u32-mbtouc.c: New file.
69347
69348         * modules/unistr/u8-mbtouc-safe: New file.
69349         * modules/unistr/u16-mbtouc-safe: New file.
69350         * modules/unistr/u32-mbtouc-safe: New file.
69351         * lib/unistr/u8-mbtouc-safe.c: New file.
69352         * lib/unistr/u16-mbtouc-safe.c: New file.
69353         * lib/unistr/u32-mbtouc-safe.c: New file.
69354
69355         * modules/unistr/u8-move: New file.
69356         * modules/unistr/u16-move: New file.
69357         * modules/unistr/u32-move: New file.
69358         * lib/unistr/u8-move.c: New file.
69359         * lib/unistr/u16-move.c: New file.
69360         * lib/unistr/u32-move.c: New file.
69361         * lib/unistr/u-move.h: New file.
69362
69363         * modules/unistr/u8-next: New file.
69364         * modules/unistr/u16-next: New file.
69365         * modules/unistr/u32-next: New file.
69366         * lib/unistr/u8-next.c: New file.
69367         * lib/unistr/u16-next.c: New file.
69368         * lib/unistr/u32-next.c: New file.
69369
69370         * modules/unistr/u8-prev: New file.
69371         * modules/unistr/u16-prev: New file.
69372         * modules/unistr/u32-prev: New file.
69373         * lib/unistr/u8-prev.c: New file.
69374         * lib/unistr/u16-prev.c: New file.
69375         * lib/unistr/u32-prev.c: New file.
69376
69377         * modules/unistr/u8-set: New file.
69378         * modules/unistr/u16-set: New file.
69379         * modules/unistr/u32-set: New file.
69380         * lib/unistr/u8-set.c: New file.
69381         * lib/unistr/u16-set.c: New file.
69382         * lib/unistr/u32-set.c: New file.
69383         * lib/unistr/u-set.h: New file.
69384
69385         * modules/unistr/u8-startswith: New file.
69386         * modules/unistr/u16-startswith: New file.
69387         * modules/unistr/u32-startswith: New file.
69388         * lib/unistr/u8-startswith.c: New file.
69389         * lib/unistr/u16-startswith.c: New file.
69390         * lib/unistr/u32-startswith.c: New file.
69391         * lib/unistr/u-startswith.h: New file.
69392
69393         * modules/unistr/u8-stpcpy: New file.
69394         * modules/unistr/u16-stpcpy: New file.
69395         * modules/unistr/u32-stpcpy: New file.
69396         * lib/unistr/u8-stpcpy.c: New file.
69397         * lib/unistr/u16-stpcpy.c: New file.
69398         * lib/unistr/u32-stpcpy.c: New file.
69399         * lib/unistr/u-stpcpy.h: New file.
69400
69401         * modules/unistr/u8-stpncpy: New file.
69402         * modules/unistr/u16-stpncpy: New file.
69403         * modules/unistr/u32-stpncpy: New file.
69404         * lib/unistr/u8-stpncpy.c: New file.
69405         * lib/unistr/u16-stpncpy.c: New file.
69406         * lib/unistr/u32-stpncpy.c: New file.
69407         * lib/unistr/u-stpncpy.h: New file.
69408
69409         * modules/unistr/u8-strcat: New file.
69410         * modules/unistr/u16-strcat: New file.
69411         * modules/unistr/u32-strcat: New file.
69412         * lib/unistr/u8-strcat.c: New file.
69413         * lib/unistr/u16-strcat.c: New file.
69414         * lib/unistr/u32-strcat.c: New file.
69415         * lib/unistr/u-strcat.h: New file.
69416
69417         * modules/unistr/u8-strchr: New file.
69418         * modules/unistr/u16-strchr: New file.
69419         * modules/unistr/u32-strchr: New file.
69420         * lib/unistr/u8-strchr.c: New file.
69421         * lib/unistr/u16-strchr.c: New file.
69422         * lib/unistr/u32-strchr.c: New file.
69423
69424         * modules/unistr/u8-strcmp: New file.
69425         * modules/unistr/u16-strcmp: New file.
69426         * modules/unistr/u32-strcmp: New file.
69427         * lib/unistr/u8-strcmp.c: New file.
69428         * lib/unistr/u16-strcmp.c: New file.
69429         * lib/unistr/u32-strcmp.c: New file.
69430
69431         * modules/unistr/u8-strcpy: New file.
69432         * modules/unistr/u16-strcpy: New file.
69433         * modules/unistr/u32-strcpy: New file.
69434         * lib/unistr/u8-strcpy.c: New file.
69435         * lib/unistr/u16-strcpy.c: New file.
69436         * lib/unistr/u32-strcpy.c: New file.
69437         * lib/unistr/u-strcpy.h: New file.
69438
69439         * modules/unistr/u8-strcspn: New file.
69440         * modules/unistr/u16-strcspn: New file.
69441         * modules/unistr/u32-strcspn: New file.
69442         * lib/unistr/u8-strcspn.c: New file.
69443         * lib/unistr/u16-strcspn.c: New file.
69444         * lib/unistr/u32-strcspn.c: New file.
69445         * lib/unistr/u-strcspn.h: New file.
69446
69447         * modules/unistr/u8-strdup: New file.
69448         * modules/unistr/u16-strdup: New file.
69449         * modules/unistr/u32-strdup: New file.
69450         * lib/unistr/u8-strdup.c: New file.
69451         * lib/unistr/u16-strdup.c: New file.
69452         * lib/unistr/u32-strdup.c: New file.
69453         * lib/unistr/u-strdup.h: New file.
69454
69455         * modules/unistr/u8-strlen: New file.
69456         * modules/unistr/u16-strlen: New file.
69457         * modules/unistr/u32-strlen: New file.
69458         * lib/unistr/u8-strlen.c: New file.
69459         * lib/unistr/u16-strlen.c: New file.
69460         * lib/unistr/u32-strlen.c: New file.
69461         * lib/unistr/u-strlen.h: New file.
69462
69463         * modules/unistr/u8-strmblen: New file.
69464         * modules/unistr/u16-strmblen: New file.
69465         * modules/unistr/u32-strmblen: New file.
69466         * lib/unistr/u8-strmblen.c: New file.
69467         * lib/unistr/u16-strmblen.c: New file.
69468         * lib/unistr/u32-strmblen.c: New file.
69469
69470         * modules/unistr/u8-strmbtouc: New file.
69471         * modules/unistr/u16-strmbtouc: New file.
69472         * modules/unistr/u32-strmbtouc: New file.
69473         * lib/unistr/u8-strmbtouc.c: New file.
69474         * lib/unistr/u16-strmbtouc.c: New file.
69475         * lib/unistr/u32-strmbtouc.c: New file.
69476
69477         * modules/unistr/u8-strncat: New file.
69478         * modules/unistr/u16-strncat: New file.
69479         * modules/unistr/u32-strncat: New file.
69480         * lib/unistr/u8-strncat.c: New file.
69481         * lib/unistr/u16-strncat.c: New file.
69482         * lib/unistr/u32-strncat.c: New file.
69483         * lib/unistr/u-strncat.h: New file.
69484
69485         * modules/unistr/u8-strncmp: New file.
69486         * modules/unistr/u16-strncmp: New file.
69487         * modules/unistr/u32-strncmp: New file.
69488         * lib/unistr/u8-strncmp.c: New file.
69489         * lib/unistr/u16-strncmp.c: New file.
69490         * lib/unistr/u32-strncmp.c: New file.
69491
69492         * modules/unistr/u8-strncpy: New file.
69493         * modules/unistr/u16-strncpy: New file.
69494         * modules/unistr/u32-strncpy: New file.
69495         * lib/unistr/u8-strncpy.c: New file.
69496         * lib/unistr/u16-strncpy.c: New file.
69497         * lib/unistr/u32-strncpy.c: New file.
69498         * lib/unistr/u-strncpy.h: New file.
69499
69500         * modules/unistr/u8-strnlen: New file.
69501         * modules/unistr/u16-strnlen: New file.
69502         * modules/unistr/u32-strnlen: New file.
69503         * lib/unistr/u8-strnlen.c: New file.
69504         * lib/unistr/u16-strnlen.c: New file.
69505         * lib/unistr/u32-strnlen.c: New file.
69506         * lib/unistr/u-strnlen.h: New file.
69507
69508         * modules/unistr/u8-strpbrk: New file.
69509         * modules/unistr/u16-strpbrk: New file.
69510         * modules/unistr/u32-strpbrk: New file.
69511         * lib/unistr/u8-strpbrk.c: New file.
69512         * lib/unistr/u16-strpbrk.c: New file.
69513         * lib/unistr/u32-strpbrk.c: New file.
69514         * lib/unistr/u-strpbrk.h: New file.
69515
69516         * modules/unistr/u8-strrchr: New file.
69517         * modules/unistr/u16-strrchr: New file.
69518         * modules/unistr/u32-strrchr: New file.
69519         * lib/unistr/u8-strrchr.c: New file.
69520         * lib/unistr/u16-strrchr.c: New file.
69521         * lib/unistr/u32-strrchr.c: New file.
69522
69523         * modules/unistr/u8-strspn: New file.
69524         * modules/unistr/u16-strspn: New file.
69525         * modules/unistr/u32-strspn: New file.
69526         * lib/unistr/u8-strspn.c: New file.
69527         * lib/unistr/u16-strspn.c: New file.
69528         * lib/unistr/u32-strspn.c: New file.
69529         * lib/unistr/u-strspn.h: New file.
69530
69531         * modules/unistr/u8-strstr: New file.
69532         * modules/unistr/u16-strstr: New file.
69533         * modules/unistr/u32-strstr: New file.
69534         * lib/unistr/u8-strstr.c: New file.
69535         * lib/unistr/u16-strstr.c: New file.
69536         * lib/unistr/u32-strstr.c: New file.
69537         * lib/unistr/u-strstr.h: New file.
69538
69539         * modules/unistr/u8-strtok: New file.
69540         * modules/unistr/u16-strtok: New file.
69541         * modules/unistr/u32-strtok: New file.
69542         * lib/unistr/u8-strtok.c: New file.
69543         * lib/unistr/u16-strtok.c: New file.
69544         * lib/unistr/u32-strtok.c: New file.
69545         * lib/unistr/u-strtok.h: New file.
69546
69547         * modules/unistr/u8-uctomb: New file.
69548         * modules/unistr/u16-uctomb: New file.
69549         * modules/unistr/u32-uctomb: New file.
69550         * lib/unistr/u8-uctomb.c: New file.
69551         * lib/unistr/u16-uctomb.c: New file.
69552         * lib/unistr/u32-uctomb.c: New file.
69553
69554         * MODULES.html.sh (Unicode string functions): Add the new modules.
69555
69556 2007-01-08  Bruno Haible  <bruno@clisp.org>
69557
69558         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
69559         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
69560         subdirectories.
69561
69562 2007-01-08  Karl Berry  <karl@gnu.org>
69563
69564         * doc/error.texi: mention that main() fns must set program_name
69565         when progname is used.
69566
69567 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
69568
69569         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
69570         WCTYPE_H is empty, for the benefit of builds from non-distclean
69571         directories.  Problem reported by Eric Blake in
69572         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
69573
69574 2007-01-08  Bruno Haible  <bruno@clisp.org>
69575
69576         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
69577         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
69578         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
69579         PROVIDE_CANONICALIZE_FILENAME_MODE.
69580         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
69581
69582 2007-01-08  Bruno Haible  <bruno@clisp.org>
69583
69584         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
69585         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
69586         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
69587         * lib/fts.c: Likewise.
69588         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
69589
69590 2006-12-25  Bruno Haible  <bruno@clisp.org>
69591
69592         * modules/utf8-ucs4-safe: New file.
69593         * lib/utf8-ucs4-safe.h: New file.
69594         * lib/unistr/utf8-ucs4-safe.c: New file.
69595
69596         * modules/utf16-ucs4-safe: New file.
69597         * lib/utf16-ucs4-safe.h: New file.
69598         * lib/unistr/utf16-ucs4-safe.c: New file.
69599
69600         * MODULES.html.sh (Unicode string functions): Add the new modules.
69601
69602 2007-01-08  Bruno Haible  <bruno@clisp.org>
69603
69604         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
69605         (Depends-on): Add unitypes.
69606         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69607         (u8_mbtouc_aux): Move out to separate file.
69608         (u8_mbtouc): Use ucs4_t, uint8_t types.
69609         * lib/unistr/utf8-ucs4.c: New file.
69610
69611         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
69612         (Depends-on): Add unitypes.
69613         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69614         (u16_mbtouc_aux): Move out to separate file.
69615         (u16_mbtouc): Use ucs4_t, uint16_t types.
69616         * lib/unistr/utf16-ucs4.c: New file.
69617
69618         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
69619         (Depends-on): Add unitypes.
69620         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
69621         (u8_uctomb_aux): Move out to separate file.
69622         (u8_uctomb): Use ucs4_t, uint8_t types.
69623         * lib/unistr/ucs4-utf8.c: New file.
69624
69625         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
69626         (Depends-on): Add unitypes.
69627         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
69628         (u16_uctomb_aux): Move out to separate file.
69629         (u16_uctomb): Use ucs4_t, uint16_t types.
69630         * lib/unistr/ucs4-utf16.c: New file.
69631
69632 2006-12-25  Bruno Haible  <bruno@clisp.org>
69633
69634         * modules/unitypes: New file.
69635         * lib/unitypes.h: New file.
69636         * MODULES.html.sh (func_all_modules): New section "Unicode string
69637         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
69638         this section. Add unitypes.
69639
69640 2007-01-08  Bruno Haible  <bruno@clisp.org>
69641
69642         Avoid variable names that conflict with those from libtool.
69643         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
69644         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
69645         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
69646         library_names_spec to acl_library_names_spec, hardcode_* to
69647         acl_hardcode_*.
69648         Reported by Ralf Wildenhues.
69649
69650 2007-01-08  Bruno Haible  <bruno@clisp.org>
69651
69652         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
69653         definition.
69654         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
69655         definition.
69656         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
69657         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
69658         definition.
69659         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
69660         definition.
69661         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
69662         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
69663         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
69664         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
69665         definition.
69666         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
69667         definition.
69668         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
69669         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
69670         GC_USE_<algorithm>.
69671         * lib/gc-libgcrypt.c: Likewise.
69672         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
69673         * modules/gc-arctwo (configure.ac): Likewise.
69674         * modules/gc-des (configure.ac): Likewise.
69675         * modules/gc-hmac-md5 (configure.ac): Likewise.
69676         * modules/gc-hmac-sha1 (configure.ac): Likewise.
69677         * modules/gc-md2 (configure.ac): Likewise.
69678         * modules/gc-md4 (configure.ac): Likewise.
69679         * modules/gc-md5 (configure.ac): Likewise.
69680         * modules/gc-random (configure.ac): Likewise.
69681         * modules/gc-rijndael (configure.ac): Likewise.
69682         * modules/gc-sha1 (configure.ac): Likewise.
69683
69684 2007-01-08  Bruno Haible  <bruno@clisp.org>
69685
69686         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69687         macro definition.
69688         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69689         definition.
69690         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69691         definition.
69692         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69693         * modules/fcntl-safer (configure.ac): Likewise.
69694         * modules/fopen-safer (configure.ac): Likewise.
69695         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69696         GNULIB_FWRITEERROR macro definition.
69697
69698 2007-01-08  Bruno Haible  <bruno@clisp.org>
69699
69700         * m4/gnulib-common.m4: New file.
69701         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69702         (func_get_filelist): Add m4/gnulib-common.m4.
69703
69704 2007-01-08  Bruno Haible  <bruno@clisp.org>
69705
69706         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69707         command.
69708
69709 2007-01-08  Jim Meyering  <jim@meyering.net>
69710
69711         Use a more robust test for a "can't happen" condition.
69712         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69713         narrowed the st_size value.  Presuming the "can't happen" condition
69714         is true, that narrowing could conceivably convert an invalid st_size
69715         value into a valid one.  Instead, use a change based on Matthew
69716         Woehlke's original patch.
69717
69718         Slight readability improvement: use an assert-like macro
69719         in place of literal "abort ()" uses.
69720         * lib/fts.c (fts_assert): Define.
69721         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69722         Use this macro instead of a bare 'abort'.
69723
69724 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69725
69726         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69727         simply work around them.
69728         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69729         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69730         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69731         declaring.
69732         Don't bother to define as macros, since the standard doesn't require it.
69733         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69734         longer worry about IRIX 5.3.
69735         (HAVE_WCTYPE_CTMP_BUG): Remove.
69736
69737 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69738
69739         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69740         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69741         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69742         Problems reported by Georg Schwarz for IRIX 5.3.
69743
69744         * gnulib-tool (autoconf_minversion): Take the maximum version number
69745         found, not the minimum.  Problem reported by James Youngman.
69746
69747 2007-01-03  Karl Berry  <karl@gnu.org>
69748
69749         * doc/error.texi: new file, explaining interaction with progname.
69750         * doc/gnulib.texi: include it.  Update copyright.
69751
69752 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69753
69754         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69755         AC_CANONICAL_HOST, to improve autobuild outputs.
69756
69757 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69758             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69759
69760         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69761         sockets, server sockets, and other file descriptors.  Count errors
69762         to compute the return value.  Reorder the code a bit to be easier
69763         to follow.  Don't set event bits that were not requested (except
69764         POLLERR and POLLHUP).
69765
69766 2007-01-01  Bruno Haible  <bruno@clisp.org>
69767
69768         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69769
69770 2007-01-03  Jim Meyering  <jim@meyering.net>
69771
69772         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69773
69774 2007-01-02  Bruno Haible  <bruno@clisp.org>
69775
69776         * modules/settime (Include): Require timespec.h.
69777         * modules/nanosleep (Include): Likewise.
69778
69779 2007-01-01  Bruno Haible  <bruno@clisp.org>
69780
69781         * gnulib-tool (func_emit_copyright_notice): Bump year.
69782         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69783
69784 2007-01-01  Bruno Haible  <bruno@clisp.org>
69785
69786         Improve support for OpenBSD.
69787         * build-aux/config.rpath (libname_spec): Export.
69788         (library_names_spec): New variable. Export.
69789         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69790         library_names_spec from the config.rpath output. Locate shared library
69791         through the name pattern in library_names_spec.
69792
69793 2007-01-01  Eric Blake  <ebb9@byu.net>
69794
69795         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69796
69797 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69798
69799         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69800         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69801         assume the C locale, and avoid an "eval" that could cause trouble.
69802         Problem with SORT reported by Bob Proulx.
69803
69804         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69805         Define.  Trivial patch from Henning Nielsen Lund, originally
69806         sent to bug-grep@gnu.org today.
69807
69808 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69809
69810         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69811         struct stat.  Problem reported by Henning Nielsen Lund.
69812         * lib/acl.c: Include acl.h first, to check interface.  Don't
69813         bother to include sys/types.h and sys/stat.h again.
69814
69815 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69816
69817         Import the following change from libc; problem reported by
69818         Sven Verdoolaege.
69819
69820         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
69821
69822         [BZ #1373]
69823         * lib/argp.h: Remove __NTH for __argp_usage inline function.
69824
69825 2006-12-28  Jim Meyering  <jim@meyering.net>
69826
69827         * build-aux/announce-gen: Do not assume that the package
69828         builds any of tar.gz, tar.bz2, and .xdelta files.
69829         Suggestion from Simon Josefsson.
69830
69831 2006-12-28  Simon Josefsson  <simon@josefsson.org>
69832
69833         * modules/announce-gen: New file.
69834
69835 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
69836
69837         * lib/mbchar.h: Just include <wctype.h>; the wctype module
69838         handles its gotchas now.
69839         * lib/mbswidth.c: Likewise.
69840         * lib/wcwidth.h: Likewise.
69841         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
69842         and iswcntrl; the wctype module does this stuff now.
69843         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69844         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69845         * modules/mbchar (Depends-on): Add wctype.
69846         * modules/mbswidth (Depends-on): Likewise.
69847         * modules/wcwidth (Depends-on): Likewise.
69848
69849 2006-12-27  Eric Blake  <ebb9@byu.net>
69850
69851         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69852         module uses more than what <wctype.h> is required to provide.
69853
69854 2006-12-26  Eric Blake  <ebb9@byu.net>
69855
69856         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69857
69858 2006-12-26  Eric Blake  <ebb9@byu.net>
69859
69860         * modules/absolute-header: New module.
69861         * modules/fcntl (Depends-on): Depend on it.
69862         * modules/inttypes (Depends-on): Likewise.
69863         * modules/stdint (Depends-on): Likewise.
69864         * modules/sys_stat (Depends-on): Likewise.
69865         * modules/wctype (Depends-on): Likewise.
69866         * MODULES.html.sh (Support for building libraries and
69867         executables): Document it.
69868
69869 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69870
69871         * gnulib-tool (SED): Remove, undoing previous change.
69872         The problem was that it broke coreutils on Solaris, because
69873         "sed --posix" leaked into a makefile.
69874         (sed): New alias, if 'alias' and GNU sed.
69875
69876 2006-12-24  Jim Meyering  <jim@meyering.net>
69877
69878         Work around an fchownat bug in glibc-2.4:
69879         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69880         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69881         in spite of the -P option.
69882         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69883         New macros.
69884         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69885         * modules/openat (Files): Add lib/fchownat.c.
69886         * lib/openat.c (fchownat): Don't define here.  Move to...
69887         * lib/fchownat.c: ...this new file.
69888
69889 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69890
69891         Fix bug reported by Bruno Haible in
69892         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69893         where quotearg.c didn't compile on Mac OS X 10.2 because it
69894         lacks <wchar.h> and wint_t.
69895         * lib/wctype_.h (__wctype_wint_t): New type.
69896         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69897         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69898         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69899         Arg is now of type __wctype_wint_t, not wint_t.
69900         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69901         substitute HAVE_WINT_T.
69902         * modules/wctype (Files): Add m4/wint_t.m4.
69903         (wctype.h): Substitute HAVE_WINT_T.
69904
69905 2006-12-23  Bruno Haible  <bruno@clisp.org>
69906
69907         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69908
69909 2006-12-23  Bruno Haible  <bruno@clisp.org>
69910
69911         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69912         S_ISLNK.
69913         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69914         mingw.
69915
69916 2006-12-22  Bruno Haible  <bruno@clisp.org>
69917
69918         * lib/copy-file.c: Include acl.h.
69919         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69920         Close the file descriptors only after being done with copy_acl.
69921         * modules/copy-file (Depends-on): Add acl.
69922
69923 2006-12-22  Bruno Haible  <bruno@clisp.org>
69924
69925         * gnulib-tool (SED): New variable.
69926         Use $SED instead of sed everywhere.
69927
69928 2006-12-22  Bruno Haible  <bruno@clisp.org>
69929
69930         * modules/no-c++: New file.
69931         * m4/no-c++.m4: New file.
69932         * MODULES.html.sh (Support for building libraries and executables):
69933         Add no-c++.
69934
69935 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69936
69937         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69938         Include <limits.h>, and use its INT_MAX to rewrite the
69939         j loop so that it does not overflow 'int'.  Problem reported by
69940         Ralf Wildenhues in
69941         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69942         Play it safe by shifting left by 1 rather than multiplying by 2,
69943         as GCC is less likely to optimize this away when the value
69944         is signed (when it assumes overflow leads to undefined behavior).
69945         Also, don't assume time_t uses two's complement.
69946
69947 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69948
69949         * MODULES.html.sh: New module wctype.
69950         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69951         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69952         <wctype.h>, since the new wctype module should fix this.
69953         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69954         the wctype module should arrange for it.
69955         * lib/regex_internal.h: Likewise.
69956         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69957         since the wctype module should handle this now.
69958         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
69959         * modules/fnmatch (Depends-on): Add wctype.
69960         * modules/quotearg (Depends-on): Likewise.
69961         * modules/regex (Depends-on): Likewise.
69962
69963 2006-12-19  Bruno Haible  <bruno@clisp.org>
69964
69965         * lib/strdup.h [C++]: Wrap definitions in extern "C".
69966         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
69967
69968 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69969
69970         * modules/savewd (Depends-on): Fix dependency on fcntl.
69971
69972 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69973
69974         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
69975         conforms to C99, rather than relying on the user's environment
69976         setting of STDINT_H.
69977
69978 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69979         and Eric Blake  <ebb9@byu.net>
69980
69981         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
69982         This is more consistent with the other defines here.
69983         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
69984         Port to z/OS.  Problem reported by Paul Gilmartin.
69985         Change local vars to use gl_ prefix rather than ac_.
69986         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
69987         with other defines.
69988         * modules/double-slash-root: New module.
69989         * modules/dirname (Files): Remove m4/double-slash-root.m4.
69990         (Depends-on): Add double-slash-root.
69991         * MODULES.html.sh (File system functions): Mention new module.
69992
69993 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
69994
69995         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
69996         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
69997         This is for the benefit of gzip, which doesn't do i18n.
69998
69999 2006-12-12  Jim Meyering  <jim@meyering.net>
70000
70001         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
70002         Reported by Andreas Schwab <schwab@suse.de>.
70003
70004 2006-12-12  Bruno Haible  <bruno@clisp.org>
70005
70006         Merge these changes.
70007         2006-09-05  Bruno Haible  <bruno@clisp.org>
70008         * lib/iconvme.c (iconv_string): No need to save and restore errno when
70009         iconv_alloc succeeded.
70010         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
70011         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
70012         test for " && dest " at the end - dest is always != NULL there. Call
70013         iconv with 4xNULL arguments initially, to reset the state. Call iconv
70014         with 2xNULL arguments, also to flush the state storage. Handle the
70015         IRIX iconv behaviour. Realloc the final result, to throw away unused
70016         memory.
70017
70018 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
70019
70020         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
70021         and fchmodat unconditionally, since glibc 2.4 has them.
70022         Problem reported by Arkadiusz Miskiewicz.
70023
70024 2006-12-10  Bruno Haible  <bruno@clisp.org>
70025
70026         * gnulib-tool (func_import): Show the include files only for those
70027         modules that are copied and specified.
70028         Reported by Karl Berry.
70029
70030 2006-12-08  Jim Meyering  <jim@meyering.net>
70031
70032         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
70033         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
70034
70035         * build-aux/announce-gen: Add two new options, both optional:
70036         --bootstrap-tools=TOOL_LIST
70037               a comma-separated list of tools, e.g.,
70038               autoconf,automake,bison,gnulib
70039         --gnulib-snapshot-date=DATE
70040               if gnulib is in the bootstrap tool list,
70041               then report this as the snapshot date.
70042               If not specified, use the current date/time.
70043               If you specify a date here, be sure it's UTC.
70044
70045 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70046
70047         * tests/test-argp-2.sh: Fix test to match actual output.
70048         (func_compare): Fix sed script to be portable.
70049
70050 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
70051
70052         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
70053         workaround for this case.  It is not autoconfigured now; offhand
70054         it's hard to see how to autoconfigure it.
70055
70056 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
70057
70058         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
70059         a directory that is about to be chowned.  Such a directory's
70060         initial file permissions should permit the owner only and this
70061         should not be changed until after the chown, since the group and
70062         other bits would be incorrect if they granted permission before
70063         the chown.
70064
70065         Fix porting problem for iswctype reported by Georg Schwarz in:
70066         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
70067         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
70068         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
70069         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
70070         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
70071
70072 2006-12-03  Jim Meyering  <jim@meyering.net>
70073
70074         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
70075         p->fts_statp may not yet be defined.
70076         (fts_read): Instead, set it in the caller, once p->fts_statp is
70077         sure to be defined, and corresponds to a top-level directory.
70078         This bug made du -x fail.  Here's the coreutils test case:
70079         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
70080         Reported by Mike Frysinger.
70081
70082 2006-12-01  Jim Meyering  <jim@meyering.net>
70083
70084         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
70085         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
70086         Reported by Simon Josefsson.
70087
70088 2006-11-30  Jim Meyering  <jim@meyering.net>
70089
70090         * m4/warning.m4: Use the all-permissive copyright notice
70091         recommended by RMS (rather than LGPL).
70092         * m4/vararrays.m4: Likewise.
70093         * m4/flexmember.m4: Likewise.
70094
70095 2006-11-29  Bruno Haible  <bruno@clisp.org>
70096
70097         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70098         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
70099         using +=.
70100         Reported by Simon Josefsson <simon@josefsson.org>.
70101
70102 2006-11-28  James Youngman <jay@gnu.org>
70103
70104         * README: Advise users that they might find the bug-gnulib@gnu.org
70105         and autotools-announce@gnu.org mailing lists useful.
70106
70107 2006-11-28  Bruno Haible  <bruno@clisp.org>
70108
70109         * m4/ptrdiff_max.m4: Remove file.
70110
70111 2006-11-21  Bruno Haible  <bruno@clisp.org>
70112
70113         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
70114         _AC_COMPUTE_INT.
70115         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70116         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
70117         _AC_COMPUTE_INT.
70118         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70119         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
70120         _AC_COMPUTE_INT.
70121         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70122
70123 2006-11-28  Jim Meyering  <jim@meyering.net>
70124
70125         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
70126         warning from "gcc -Wshadow" about shadowing the builtin.
70127
70128 2006-11-27  Bruno Haible  <bruno@clisp.org>
70129
70130         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
70131         _AC_COMPUTE_INT.
70132         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70133
70134 2006-11-27  Bruno Haible  <bruno@clisp.org>
70135             Paul Eggert  <eggert@cs.ucla.edu>
70136
70137         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
70138
70139 2006-11-26  Bruno Haible  <bruno@clisp.org>
70140
70141         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70142         noinst_LTLIBRARIES.
70143
70144 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
70145             Bruno Haible  <bruno@clisp.org>
70146
70147         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
70148         if compiling with "gcc -ansi".
70149
70150 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
70151
70152         Fix some incompatibilities with gcc -ansi -pedantic.
70153         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
70154         if compiling pedantically with GCC, unless it's C99 or later.
70155         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
70156         it mishandles gcc -ansi -pedantic as well.
70157         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
70158         if gcc -pedantic.
70159         * lib/regexec.c (check_node_accept_bytes): Don't use auto
70160         initializers for struct if -pedantic, unless it's C99 or later.
70161
70162 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
70163
70164         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
70165         Don't close an fd more than once. Identical atimes indicate
70166         success, not failure.
70167
70168 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
70169
70170         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
70171
70172 2006-11-23  Jim Meyering  <jim@meyering.net>
70173
70174         * build-aux/announce-gen: New file.  From coreutils.
70175
70176 2006-11-22  Jim Meyering  <jim@meyering.net>
70177
70178         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
70179         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
70180         (fts_read): Use a temporary to narrow the overused st_size member
70181         before using it in a switch statement.  Reported by Matthew Woehlke.
70182
70183         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
70184         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
70185
70186 2006-11-20  Bruno Haible  <bruno@clisp.org>
70187
70188         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
70189         changequote instead of pairs of brackets.
70190         Reported by Andreas Schwab <schwab@suse.de>.
70191
70192 2006-11-21  Jim Meyering  <jim@meyering.net>
70193
70194         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
70195         so as to remain compatible with older compilers.
70196         Patch from Michael Deutschmann.
70197
70198 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70199
70200         * MODULES.html.sh (File system functions): Add openat.
70201
70202         * lib/openat.h (rpl_fstatat): New macro, if
70203         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
70204         (fstatat): Define to rpl_fstatat under the same conditions,
70205         unless COMPILING_FSTATAT.
70206         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
70207         seems to have the bug.
70208         * lib/fstatat.c: New file.
70209         * modules/openat (Files): Add it.
70210
70211 2006-11-20  Bruno Haible  <bruno@clisp.org>
70212
70213         * Makefile: New file.
70214
70215 2006-11-20  Jim Meyering  <jim@meyering.net>
70216
70217         The beginnings of syntax-related checks for gnulib.
70218         * lib/Makefile: New file.
70219         * lib/t-idcache: New script.  Ensure that the two halves of
70220         idcache.c stay in sync.
70221
70222         * lib/idcache.c: Adjust comments in user- and group- portions to
70223         be more accurate, and to be consistent with one another.
70224
70225 2006-11-20  Jim Meyering  <jim@meyering.net>
70226
70227         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
70228         continue using the flexible array member (thus, this module performs
70229         half as many malloc calls), with the addition that...
70230         (getgroup, getuser): Consistently record a non-match via an empty
70231         "name" string, and map an empty string match to a NULL return value.
70232         * modules/idcache (Depends-on): Re-add flexmember.
70233
70234         * lib/idcache.c (getuser): Remove all uses of the register keyword.
70235         (getuidbyname, getgroup, getgidbyname): Likewise.
70236
70237         Use cleaner syntax: NULL rather than 0.
70238         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
70239
70240 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70241
70242         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
70243         It mishandled the case where the group was missing.
70244         Problem reported by Greg Schafer.
70245         * modules/idcache: Likewise.
70246
70247 2006-11-18  Jim Meyering  <jim@meyering.net>
70248
70249         * check-module (%exempt_header): Add exception for some
70250         conditionally-included headers.
70251
70252         * modules/i-ring (Depends-on): Add verify.
70253         (License): Change to LGPL.
70254
70255 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70256
70257         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
70258         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
70259         and inttostr.h.  Use snprintf rather than uinttostr, so that
70260         LGPLed code doesn't depend on GPLed.
70261
70262 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70263
70264         * modules/inline (License): Change from GPL to LGPL.
70265
70266 2006-11-17  Jim Meyering  <jim@meyering.net>
70267
70268         * modules/d-type (License): Switch to LGPL.
70269
70270 2006-11-15  Bruno Haible  <bruno@clisp.org>
70271
70272         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
70273
70274 2006-11-15  Eric Blake  <ebb9@byu.net>
70275
70276         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
70277         the module dependency.
70278
70279 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70280             Bruno Haible  <bruno@clisp.org>
70281
70282         * gnulib-tool (func_create_testdir): Add license consistency check.
70283
70284 2006-11-15  Eric Blake  <ebb9@byu.net>
70285
70286         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
70287         random "(cached)" in configure output.
70288
70289 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70290
70291         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
70292         test for conforming inttypes.h is both announced and cached.
70293
70294         * MODULES.html.sh (seen_modules, seen_files): New variables.
70295         (func_module): Rewrite to use a few less gnulib-tool and sed
70296         invocations.  Avoid a couple of quadratic algorithms for ...
70297         (missed_modules, missed_files): ... these, with ...
70298         (func_append, func_tmpdir): ... these new functions, from
70299         gnulib-tool.  Analogously, install traps for cleanup.
70300
70301         * tests/test-gc.c (main): Remove unused variables.
70302         * tests/test-read-file.c: Include stdlib.h, for 'free'.
70303
70304 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
70305
70306         * modules/inttostr (License): Change to LGPL.
70307
70308 2006-11-14  Eric Blake  <ebb9@byu.net>
70309
70310         * modules/tempname (License): Change to LGPL.
70311
70312 2006-11-14  Eric Blake  <ebb9@byu.net>
70313
70314         * doc/functions.texi (Function Portability): *printf functions on
70315         Cygwin now understand all POSIX size specifiers.
70316
70317 2006-11-14  Bruno Haible  <bruno@clisp.org>
70318
70319         * modules/c-ctype (License): Change to LGPL.
70320
70321 2006-11-12  Bruno Haible  <bruno@clisp.org>
70322
70323         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
70324         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
70325         for GNOME libraries, for which the include files are installed in
70326         subdirectories of $prefix/include.
70327
70328 2006-11-12  Bruno Haible  <bruno@clisp.org>
70329
70330         * m4/lib-link.m4: Require at least autoconf-2.54.
70331         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
70332         name to underscores for the --with option.
70333
70334 2006-11-13  Bruno Haible  <bruno@clisp.org>
70335
70336         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
70337         the tests directory.
70338         Reported by Ralf Wildenhues.
70339
70340 2006-11-13  Bruno Haible  <bruno@clisp.org>
70341
70342         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
70343         (func_emit_initmacro_end): Undo the override here.
70344         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
70345         Works around the famous automake error in coreutils.
70346
70347 2006-11-13  Eric Blake  <ebb9@byu.net>
70348
70349         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
70350         element, not its node.
70351
70352 2006-11-12  Bruno Haible  <bruno@clisp.org>
70353
70354         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
70355         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
70356
70357 2006-11-12  Bruno Haible  <bruno@clisp.org>
70358
70359         * gnulib-tool: New option --local-symlink.
70360         (func_usage): Document it.
70361         (lsymbolic): New variable.
70362         (func_import, func_create_testdir): If --symlink was not specified,
70363         test whether --local-symlink was specified and the file comes from
70364         the local_gnulib_dir.
70365
70366 2006-11-12  Bruno Haible  <bruno@clisp.org>
70367
70368         * gnulib-tool (func_ln): New function.
70369         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
70370
70371 2006-11-12  Bruno Haible  <bruno@clisp.org>
70372
70373         Finish support for source files in subdirectories.
70374         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
70375         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
70376         AUTOMAKE_OPTIONS.
70377         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
70378
70379 2006-11-12  Bruno Haible  <bruno@clisp.org>
70380
70381         * gnulib-tool (func_get_automake_snippet): Synthesize also an
70382         EXTRA_lib_SOURCES augmentation.
70383         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
70384
70385 2006-11-12  Jim Meyering  <jim@meyering.net>
70386
70387         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
70388         file descriptors.  This also averts a failure on systems with
70389         native openat support when a traversed directory lacks "x" access.
70390         * lib/fts_.h: Include "i-ring.h"
70391         (struct FTS) [fts_fd_ring]: New member.
70392         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
70393         (FCHDIR): Add parentheses.
70394         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
70395         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
70396         When descending, rather than simply closing the previous
70397         fts_cwd_fd value, push that file descriptor onto the ring.
70398         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
70399         (fts_open): Initialize the new fd_ring member.
70400         (fts_close): Clear the ring.
70401         (fts_safe_changedir): When possible, use our new fd_ring to skip
70402         the diropen and fstat and dev/ino comparison that would normally
70403         accompany a virtual `chdir ("..")'.
70404
70405         * modules/fts (Depends-on): Add i-ring.
70406         * modules/i-ring: New module.
70407         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
70408         * m4/i-ring.m4: New file.
70409
70410 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70411
70412         * gnulib-tool (func_create_testdir): Fix replacement of
70413         `build-aux' in configure.ac.  Run autotools in gltests
70414         subdirectory.
70415         (func_create_testdir, func_create_megatestdir, test): There is
70416         no need for '--force' in most autotool invocations in a new
70417         tree.  Actually fail the whole test if any of the tools, or the
70418         configure or make stages fail.
70419
70420         Sync from Automake.
70421         * build-aux/gnupload: Revert last change.  Add pointer to upload
70422         instructions of the GNU Maintenance Instructions.
70423         Suggestion by Karl Berry.
70424
70425 2006-11-10  Jim Meyering  <jim@meyering.net>
70426
70427         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
70428
70429 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70430
70431         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
70432         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
70433         (bind_textdomain_codeset) [! ENABLE_NLS]:
70434         Evaluate all the arguments.  That way, callers get compatible behavior
70435         if the arguments have side effects.  Also, it avoids some GCC
70436         diagnostics in some cases; Joel E. Denny reported problems when Bison
70437         was configured with --enable-gcc-warnigs.
70438
70439 2006-11-10  Jim Meyering  <jim@meyering.net>
70440
70441         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
70442         relevant options in CFLAGS (like -O, -fno-inline) are taken into
70443         account.
70444
70445 2006-11-10  Jim Meyering  <jim@meyering.net>
70446
70447         * modules/inline: New file/module.
70448         * modules/xalloc (Files): Remove m4/inline.m4.
70449         (Depends-on): Add inline, instead.
70450         * modules/oset: Likewise.
70451         * modules/list: Likewise.
70452
70453 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70454
70455         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
70456         Problem reported by Matthew Woehlke.
70457
70458 2006-11-09  Bruno Haible  <bruno@clisp.org>
70459
70460         * lib/tempname.c (gen_tempname): Remove variant that invokes
70461         __gen_tempname.
70462         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
70463         __gen_tempname.
70464
70465 2006-11-08  Bruno Haible  <bruno@clisp.org>
70466
70467         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
70468         to 'yes' instead of 'cross-compiling'.
70469
70470 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
70471
70472         * lib/quotearg.h (quotearg_free): New decl.
70473         * lib/quotearg.c (quotearg_free): New function.
70474         (slot0, nslots, slotvec0, slotvec):
70475         Now file-scope so that quotearg_free can get at them.
70476
70477 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70478
70479         Sync from Automake.
70480         * build-aux/gnupload: Add missing 'gnu' to example URL.
70481         Report by Karl Berry.
70482
70483 2006-11-08  Bruno Haible  <bruno@clisp.org>
70484
70485         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
70486         Suggested by Paul Eggert.
70487
70488 2006-11-08  Jim Meyering  <jim@meyering.net>
70489
70490         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
70491         It's already included if !_LIBC.
70492         (fts_safe_changedir): Add a comment.
70493
70494 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70495
70496         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
70497         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
70498         Matthew Woehlke.
70499
70500         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
70501         definitions up, to avoid colliding with change below.
70502         (static_inline) [HAVE_INLINE]: New macro.
70503         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
70504         Provide extern decls when !HAVE_INLINE.  Do not define unless
70505         static_inline is defined, either by us or by xmalloc.c.  Use
70506         static_inline rather than static inline.
70507         (XCALLOC): Optimize sizeof(T) = 1 case.
70508         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
70509
70510 2006-11-07  Bruno Haible  <bruno@clisp.org>
70511
70512         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
70513         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
70514         AC_C_INLINE.
70515         * modules/xalloc (Files): Add m4/inline.m4.
70516
70517 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70518
70519         * README: Fix typo.
70520         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
70521         (Miscellanous Notes): ...from this.
70522
70523 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70524
70525         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
70526         Mention that offsetof should be used instead of sizeof.
70527         From Bruno Haible.
70528
70529 2006-11-07  Bruno Haible  <bruno@clisp.org>
70530
70531         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
70532
70533 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70534
70535         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70536         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
70537         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70538         (gl_tree_add_before, gl_tree_add_after):
70539         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
70540         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
70541         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70542         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
70543         (gl_linked_add_after, gl_linked_add_at): Likewise.
70544         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
70545         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70546         (gl_tree_add_before, gl_tree_add_after): Likewise.
70547         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
70548         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
70549         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70550
70551 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70552
70553         * lib/gl_oset.h: Use C comment style, not C++ comment style.
70554
70555 2006-11-06  Bruno Haible  <bruno@clisp.org>
70556
70557         * m4/inline.m4: New file.
70558         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
70559         * modules/list (Files): Add m4/inline.m4.
70560         * modules/oset (Files): Likewise.
70561
70562 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70563
70564         * lib/idcache.c: Include <stddef.h>, for offsetof.
70565         (struct userid.name): Change from char * to a flexible array member.
70566         All uses changed.
70567         * modules/idcache (Depends-on): Add flexmember.
70568
70569         * MODULES.html.sh (Core language properties): New module flexmember.
70570         * modules/flexmember, m4/flexmember.m4: New files.
70571
70572         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
70573         inline functions that are identical with the old xnmalloc_inline,
70574         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
70575         that we can avoid some unnecessary integer multiplications and
70576         divisions in the common case where the element size is known at
70577         compile time.
70578         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
70579         needed.
70580         (xnboundedmalloc): Remove.
70581         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
70582         arguments, for consistency with rest of this header.
70583         (xcharalloc): Rewrite using XNMALLOC.
70584         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
70585         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
70586         versions have been moved to lib/xalloc.h and renamed to be the
70587         non-*_inline versions.
70588         (xmalloc, xrealloc): Implement without reference to the xnmalloc
70589         and xnrealloc functions, since those functions are now inline and
70590         now call us.
70591         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
70592         renaming described above.
70593         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
70594         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
70595         captures the dependency in AC_C_INLINE.
70596
70597         New module canonicalize-lgpl, proposed by Charles Wilson in
70598         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
70599         with a few small changes afterwards.
70600         * MODULES.html.sh (File system functions): New module
70601         canonicalize-lgpl.
70602         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
70603         and canonicalize_file_name.
70604         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
70605         * modules/canonicalize-lgpl: New files.
70606
70607 2006-11-05  Bruno Haible  <bruno@clisp.org>
70608
70609         * gnulib-tool (func_import, func_create_testdir): Create directories
70610         also for files in subdirectories of lib/.
70611
70612 2006-11-05  Bruno Haible  <bruno@clisp.org>
70613
70614         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
70615         ANSI C compliant.
70616
70617 2006-11-03  Bruno Haible  <bruno@clisp.org>
70618
70619         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70620         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
70621         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
70622         (xnboundedmalloc): New inline function.
70623         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
70624         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
70625         xmalloc.
70626         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
70627         xmalloc.
70628         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
70629         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
70630         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
70631         xmalloc.
70632         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70633         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
70634         xmalloc.
70635         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
70636         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70637         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
70638         xmalloc.
70639         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70640         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
70641         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70642         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
70643         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
70644         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
70645         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
70646
70647 2006-11-03  Bruno Haible  <bruno@clisp.org>
70648
70649         * lib/c-ctype.h [C++]: Define functions without name mangling.
70650         * lib/fwriteerror.h [C++]: Likewise.
70651         * lib/gcd.h [C++]: Likewise.
70652         * lib/linebreak.h [C++]: Likewise.
70653
70654 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70655
70656         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
70657         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
70658         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
70659         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70660         Check for functions and headers just once.
70661         Check for declaration of canonicalize_file_name.
70662         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
70663
70664 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70665
70666         * gnulib-tool (func_import): Fix typo in actioncmd.
70667
70668 2006-11-02  Bruno Haible  <bruno@clisp.org>
70669
70670         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
70671         newline sequence in the Makefile.am snippet as a space, like "make"
70672         does.
70673         Reported by Roger Persson <perrog@gmail.com>.
70674
70675 2006-11-01  Bruno Haible  <bruno@clisp.org>
70676
70677         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
70678         already declared in <string.h>.
70679         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70680
70681 2006-11-01  Bruno Haible  <bruno@clisp.org>
70682
70683         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70684         * lib/strcase.h: Include <string.h>.
70685         (strcasecmp): Define to rpl_strcasecmp here.
70686
70687 2006-11-01  Bruno Haible  <bruno@clisp.org>
70688
70689         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70690
70691 2006-11-01  Eric Blake  <ebb9@byu.net>
70692
70693         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70694
70695         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70696
70697 2006-10-29  Bruno Haible  <bruno@clisp.org>
70698
70699         Make it compile in C++ mode.
70700         * lib/full-write.c (full_rw): Add a cast.
70701
70702 2006-11-01  Bruno Haible  <bruno@clisp.org>
70703
70704         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70705         be POSIX compliant.
70706         Reported by Roger Persson <perrog@gmail.com>.
70707
70708 2006-11-01  Eric Blake  <ebb9@byu.net>
70709
70710         * lib/getopt_.h: Fix comments.
70711
70712 2006-10-31  Eric Blake  <ebb9@byu.net>
70713
70714         * modules/tmpdir (Depends-on): Add sys_stat.
70715         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70716         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70717         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70718         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70719         tempname.
70720
70721 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70722
70723         Avoid some C++ diagnostics reported by Bruno Haible.
70724         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70725         xmalloc.
70726         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70727         (struct slotvec): Move to top level.
70728         (quotearg_n_options): Rewrite to avoid xmalloc.
70729         * lib/xalloc.h (xcharalloc): New function.
70730         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70731         [defined __cplusplus]: Add function template that provides result
70732         type propagation.  This part of the change is from Bruno Haible.
70733
70734 2006-10-29  Bruno Haible  <bruno@clisp.org>
70735
70736         Make it compile in C++ mode.
70737         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70738         * lib/strnlen1.c (strnlen1): Cast memchr result.
70739         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70740         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70741         (create_temp_dir): Rename local variable 'template'.
70742         (compile_csharp_using_sscli): Add cast.
70743         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70744         * lib/findprog.c (find_in_path): Likewise.
70745         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70746         * lib/wait-process.c (register_slave_subprocess): Likewise.
70747
70748 2006-10-22  Bruno Haible  <bruno@clisp.org>
70749
70750         * modules/tsearch: New file.
70751         * lib/tsearch.h: New file.
70752         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70753         * m4/tsearch.m4: New file.
70754         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70755
70756 2006-10-29  Eric Blake  <ebb9@byu.net>
70757
70758         * lib/arcfour.c: Assume config.h.
70759         * lib/arctwo.c: Likewise.
70760         * lib/base64.c: Likewise.
70761         * lib/check-version.c: Likewise.
70762         * lib/crc.c: Likewise.
70763         * lib/des.c: Likewise.
70764         * lib/gc-gnulib.c: Likewise.
70765         * lib/gc-libgcrypt.c: Likewise.
70766         * lib/gc-pbkdf2-sha1.c: Likewise.
70767         * lib/getaddrinfo.c: Likewise.
70768         * lib/getdelim.c: Likewise.
70769         * lib/getline.c: Likewise.
70770         * lib/hmac-md5.c: Likewise.
70771         * lib/hmac-sha1.c: Likewise.
70772         * lib/iconvme.c: Likewise.
70773         * lib/md2.c: Likewise.
70774         * lib/md4.c: Likewise.
70775         * lib/memxor.c: Likewise.
70776         * lib/read-file.c: Likewise.
70777         * lib/readline.c: Likewise.
70778         * lib/rijndael-alg-fst.c: Likewise.
70779         * lib/rijndael-api-fst.c: Likewise.
70780         * lib/xgetdomainname.c: Likewise.
70781
70782 2006-10-28  Eric Blake  <ebb9@byu.net>
70783
70784         * lib/xstrndup.c: Assume config.h.
70785
70786 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70787
70788         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70789         stat-macros.h is now for our own macros, whereas stat_h is for
70790         macros in the <sys/stat.h> name space.
70791         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70792         (STAT_MACROS_H): Remove.
70793         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70794         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70795         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70796         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70797         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70798         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70799         Move these macros to ...
70800         * lib/stat_.h: here.  Don't include stat-macros.h.
70801         * lib/canonicalize.c: Don't include stat-macros.h.
70802         * lib/chown.c: Likewise.
70803         * lib/euidaccess.c: Likewise.
70804         * lib/file-type.c: Likewise.
70805         * lib/filemode.c: Likewise.
70806         * lib/glob.c: Likewise.
70807         * lib/isapipe.c: Likewise.
70808         * lib/lchown.c: Likewise.
70809         * lib/lstat.c: Likewise.
70810         * lib/mkdir-p.c: Likewise.
70811         * lib/rmdir.c: Likewise.
70812         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70813         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70814         unless mkdir isn't declared, to speed up 'configure'.
70815         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70816         would define all the S_* symbols.
70817         * modules/canonicalize (Depends-on):
70818         Depend on sys_stat, not stat-macros.
70819         * modules/chown: Likewise.
70820         * modules/euidaccess: Likewise.
70821         * modules/filemode: Likewise.
70822         * modules/file-type: Likewise.
70823         * modules/glob: Likewise.
70824         * modules/isapipe: Likewise.
70825         * modules/lchown: Likewise.
70826         * modules/lstat: Likewise.
70827         * modules/mkancesdirs: Likewise.
70828         * modules/rmdir: Likewise.
70829         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
70830         * modules/modechange: Likewise.
70831         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
70832         (configure.ac): Remove gl_STAT_MACROS.
70833         * modules/sys_stat (Depends-on): Remove stat-macros.
70834
70835 2006-10-27  Bruno Haible  <bruno@clisp.org>
70836
70837         * m4/signed.m4: Remove file.
70838         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
70839         invocation.
70840         * modules/vasnprintf (Files): Remove m4/signed.m4.
70841
70842 2006-10-27  Bruno Haible  <bruno@clisp.org>
70843
70844         Update to GNU gettext 0.16.
70845         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70846         m4/inttypes-h.m4, m4/signed.m4.
70847         * m4/gettext.m4: Update to GNU gettext 0.16.
70848         * m4/intl.m4: New file, from GNU gettext.
70849         * m4/intldir.m4: New file, from GNU gettext.
70850         * config/srclist.txt: Update
70851
70852 2006-10-27  Eric Blake  <ebb9@byu.net>
70853
70854         * MODULES.html.sh: Document tempname.
70855         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70856         dependencies.
70857         (Files): Move lib/tempname.c...
70858         * modules/tempname: ...to this new module.
70859         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70860         (gl_PREREQ_TEMPNAME): Move...
70861         * m4/tempname.m4: ...to this new file.
70862         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70863         * modules/sys_stat (Depends-on): Add stat-macros.
70864         * lib/stat_.h (includes): Pick up stat macros.
70865         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70866         if stat macros are broken.
70867         * lib/tempname.c (includes): No need to include "stat-macros.h".
70868         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70869         (direxists, __path_search) [!_LIBC]: Don't compile these in
70870         gnulib; the tmpdir module covers that.
70871         * lib/tempname.h: New file.
70872
70873 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70874
70875         * COPYING: Explain how gnulib-tool converts licence headers.
70876         Almost all wording by Eric Blake.
70877
70878 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70879
70880         * lib/mbchar.h (is_basic_table): Make read-only.
70881         * lib/mbchar.c (is_basic_table): Likewise.
70882         Reported by John Darrington.
70883
70884 2006-10-25  Bruno Haible  <bruno@clisp.org>
70885
70886         * lib/progname.h (set_program_name): Undefine before defining.
70887
70888 2006-10-25  Bruno Haible  <bruno@clisp.org>
70889
70890         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70891         false for non-gcc C++ compilers.
70892         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70893
70894 2006-10-24  Bruno Haible  <bruno@clisp.org>
70895
70896         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70897         iconv implementations like Irix iconv.
70898
70899 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70900
70901         * modules/vararrays: New file.
70902         * m4/vararrays.m4: New file, taken from diffutils.
70903         * MODULES.html.sh: New module vararrays.
70904
70905 2006-10-24  Karl Berry  <karl@gnu.org>
70906
70907         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70908         Don't call GNU Unix.
70909
70910 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70911
70912         * users.txt: Add Libtool.
70913
70914         Sync from Libtool:
70915
70916         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70917
70918         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70919         to gnulib's policy of including config.h unconditionally.
70920
70921 2006-10-24  Bruno Haible  <bruno@clisp.org>
70922
70923         * modules/wcwidth (Files): Add m4/wint_t.m4.
70924         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70925         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70926
70927 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70928
70929         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70930         to pacify GCC with some -W flags enabled.  Problem reported by
70931         Bruno Haible.
70932
70933 2006-10-24  Jim Meyering  <jim@meyering.net>
70934
70935         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70936         Reported by Karl Berry.
70937
70938 2006-10-23  Bruno Haible  <bruno@clisp.org>
70939
70940         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70941
70942 2006-10-24  Bruno Haible  <bruno@clisp.org>
70943
70944         * lib/gl_list.h: Use C comment style, not C++ comment style.
70945
70946 2006-10-23  Eric Blake  <ebb9@byu.net>
70947
70948         * lib/getaddrinfo.c (includes): Add missing include.
70949
70950 2006-10-23  Bruno Haible  <bruno@clisp.org>
70951             Paul Eggert  <eggert@cs.ucla.edu>
70952
70953         Ability to rename obstack_free.
70954         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70955         obstack_free.
70956         (obstack_free): Invoke the __obstack_free macro.
70957         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70958
70959 2006-10-23  Bruno Haible  <bruno@clisp.org>
70960             Paul Eggert  <eggert@cs.ucla.edu>
70961
70962         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
70963         __argc, __argv from the declaration. (They are defined as macros on
70964         mingw.)
70965
70966 2006-10-22  Bruno Haible  <bruno@clisp.org>
70967
70968         * doc/gnulib-intro.texi: New file.
70969         * doc/gnulib.texi: Include it.
70970
70971 2006-10-21  Bruno Haible  <bruno@clisp.org>
70972
70973         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
70974         "Introduction", "Miscellanous Notes", "Particular Modules".
70975
70976 2006-10-21  Bruno Haible  <bruno@clisp.org>
70977
70978         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70979         Change mostlyclean-local rule to avoid sh syntax error from bash
70980         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
70981
70982 2006-10-23  Jim Meyering  <jim@meyering.net>
70983
70984         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
70985         in place of snprintf.
70986
70987         * modules/inttostr (Files): Add lib/uinttostr.c.
70988         * lib/uinttostr.c (inttostr): New file/function.
70989         * lib/inttostr.h (uinttostr): Declare.
70990         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
70991         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70992         Add uinttostr.
70993         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
70994
70995 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70996
70997         * lib/canonicalize.c (ELOOP): Define if not already defined.
70998         Problem reported by Bruno Haible in
70999         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
71000
71001 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
71002
71003         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
71004         Problem reported by Perry Smith and Ville Laurikari.
71005
71006         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
71007         uses.
71008
71009 2006-10-19  Bruno Haible  <bruno@clisp.org>
71010
71011         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
71012         for mingw.
71013
71014 2006-10-19  Bruno Haible  <bruno@clisp.org>
71015
71016         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
71017         Needed for mingw.
71018
71019 2006-10-19  Bruno Haible  <bruno@clisp.org>
71020
71021         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
71022
71023 2006-10-19  Bruno Haible  <bruno@clisp.org>
71024
71025         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
71026         it.
71027
71028 2006-10-19  Bruno Haible  <bruno@clisp.org>
71029
71030         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
71031         invocation.
71032
71033 2006-10-19  Bruno Haible  <bruno@clisp.org>
71034
71035         * gnulib-tool (func_create_testdir): Don't include ftruncate and
71036         mountlist by default.
71037
71038 2006-10-16  Bruno Haible  <bruno@clisp.org>
71039
71040         * lib/c-strstr.c: Include c-strstr.h.
71041
71042 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
71043
71044         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
71045         in a slash.
71046
71047 2006-10-18  Bruno Haible  <bruno@clisp.org>
71048
71049         * lib/lock.h [C++]: Wrap definitions in extern "C".
71050
71051 2006-10-18  Bruno Haible  <bruno@clisp.org>
71052
71053         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
71054         gl_LIBOBJS list.
71055
71056 2006-10-18  Bruno Haible  <bruno@clisp.org>
71057
71058         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
71059
71060 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
71061
71062         * lib/xstrtol.h: Include gettext.h.
71063         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
71064         Problem reported by Eric Blake.
71065         * modules/xstrtol (Depends-on): Add gettext-h.
71066
71067 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
71068
71069         * lib/strftime.c (advance): New macro.
71070         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
71071         incomplete type, so you can't add 0 to it.  Problem and patch
71072         reported by Eelco Dolstra for dietlibc.
71073
71074 2006-10-18  Jim Meyering  <jim@meyering.net>
71075
71076         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
71077         type for a local, and rename it: s/up/user_proc/.
71078
71079 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
71080
71081         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
71082         READ_UTMP_USER_PROCESS.
71083         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
71084
71085 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71086
71087         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
71088         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
71089
71090 2006-10-17  Eric Blake  <ebb9@byu.net>
71091
71092         * lib/sigprocmask.c (sigprocmask): Fix typo.
71093
71094         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
71095
71096         * modules/clean-temp (Makefile.am): Don't add to make output...
71097         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
71098         config.h.
71099
71100 2006-10-17  Bruno Haible  <bruno@clisp.org>
71101
71102         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
71103         differently if DEFAULT_TEXT_DOMAIN is set.
71104
71105 2006-10-16  Bruno Haible  <bruno@clisp.org>
71106
71107         * lib/clean-temp.c: Include fwriteerror.h.
71108
71109 2006-10-16  Bruno Haible  <bruno@clisp.org>
71110
71111         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
71112
71113 2006-10-16  Bruno Haible  <bruno@clisp.org>
71114
71115         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
71116         * lib/sigprocmask.h: Include <sys/types.h>.
71117         (sigset_t): Use the system's definition if present.
71118
71119 2006-10-17  Eric Blake  <ebb9@byu.net>
71120
71121         * lib/xvasprintf.c (includes): Assume config.h.
71122         * lib/xasprintf.c (includes): Likewise.
71123
71124 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
71125
71126         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
71127         at least as wide as intmax_t.
71128
71129 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
71130
71131         (Imported from Automake.)
71132         * build-aux/gnupload: Update to version 1.1 of directive file.
71133
71134 2006-10-16  Eric Blake  <ebb9@byu.net>
71135
71136         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
71137         match Automake 1.10a.
71138
71139 2006-10-14  Bruno Haible  <bruno@clisp.org>
71140
71141         * modules/sigprocmask: New file.
71142         * lib/sigprocmask.h: New file.
71143         * lib/sigprocmask.c: New file.
71144         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
71145         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
71146         request sigprocmask.o.
71147         (gl_PREREQ_SIGPROCMASK): New macro.
71148         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
71149         (Depends-on): Add sigprocmask.
71150         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
71151         gt_SIGNALBLOCKING. Test for 'raise' only once.
71152         * lib/fatal-signal.c: Include sigprocmask.h.
71153         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
71154         unblock_fatal_signals): Define always.
71155         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71156         sigprocmask.
71157
71158 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71159
71160         Sync from Automake.
71161         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
71162         which incorrectly sets the mode of an existing destination
71163         directory.  In some cases the unpatched install-sh could do the
71164         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
71165         system.  We hope this is rare in practice, but it's clearly worth
71166         fixing.  Problem reported by Alex Unleashed in
71167         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
71168         Also, don't bother to check for -m bugs unless we're using -m;
71169         suggested by Stepan Kasal.
71170
71171 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71172
71173         Sync from Automake.
71174         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
71175         `-c' flag, so they appear at the same position as in %FASTDEP%
71176         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
71177         which ignores unknown options only after the first non-option.
71178         Bug report against M4 by Nelson H. F. Beebe.
71179
71180 2006-10-13  Jim Meyering  <jim@meyering.net>
71181
71182         Fix a bug in yesterday's change.
71183         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
71184         p->fts_statp->st_dev would be used uninitialized.
71185         Ensures that we always call fts_stat on the very first entry.
71186         Miklos Szeredi reported that find -xdev stopped working.
71187
71188 2006-10-12  Bruno Haible  <bruno@clisp.org>
71189
71190         * gnulib-tool (func_get_automake_snippet): Append an automatically
71191         computed EXTRA_DIST augmentation.
71192         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
71193         * modules/alloca-opt (Makefile.am): Likewise.
71194         * modules/allocsa (Makefile.am): Likewise.
71195         * modules/arcfour (Makefile.am): Likewise.
71196         * modules/arctwo (Makefile.am): Likewise.
71197         * modules/argmatch (Makefile.am): Likewise.
71198         * modules/argz (Makefile.am): Likewise.
71199         * modules/atexit (Makefile.am): Likewise.
71200         * modules/backupfile (Makefile.am): Likewise.
71201         * modules/byteswap (Makefile.am): Likewise.
71202         * modules/c-strtod (Makefile.am): Likewise.
71203         * modules/c-strtold (Makefile.am): Likewise.
71204         * modules/calloc (Makefile.am): Likewise.
71205         * modules/canon-host (Makefile.am): Likewise.
71206         * modules/canonicalize (Makefile.am): Likewise.
71207         * modules/chdir-long (Makefile.am): Likewise.
71208         * modules/chdir-safer (Makefile.am): Likewise.
71209         * modules/check-version (Makefile.am): Likewise.
71210         * modules/chown (Makefile.am): Likewise.
71211         * modules/cloexec (Makefile.am): Likewise.
71212         * modules/close-stream (Makefile.am): Likewise.
71213         * modules/closeout (Makefile.am): Likewise.
71214         * modules/crc (Makefile.am): Likewise.
71215         * modules/csharpexec (Makefile.am): Likewise.
71216         * modules/cycle-check (Makefile.am): Likewise.
71217         * modules/des (Makefile.am): Likewise.
71218         * modules/dev-ino (Makefile.am): Likewise.
71219         * modules/dirfd (Makefile.am): Likewise.
71220         * modules/dirname (Makefile.am): Likewise.
71221         * modules/dup2 (Makefile.am): Likewise.
71222         * modules/eealloc (Makefile.am): Likewise.
71223         * modules/error (Makefile.am): Likewise.
71224         * modules/euidaccess (Makefile.am): Likewise.
71225         * modules/exclude (Makefile.am): Likewise.
71226         * modules/exitfail (Makefile.am): Likewise.
71227         * modules/fcntl-safer (Makefile.am): Likewise.
71228         * modules/fcntl (Makefile.am): Likewise.
71229         * modules/file-type (Makefile.am): Likewise.
71230         * modules/fileblocks (Makefile.am): Likewise.
71231         * modules/filemode (Makefile.am): Likewise.
71232         * modules/filenamecat (Makefile.am): Likewise.
71233         * modules/fnmatch (Makefile.am): Likewise.
71234         * modules/fopen-safer (Makefile.am): Likewise.
71235         * modules/fpending (Makefile.am): Likewise.
71236         * modules/fprintftime (Makefile.am): Likewise.
71237         * modules/free (Makefile.am): Likewise.
71238         * modules/fsusage (Makefile.am): Likewise.
71239         * modules/ftruncate (Makefile.am): Likewise.
71240         * modules/fts (Makefile.am): Likewise.
71241         * modules/gc-arcfour (Makefile.am): Likewise.
71242         * modules/gc-des (Makefile.am): Likewise.
71243         * modules/gc-hmac-md5 (Makefile.am): Likewise.
71244         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
71245         * modules/gc-md4 (Makefile.am): Likewise.
71246         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71247         * modules/gc-sha1 (Makefile.am): Likewise.
71248         * modules/gc (Makefile.am): Likewise.
71249         * modules/getaddrinfo (Makefile.am): Likewise.
71250         * modules/getcwd (Makefile.am): Likewise.
71251         * modules/getdelim (Makefile.am): Likewise.
71252         * modules/getdomainname (Makefile.am): Likewise.
71253         * modules/getgroups (Makefile.am): Likewise.
71254         * modules/gethostname (Makefile.am): Likewise.
71255         * modules/gethrxtime (Makefile.am): Likewise.
71256         * modules/getline (Makefile.am): Likewise.
71257         * modules/getloadavg (Makefile.am): Likewise.
71258         * modules/getlogin_r (Makefile.am): Likewise.
71259         * modules/getndelim2 (Makefile.am): Likewise.
71260         * modules/getopt (Makefile.am): Likewise.
71261         * modules/getpagesize (Makefile.am): Likewise.
71262         * modules/getpass-gnu (Makefile.am): Likewise.
71263         * modules/getpass (Makefile.am): Likewise.
71264         * modules/getsubopt (Makefile.am): Likewise.
71265         * modules/gettime (Makefile.am): Likewise.
71266         * modules/gettimeofday (Makefile.am): Likewise.
71267         * modules/getugroups (Makefile.am): Likewise.
71268         * modules/getusershell (Makefile.am): Likewise.
71269         * modules/glob (Makefile.am): Likewise.
71270         * modules/group-member (Makefile.am): Likewise.
71271         * modules/hard-locale (Makefile.am): Likewise.
71272         * modules/hash (Makefile.am): Likewise.
71273         * modules/hmac-md5 (Makefile.am): Likewise.
71274         * modules/hmac-sha1 (Makefile.am): Likewise.
71275         * modules/human (Makefile.am): Likewise.
71276         * modules/idcache (Makefile.am): Likewise.
71277         * modules/imaxabs (Makefile.am): Likewise.
71278         * modules/imaxdiv (Makefile.am): Likewise.
71279         * modules/inet_ntop (Makefile.am): Likewise.
71280         * modules/inet_pton (Makefile.am): Likewise.
71281         * modules/intprops (Makefile.am): Likewise.
71282         * modules/inttostr (Makefile.am): Likewise.
71283         * modules/inttypes (Makefile.am): Likewise.
71284         * modules/isapipe (Makefile.am): Likewise.
71285         * modules/javaversion (Makefile.am): Likewise.
71286         * modules/lchmod (Makefile.am): Likewise.
71287         * modules/lchown (Makefile.am): Likewise.
71288         * modules/localcharset (Makefile.am): Likewise.
71289         * modules/long-options (Makefile.am): Likewise.
71290         * modules/lstat (Makefile.am): Likewise.
71291         * modules/malloc (Makefile.am): Likewise.
71292         * modules/mathl (Makefile.am): Likewise.
71293         * modules/mbchar (Makefile.am): Likewise.
71294         * modules/md2 (Makefile.am): Likewise.
71295         * modules/md4 (Makefile.am): Likewise.
71296         * modules/md5 (Makefile.am): Likewise.
71297         * modules/memcasecmp (Makefile.am): Likewise.
71298         * modules/memchr (Makefile.am): Likewise.
71299         * modules/memcmp (Makefile.am): Likewise.
71300         * modules/memcoll (Makefile.am): Likewise.
71301         * modules/memcpy (Makefile.am): Likewise.
71302         * modules/memmem (Makefile.am): Likewise.
71303         * modules/memmove (Makefile.am): Likewise.
71304         * modules/mempcpy (Makefile.am): Likewise.
71305         * modules/memrchr (Makefile.am): Likewise.
71306         * modules/memset (Makefile.am): Likewise.
71307         * modules/memxor (Makefile.am): Likewise.
71308         * modules/mkancesdirs (Makefile.am): Likewise.
71309         * modules/mkdir-p (Makefile.am): Likewise.
71310         * modules/mkdir (Makefile.am): Likewise.
71311         * modules/mkdtemp (Makefile.am): Likewise.
71312         * modules/mkstemp (Makefile.am): Likewise.
71313         * modules/mktime (Makefile.am): Likewise.
71314         * modules/modechange (Makefile.am): Likewise.
71315         * modules/mountlist (Makefile.am): Likewise.
71316         * modules/nanosleep (Makefile.am): Likewise.
71317         * modules/obstack (Makefile.am): Likewise.
71318         * modules/openat (Makefile.am): Likewise.
71319         * modules/pagealign_alloc (Makefile.am): Likewise.
71320         * modules/pathmax (Makefile.am): Likewise.
71321         * modules/physmem (Makefile.am): Likewise.
71322         * modules/poll (Makefile.am): Likewise.
71323         * modules/posixtm (Makefile.am): Likewise.
71324         * modules/posixver (Makefile.am): Likewise.
71325         * modules/putenv (Makefile.am): Likewise.
71326         * modules/quote (Makefile.am): Likewise.
71327         * modules/quotearg (Makefile.am): Likewise.
71328         * modules/raise (Makefile.am): Likewise.
71329         * modules/read-file (Makefile.am): Likewise.
71330         * modules/readline (Makefile.am): Likewise.
71331         * modules/readlink (Makefile.am): Likewise.
71332         * modules/readtokens (Makefile.am): Likewise.
71333         * modules/readutmp (Makefile.am): Likewise.
71334         * modules/realloc (Makefile.am): Likewise.
71335         * modules/regex (Makefile.am): Likewise.
71336         * modules/rename-dest-slash (Makefile.am): Likewise.
71337         * modules/rename (Makefile.am): Likewise.
71338         * modules/rijndael (Makefile.am): Likewise.
71339         * modules/rmdir (Makefile.am): Likewise.
71340         * modules/rpmatch (Makefile.am): Likewise.
71341         * modules/safe-read (Makefile.am): Likewise.
71342         * modules/safe-write (Makefile.am): Likewise.
71343         * modules/same-inode (Makefile.am): Likewise.
71344         * modules/same (Makefile.am): Likewise.
71345         * modules/save-cwd (Makefile.am): Likewise.
71346         * modules/savedir (Makefile.am): Likewise.
71347         * modules/setenv (Makefile.am): Likewise.
71348         * modules/settime (Makefile.am): Likewise.
71349         * modules/sha1 (Makefile.am): Likewise.
71350         * modules/sig2str (Makefile.am): Likewise.
71351         * modules/snprintf (Makefile.am): Likewise.
71352         * modules/stat-macros (Makefile.am): Likewise.
71353         * modules/stat-time (Makefile.am): Likewise.
71354         * modules/stdbool (Makefile.am): Likewise.
71355         * modules/stdint (Makefile.am): Likewise.
71356         * modules/stdlib-safer (Makefile.am): Likewise.
71357         * modules/stpcpy (Makefile.am): Likewise.
71358         * modules/stpncpy (Makefile.am): Likewise.
71359         * modules/strcase (Makefile.am): Likewise.
71360         * modules/strcasestr (Makefile.am): Likewise.
71361         * modules/strchrnul (Makefile.am): Likewise.
71362         * modules/strcspn (Makefile.am): Likewise.
71363         * modules/strdup (Makefile.am): Likewise.
71364         * modules/strerror (Makefile.am): Likewise.
71365         * modules/strftime (Makefile.am): Likewise.
71366         * modules/strndup (Makefile.am): Likewise.
71367         * modules/strnlen (Makefile.am): Likewise.
71368         * modules/strpbrk (Makefile.am): Likewise.
71369         * modules/strsep (Makefile.am): Likewise.
71370         * modules/strstr (Makefile.am): Likewise.
71371         * modules/strtod (Makefile.am): Likewise.
71372         * modules/strtoimax (Makefile.am): Likewise.
71373         * modules/strtok_r (Makefile.am): Likewise.
71374         * modules/strtol (Makefile.am): Likewise.
71375         * modules/strtoll (Makefile.am): Likewise.
71376         * modules/strtoul (Makefile.am): Likewise.
71377         * modules/strtoull (Makefile.am): Likewise.
71378         * modules/strtoumax (Makefile.am): Likewise.
71379         * modules/strverscmp (Makefile.am): Likewise.
71380         * modules/sys_socket (Makefile.am): Likewise.
71381         * modules/sys_stat (Makefile.am): Likewise.
71382         * modules/sysexits (Makefile.am): Likewise.
71383         * modules/time_r (Makefile.am): Likewise.
71384         * modules/timegm (Makefile.am): Likewise.
71385         * modules/timespec (Makefile.am): Likewise.
71386         * modules/tmpfile-safer (Makefile.am): Likewise.
71387         * modules/trim (Makefile.am): Likewise.
71388         * modules/unistd-safer (Makefile.am): Likewise.
71389         * modules/unlinkdir (Makefile.am): Likewise.
71390         * modules/unlocked-io (Makefile.am): Likewise.
71391         * modules/userspec (Makefile.am): Likewise.
71392         * modules/utime (Makefile.am): Likewise.
71393         * modules/utimecmp (Makefile.am): Likewise.
71394         * modules/utimens (Makefile.am): Likewise.
71395         * modules/vasnprintf (Makefile.am): Likewise.
71396         * modules/vasprintf (Makefile.am): Likewise.
71397         * modules/vsnprintf (Makefile.am): Likewise.
71398         * modules/xalloc (Makefile.am): Likewise.
71399         * modules/xgetcwd (Makefile.am): Likewise.
71400         * modules/xnanosleep (Makefile.am): Likewise.
71401         * modules/xreadlink (Makefile.am): Likewise.
71402         * modules/xstrtod (Makefile.am): Likewise.
71403         * modules/xstrtol (Makefile.am): Likewise.
71404         * modules/xstrtold (Makefile.am): Likewise.
71405         * modules/yesno (Makefile.am): Likewise.
71406         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
71407
71408 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71409
71410         * modules/error (Makefile.am): Distribute files through
71411         EXTRA_DIST, not lib_SOURCES.
71412
71413 2006-10-12  Eric Blake  <ebb9@byu.net>
71414
71415         * modules/error (Makefile.am): Distribute files in /lib.
71416         * modules/obstack (Makefile.am): Likewise.
71417
71418 2006-10-12  Bruno Haible  <bruno@clisp.org>
71419
71420         * modules/acl (Makefile.am): Distribute all files in lib/ through
71421         EXTRA_DIST.
71422         * modules/arcfour (Makefile.am): Likewise.
71423         * modules/arctwo (Makefile.am): Likewise.
71424         * modules/argmatch (Makefile.am): Likewise.
71425         * modules/argz (Makefile.am): Likewise.
71426         * modules/atexit (Makefile.am): Likewise.
71427         * modules/backupfile (Makefile.am): Likewise.
71428         * modules/c-strtod (Makefile.am): Likewise.
71429         * modules/c-strtold (Makefile.am): Likewise.
71430         * modules/calloc (Makefile.am): Likewise.
71431         * modules/canon-host (Makefile.am): Likewise.
71432         * modules/canonicalize (Makefile.am): Likewise.
71433         * modules/chdir-long (Makefile.am): Likewise.
71434         * modules/chdir-safer (Makefile.am): Likewise.
71435         * modules/check-version (Makefile.am): Likewise.
71436         * modules/chown (Makefile.am): Likewise.
71437         * modules/cloexec (Makefile.am): Likewise.
71438         * modules/close-stream (Makefile.am): Likewise.
71439         * modules/closeout (Makefile.am): Likewise.
71440         * modules/crc (Makefile.am): Likewise.
71441         * modules/cycle-check (Makefile.am): Likewise.
71442         * modules/des (Makefile.am): Likewise.
71443         * modules/dirfd (Makefile.am): Likewise.
71444         * modules/dirname (Makefile.am): Likewise.
71445         * modules/dup2 (Makefile.am): Likewise.
71446         * modules/euidaccess (Makefile.am): Likewise.
71447         * modules/exclude (Makefile.am): Likewise.
71448         * modules/exitfail (Makefile.am): Likewise.
71449         * modules/fcntl-safer (Makefile.am): Likewise.
71450         * modules/file-type (Makefile.am): Likewise.
71451         * modules/fileblocks (Makefile.am): Likewise.
71452         * modules/filemode (Makefile.am): Likewise.
71453         * modules/filenamecat (Makefile.am): Likewise.
71454         * modules/fnmatch (Makefile.am): Likewise.
71455         * modules/fopen-safer (Makefile.am): Likewise.
71456         * modules/fpending (Makefile.am): Likewise.
71457         * modules/fprintftime (Makefile.am): Likewise.
71458         * modules/free (Makefile.am): Likewise.
71459         * modules/fsusage (Makefile.am): Likewise.
71460         * modules/ftruncate (Makefile.am): Likewise.
71461         * modules/fts (Makefile.am): Likewise.
71462         * modules/gc (Makefile.am): Likewise.
71463         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71464         * modules/getaddrinfo (Makefile.am): Likewise.
71465         * modules/getcwd (Makefile.am): Likewise.
71466         * modules/getdelim (Makefile.am): Likewise.
71467         * modules/getdomainname (Makefile.am): Likewise.
71468         * modules/getgroups (Makefile.am): Likewise.
71469         * modules/gethostname (Makefile.am): Likewise.
71470         * modules/gethrxtime (Makefile.am): Likewise.
71471         * modules/getline (Makefile.am): Likewise.
71472         * modules/getloadavg (Makefile.am): Likewise.
71473         * modules/getlogin_r (Makefile.am): Likewise.
71474         * modules/getopt (Makefile.am): Likewise.
71475         * modules/getpass (Makefile.am): Likewise.
71476         * modules/getpass-gnu (Makefile.am): Likewise.
71477         * modules/getsubopt (Makefile.am): Likewise.
71478         * modules/gettime (Makefile.am): Likewise.
71479         * modules/gettimeofday (Makefile.am): Likewise.
71480         * modules/getugroups (Makefile.am): Likewise.
71481         * modules/getusershell (Makefile.am): Likewise.
71482         * modules/glob (Makefile.am): Likewise.
71483         * modules/group-member (Makefile.am): Likewise.
71484         * modules/hard-locale (Makefile.am): Likewise.
71485         * modules/hash (Makefile.am): Likewise.
71486         * modules/hmac-md5 (Makefile.am): Likewise.
71487         * modules/hmac-sha1 (Makefile.am): Likewise.
71488         * modules/human (Makefile.am): Likewise.
71489         * modules/idcache (Makefile.am): Likewise.
71490         * modules/imaxabs (Makefile.am): Likewise.
71491         * modules/imaxdiv (Makefile.am): Likewise.
71492         * modules/inet_ntop (Makefile.am): Likewise.
71493         * modules/inet_pton (Makefile.am): Likewise.
71494         * modules/inttostr (Makefile.am): Likewise.
71495         * modules/isapipe (Makefile.am): Likewise.
71496         * modules/lchown (Makefile.am): Likewise.
71497         * modules/long-options (Makefile.am): Likewise.
71498         * modules/lstat (Makefile.am): Likewise.
71499         * modules/malloc (Makefile.am): Likewise.
71500         * modules/mathl (Makefile.am): Likewise.
71501         * modules/mbchar (Makefile.am): Likewise.
71502         * modules/md2 (Makefile.am): Likewise.
71503         * modules/md4 (Makefile.am): Likewise.
71504         * modules/md5 (Makefile.am): Likewise.
71505         * modules/memcasecmp (Makefile.am): Likewise.
71506         * modules/memchr (Makefile.am): Likewise.
71507         * modules/memcmp (Makefile.am): Likewise.
71508         * modules/memcoll (Makefile.am): Likewise.
71509         * modules/memcpy (Makefile.am): Likewise.
71510         * modules/memmem (Makefile.am): Likewise.
71511         * modules/memmove (Makefile.am): Likewise.
71512         * modules/mempcpy (Makefile.am): Likewise.
71513         * modules/memrchr (Makefile.am): Likewise.
71514         * modules/memset (Makefile.am): Likewise.
71515         * modules/memxor (Makefile.am): Likewise.
71516         * modules/mkancesdirs (Makefile.am): Likewise.
71517         * modules/mkdir (Makefile.am): Likewise.
71518         * modules/mkdir-p (Makefile.am): Likewise.
71519         * modules/mkdtemp (Makefile.am): Likewise.
71520         * modules/mkstemp (Makefile.am): Likewise.
71521         * modules/mktime (Makefile.am): Likewise.
71522         * modules/modechange (Makefile.am): Likewise.
71523         * modules/mountlist (Makefile.am): Likewise.
71524         * modules/nanosleep (Makefile.am): Likewise.
71525         * modules/openat (Makefile.am): Likewise.
71526         * modules/pagealign_alloc (Makefile.am): Likewise.
71527         * modules/physmem (Makefile.am): Likewise.
71528         * modules/poll (Makefile.am): Likewise.
71529         * modules/posixtm (Makefile.am): Likewise.
71530         * modules/posixver (Makefile.am): Likewise.
71531         * modules/putenv (Makefile.am): Likewise.
71532         * modules/quote (Makefile.am): Likewise.
71533         * modules/quotearg (Makefile.am): Likewise.
71534         * modules/raise (Makefile.am): Likewise.
71535         * modules/read-file (Makefile.am): Likewise.
71536         * modules/readline (Makefile.am): Likewise.
71537         * modules/readlink (Makefile.am): Likewise.
71538         * modules/readtokens (Makefile.am): Likewise.
71539         * modules/readutmp (Makefile.am): Likewise.
71540         * modules/realloc (Makefile.am): Likewise.
71541         * modules/regex (Makefile.am): Likewise.
71542         * modules/rename (Makefile.am): Likewise.
71543         * modules/rename-dest-slash (Makefile.am): Likewise.
71544         * modules/rijndael (Makefile.am): Likewise.
71545         * modules/rmdir (Makefile.am): Likewise.
71546         * modules/rpmatch (Makefile.am): Likewise.
71547         * modules/safe-read (Makefile.am): Likewise.
71548         * modules/safe-write (Makefile.am): Likewise.
71549         * modules/same (Makefile.am): Likewise.
71550         * modules/save-cwd (Makefile.am): Likewise.
71551         * modules/savedir (Makefile.am): Likewise.
71552         * modules/setenv (Makefile.am): Likewise.
71553         * modules/settime (Makefile.am): Likewise.
71554         * modules/sha1 (Makefile.am): Likewise.
71555         * modules/sig2str (Makefile.am): Likewise.
71556         * modules/snprintf (Makefile.am): Likewise.
71557         * modules/stdlib-safer (Makefile.am): Likewise.
71558         * modules/stpcpy (Makefile.am): Likewise.
71559         * modules/stpncpy (Makefile.am): Likewise.
71560         * modules/strcase (Makefile.am): Likewise.
71561         * modules/strcasestr (Makefile.am): Likewise.
71562         * modules/strchrnul (Makefile.am): Likewise.
71563         * modules/strcspn (Makefile.am): Likewise.
71564         * modules/strdup (Makefile.am): Likewise.
71565         * modules/strerror (Makefile.am): Likewise.
71566         * modules/strftime (Makefile.am): Likewise.
71567         * modules/strndup (Makefile.am): Likewise.
71568         * modules/strnlen (Makefile.am): Likewise.
71569         * modules/strpbrk (Makefile.am): Likewise.
71570         * modules/strsep (Makefile.am): Likewise.
71571         * modules/strstr (Makefile.am): Likewise.
71572         * modules/strtod (Makefile.am): Likewise.
71573         * modules/strtoimax (Makefile.am): Likewise.
71574         * modules/strtok_r (Makefile.am): Likewise.
71575         * modules/strtol (Makefile.am): Likewise.
71576         * modules/strtoll (Makefile.am): Likewise.
71577         * modules/strtoul (Makefile.am): Likewise.
71578         * modules/strtoull (Makefile.am): Likewise.
71579         * modules/strtoumax (Makefile.am): Likewise.
71580         * modules/strverscmp (Makefile.am): Likewise.
71581         * modules/time_r (Makefile.am): Likewise.
71582         * modules/timegm (Makefile.am): Likewise.
71583         * modules/tmpfile-safer (Makefile.am): Likewise.
71584         * modules/unistd-safer (Makefile.am): Likewise.
71585         * modules/unlinkdir (Makefile.am): Likewise.
71586         * modules/userspec (Makefile.am): Likewise.
71587         * modules/utime (Makefile.am): Likewise.
71588         * modules/utimecmp (Makefile.am): Likewise.
71589         * modules/utimens (Makefile.am): Likewise.
71590         * modules/vasnprintf (Makefile.am): Likewise.
71591         * modules/vasprintf (Makefile.am): Likewise.
71592         * modules/vsnprintf (Makefile.am): Likewise.
71593         * modules/xalloc (Makefile.am): Likewise.
71594         * modules/xgetcwd (Makefile.am): Likewise.
71595         * modules/xnanosleep (Makefile.am): Likewise.
71596         * modules/xreadlink (Makefile.am): Likewise.
71597         * modules/xstrtod (Makefile.am): Likewise.
71598         * modules/xstrtol (Makefile.am): Likewise.
71599         * modules/xstrtold (Makefile.am): Likewise.
71600         * modules/yesno (Makefile.am): Likewise.
71601
71602 2006-10-12  Jim Meyering  <jim@meyering.net>
71603
71604         * m4/getloadavg.m4: Revert the change below.
71605
71606         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
71607         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
71608         fail with a symlink, which is what coreutils' ./bootstrap now
71609         creates by default.
71610
71611 2006-10-12  Bruno Haible  <bruno@clisp.org>
71612
71613         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
71614         mingw.
71615         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
71616         MSVC and mingw explicitly.
71617
71618 2006-10-11  Simon Josefsson  <jas@extundo.com>
71619             Bruno Haible  <bruno@clisp.org>
71620
71621         Add support for multiple gnulib-tool invocations in the scope of a
71622         single configure.ac file.
71623         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
71624         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
71625         with the same contents as the _LIBADD variable.
71626         (func_emit_initmacro_start, func_emit_initmacro_end,
71627         func_emit_initmacro_done): New functions.
71628         (func_import, func_create_testdir): Invoke them. Allow the identifiers
71629         gl_LIBOBJS and gl_LTLIBOBJS.
71630
71631 2006-10-11  Bruno Haible  <bruno@clisp.org>
71632
71633         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
71634         (func_create_testdir): Don't create po/Makefile.am, don't invoke
71635         autoreconf. Instead, invoke autopoint explicitly but move back the
71636         *.m4 files from gnulib.
71637
71638 2006-10-11  Bruno Haible  <bruno@clisp.org>
71639
71640         * gnulib-tool (func_usage): Make module names after --create-testdir
71641         optional.
71642         (func_create_testdir): If no module was specified, use nearly all
71643         modules.
71644
71645 2006-10-12  Jim Meyering  <jim@meyering.net>
71646
71647         Big performance improvement for fts-based tools that use FTS_NOSTAT.
71648         Avoid spurious inode-mismatch problems on non-POSIX file systems.
71649         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
71650         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
71651         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
71652         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
71653         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
71654         (fts_set_stat_required): New function.
71655         (fts_open): Defer the calls to fts_stat, if possible or requested.
71656         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
71657         into fts_stat itself.
71658         (fts_read): Perform any required (deferred) fts_stat call.
71659         (fts_build): Likewise, for the directory we're about to open and read.
71660         In the readdir loop, carefully decide whether each entry will require
71661         an eventual call to fts_stat, using dirent.d_type info if available.
71662         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
71663         a command line argument into this function.  Update all callers.
71664         Map a return value of FTS_DOT to FTS_D for a command line argument.
71665         * modules/fts (Depends-on): Add d-type.  Alphabetize.
71666         Thanks to Miklos Szeredi for his tenacity and for the initial
71667         bug report about "find" failing on a FUSE-based file system.
71668
71669         * lib/fts.c (fts_open): Use consistent indentation.
71670
71671 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71672
71673         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
71674         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
71675         reported by Jim Meyering.  All uses of cache variables renamed
71676         to match Autoconf's.
71677         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
71678         the other one.
71679
71680         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71681         Fix misspelling in diagnostic.
71682
71683 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71684
71685         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71686         defined.  Problem reported by Matthew Woehlke.
71687
71688         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71689         Add support for Tandem NonStop R series.
71690         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71691         Use new macro.
71692
71693         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71694         (has_trailing_slash): Omit size arg; all callers changed.
71695         Omit 'inline', since it doesn't help performance and we'd
71696         need to configure it.
71697         Don't count //, ///, etc. as having a trailing slash.
71698         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71699         (rpl_rename_dest_slash): On failure, use rename's errno rather
71700         than (in some cases) an incorrect or junk errno.
71701         Simplify code by removing need to compute length; this does
71702         cause it to make two passes instead of one over the file name,
71703         but it's worth it.
71704
71705         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71706         change, since Autoconf's version may no longer be appropriate now
71707         that we are using CVS Autoconf's version.  Add support for Tandem.
71708
71709 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71710             Bruno Haible  <bruno@clisp.org>
71711
71712         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71713         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71714         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71715         gl_AC_TYPE_LONG_LONG.
71716
71717         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71718         instead of HAVE_LONG_LONG.
71719         * lib/printf-args.c (printf_fetchargs): Likewise.
71720         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71721         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71722         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71723         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71724         gl_AC_TYPE_LONG_LONG.
71725
71726 2006-10-11  Bruno Haible  <bruno@clisp.org>
71727
71728         * m4/longlong.m4: Add comments.
71729         * m4/ulonglong.m4: Likewise.
71730
71731 2006-10-10  Bruno Haible  <bruno@clisp.org>
71732
71733         Make it possible to #define stpcpy, strdup to aliases.
71734         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71735         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71736
71737 2006-10-10  Bruno Haible  <bruno@clisp.org>
71738
71739         Make it possible to #define gcd to an alias.
71740         * lib/gcd.c: Include config.h.
71741
71742 2006-10-10  Bruno Haible  <bruno@clisp.org>
71743
71744         Make it possible to #define c_isascii to an alias.
71745         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71746         defined. Undefine the macros before defining them, to avoid gcc
71747         warnings.
71748         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71749         define NO_C_CTYPE_MACROS early.
71750
71751 2006-10-10  Bruno Haible  <bruno@clisp.org>
71752
71753         Make it possible to #define set_program_name to an alias.
71754         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71755         ENABLE_RELOCATABLE early.
71756
71757 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71758
71759         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71760         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71761         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71762         More generally, don't assume that 64-bit signed int is available
71763         if unsigned int is, and vice versa.
71764         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71765         unsigned symbols, not on their signed counterparts.
71766         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71767         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71768         (UINT64_C, UINTMAX_C):
71769         Likewise.
71770         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71771         unsigned counterparts.
71772         (Have_long_long, Unsigned): New macros.
71773         (Int): Renamed from INT.
71774         (strtoimax): Use the new macros.
71775         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71776         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71777         * modules/inttypes (inttypes.h): Substitute
71778         HAVE_UNSIGNED_LONG_LONG_INT.
71779         * modules/stdint (stdint.h): Likewise.
71780         (Files): Add m4/ulonglong.m4.
71781
71782 2006-10-10  Bruno Haible  <bruno@clisp.org>
71783
71784         Fix a gcc -Wshadow warning.
71785         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71786         to 'bucket'.
71787         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71788         gl_linked_indexof_from_to): Likewise.
71789         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71790         Likewise.
71791         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71792         Likewise.
71793         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71794         Reported by Eric Blake.
71795
71796 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71797
71798         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71799         for NetBSD.  Problem reported by Bruno Haible.
71800
71801 2006-10-09  Jim Meyering  <jim@meyering.net>
71802
71803         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71804         Patch from Bruno Haible.
71805
71806 2006-10-09  Jim Meyering  <jim@meyering.net>
71807
71808         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71809         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71810         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71811
71812 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71813
71814         Don't include <config.h> twice; this doesn't work in some cases,
71815         e.g., when config.h has "#define intmax_t long long int" and
71816         we include <config.h>, <inttypes.h>, <config.h> in that order.
71817         Problem reported by Matthew Woehlke in:
71818         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71819         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
71820         * lib/fts-cycle.c: Don't include config.h.
71821         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
71822         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
71823         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
71824         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
71825         inttypes.h.
71826         * lib/xstrtoumax.c: Likewise.
71827         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
71828         __strtol and the like, so that this module is more like its siblings.
71829         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
71830         Remove; no longer needed now that we assume gnulib inttypes.h.
71831
71832 2006-10-08  Bruno Haible  <bruno@clisp.org>
71833
71834         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
71835         option.
71836
71837 2006-10-07  Jim Meyering  <jim@meyering.net>
71838
71839         * modules/inttypes (inttypes.h): Revert what seems to have been
71840         an inadvertent part of today's change: use "|", not "/" in the
71841         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
71842
71843 2006-10-07  Bruno Haible  <bruno@clisp.org>
71844
71845         * modules/sublist: New file.
71846
71847 2006-10-07  Bruno Haible  <bruno@clisp.org>
71848
71849         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71850         * modules/argz (argz.h): Likewise.
71851         * modules/arpa_inet (arpa/inet.h): Likewise.
71852         * modules/byteswap (byteswap.h): Likewise.
71853         * modules/configmake (configmake.h): Likewise.
71854         * modules/fcntl (fcntl.h): Likewise.
71855         * modules/fnmatch (fnmatch.h): Likewise.
71856         * modules/getopt (getopt.h): Likewise.
71857         * modules/glob (glob.h): Likewise.
71858         * modules/inttypes (inttypes.h): Likewise.
71859         * modules/netinet_in (netinet/in.h): Likewise.
71860         * modules/poll (poll.h): Likewise.
71861         * modules/stdbool (stdbool.h): Likewise.
71862         * modules/stdint (stdint.h): Likewise.
71863         * modules/sys_select (sys/select.h): Likewise.
71864         * modules/sys_socket (sys/socket.h): Likewise.
71865         * modules/sys_stat (sys/stat.h): Likewise.
71866         * modules/sysexits (sysexits.h): Likewise.
71867         * modules/unistd (unistd.h): Likewise.
71868         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71869         Add a "DO NOT EDIT" comment to the generated file.
71870         (func_import): Likewise for gnulib-comp.m4.
71871
71872 2006-10-07  Bruno Haible  <bruno@clisp.org>
71873
71874         * lib/gl_sublist.h: New file.
71875         * lib/gl_sublist.c: New file.
71876
71877 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71878
71879         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71880         name (relative to the original working directory) and the file
71881         name component (relative to the temporary working directory).  All
71882         callers changed.
71883         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71884         * lib/mkdir-p.c (make_dir_parents): Likewise.
71885         * lib/mkdir-p.h (make_dir_parents): Likewise.
71886
71887 2006-10-06  Eric Blake  <ebb9@byu.net>
71888
71889         Define several macros for use by the clean-temp module.
71890         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71891         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71892         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71893
71894         * lib/clean-temp.h (close_stream_temp): New declaration.
71895         * lib/clean-temp.c (includes): Pull in headers according to what
71896         other modules are in use.
71897         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71898
71899 2006-10-06  Bruno Haible  <bruno@clisp.org>
71900
71901         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71902         instead of fopen, fwriteerror.
71903
71904 2006-10-06  Bruno Haible  <bruno@clisp.org>
71905
71906         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71907         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71908         int.
71909         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71910         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71911         Return an error indicator.
71912         Suggested by Eric Blake.
71913
71914 2006-10-06  Bruno Haible  <bruno@clisp.org>
71915
71916         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71917         Reported by Eric Blake.
71918
71919 2006-10-06  Bruno Haible  <bruno@clisp.org>
71920
71921         * modules/closeout (Description): Mention stderr too.
71922
71923 2006-10-06  Bruno Haible  <bruno@clisp.org>
71924         and Paul Eggert  <eggert@cs.ucla.edu>
71925
71926         * lib/closeout.c (close_stdout): Also close stderr.
71927         * lib/closeout.h: Update comment.
71928
71929 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71930
71931         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71932         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71933         * lib/dirchownmod.c: Include lchown.h.
71934         * lib/lchown.c: Don't include files that lchown.h now includes.
71935         Don't declare chown, since lchown.h now does that.
71936         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71937         (lchown): Define to rpl_chown if lchown is declared but
71938         does not exist.  Declare using a prototype if lchown is not
71939         declared.  Add a copyright notice.
71940         * lib/mkstemp.h: Include <unistd.h>.
71941         * lib/openat.c: Include lchown.h.
71942
71943         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71944         we now test for that separately.
71945         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71946         rather than O_NOFOLLOW, when testing whether it's possible to
71947         avoid a race condition reliably.
71948         * lib/savewd.c (savewd_chdir): Likewise.
71949
71950         Remove macros that are no longer needed now that stdint.h is
71951         reliable.
71952         * lib/fsusage.c (UINTMAX_MAX): Remove.
71953         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71954         * lib/utimecmp.c (SIZE_MAX): Remove.
71955
71956         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71957
71958         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
71959         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
71960         O_NOATIME works.
71961
71962 2006-10-05  Bruno Haible  <bruno@clisp.org>
71963
71964         * lib/gl_list.h (gl_sortedlist_search_from_to,
71965         gl_sortedlist_indexof_from_to): New declarations.
71966         (gl_list_implementation): New fields sortedlist_search_from_to,
71967         sortedlist_indexof_from_to.
71968         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
71969         inline functions.
71970         * lib/gl_list.c (gl_sortedlist_search_from_to,
71971         gl_sortedlist_indexof_from_to): New functions.
71972         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
71973         function.
71974         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
71975         (gl_array_sortedlist_search_from_to): New function.
71976         (gl_array_list_implementation): Update.
71977         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
71978         function.
71979         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
71980         (gl_carray_sortedlist_search_from_to): New function.
71981         (gl_carray_list_implementation): Update.
71982         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
71983         gl_linked_sortedlist_indexof_from_to): New functions.
71984         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71985         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71986         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
71987         gl_tree_sortedlist_indexof_from_to): New functions.
71988         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71989         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71990         Update.
71991         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71992         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
71993         Update.
71994
71995 2006-10-05  Bruno Haible  <bruno@clisp.org>
71996
71997         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
71998         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
71999         (struct gl_list_implementation): Add fields search_from_to,
72000         indexof_from_to. Remove fields search, indexof.
72001         (gl_list_search): Use the search_from_to method.
72002         (gl_list_search_from, gl_list_search_from_to): New functions.
72003         (gl_list_indexof): Use the indexof_from_to method.
72004         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72005         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
72006         (gl_list_search_from, gl_list_search_from_to): New functions.
72007         (gl_list_indexof): Use the indexof_from_to method.
72008         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72009         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
72010         gl_array_indexof. Add start_index, end_index arguments.
72011         (gl_array_search_from_to): Renamed from gl_array_search. Add
72012         start_index, end_index arguments.
72013         (gl_array_remove, gl_array_list_implementation): Update.
72014         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
72015         gl_carray_indexof. Add start_index, end_index arguments.
72016         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
72017         start_index, end_index arguments.
72018         (gl_carray_remove, gl_carray_list_implementation): Update.
72019         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
72020         gl_linked_search. Add start_index, end_index arguments.
72021         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
72022         start_index, end_index arguments.
72023         (gl_linked_remove): Update.
72024         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
72025         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
72026         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
72027         field to 'size_t'.
72028         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
72029         gl_tree_search. Add start_index, end_index arguments.
72030         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72031         start_index, end_index arguments.
72032         (gl_tree_remove): Update.
72033         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72034         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72035         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
72036         function.
72037         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
72038         gl_tree_search. Add start_index, end_index arguments.
72039         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72040         start_index, end_index arguments.
72041         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72042         Update.
72043         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
72044
72045 2006-10-05  Bruno Haible  <bruno@clisp.org>
72046
72047         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
72048
72049         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
72050         fwriteerror_temp): New declarations.
72051         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
72052         (descriptors): New variable.
72053         (cleanup): First, close the descriptors.
72054         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
72055         fclose_temp, fwriteerror_temp): New functions.
72056
72057 2006-10-04  Jim Meyering  <jim@meyering.net>
72058
72059         * lib/fts.c (fts_open): Tiny comment change.
72060
72061 2006-10-04  Bruno Haible  <bruno@clisp.org>
72062
72063         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
72064         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
72065         gl_LOCK_BODY.
72066         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
72067         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
72068         gl_LOCK_EARLY_BODY.
72069         (gl_LOCK): Require gl_LOCK_BODY.
72070
72071 2006-10-04  Bruno Haible  <bruno@clisp.org>
72072
72073         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
72074         (gl_oset_search_atleast): New declaration.
72075         (struct gl_oset_implementation): Add field 'search_atleast'.
72076         (gl_oset_search_atleast): New inline function.
72077         * lib/gl_oset.c (gl_oset_search_atleast): New function.
72078         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
72079         (gl_array_oset_implementation): Update.
72080         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
72081         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
72082         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
72083
72084 2006-10-04  Bruno Haible  <bruno@clisp.org>
72085
72086         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
72087
72088 2006-10-03  Bruno Haible  <bruno@clisp.org>
72089
72090         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
72091         from gl_avltreehash_list_implementation.
72092
72093 2006-10-03  Bruno Haible  <bruno@clisp.org>
72094
72095         * lib/gl_oset.c (gl_oset_add): Fix return type.
72096
72097 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
72098
72099         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
72100
72101 2006-10-02  Eric Blake  <ebb9@byu.net>
72102
72103         * modules/strnlen (Depends-on): Add extensions.
72104
72105 2006-10-02  Eric Blake  <ebb9@byu.net>
72106
72107         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
72108         definition in 2.60+.
72109
72110 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
72111
72112         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
72113         checks.
72114
72115 2006-10-02  Bruno Haible  <bruno@clisp.org>
72116
72117         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
72118         to the AUTOMAKE_OPTIONS.
72119         Reported by Jim Meyering.
72120
72121 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
72122
72123         Work around bug in Solaris 10 /proc file system:
72124         /proc/self/fd/NNN/.. isn't the parent directory of
72125         the directory whose file descriptor is NNN.  This needs to
72126         be worked around at run time, not compile time, since a
72127         program might be built on Solaris 8, where things work, and
72128         run on Solaris 10.
72129         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
72130         to use the following interface instead:
72131         (OPENAT_BUFFER_SIZE): New macro.
72132         (openat_proc_name): New function.
72133         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
72134         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
72135         Likewise.
72136         * lib/openat-proc.c: New file.
72137         * modules/openat (Files): Add lib/openat-proc.c.
72138         (Depends-on): Add same-inode, stdbool.
72139         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
72140
72141 2006-09-29  Bruno Haible  <bruno@clisp.org>
72142
72143         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
72144         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
72145         argument. Set stdout_closed before testing for ferror, not after.
72146         (fwriteerror, fwriteerror_no_ebadf): New functions.
72147
72148 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72149
72150         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
72151
72152 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
72153
72154         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
72155         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
72156
72157 2006-09-28  Jim Meyering  <jim@meyering.net>
72158
72159         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
72160         Include <unistd.h>.
72161
72162 2006-09-28  Bruno Haible  <bruno@clisp.org>
72163
72164         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
72165         * modules/linkedhash-list (Depends-on): Likewise.
72166         * modules/rbtreehash-list (Depends-on): Likewise.
72167
72168 2006-09-28  Bruno Haible  <bruno@clisp.org>
72169
72170         * lib/strndup.h: Simplify the redefinition of strndup.
72171         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
72172         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
72173
72174 2006-09-28  Bruno Haible  <bruno@clisp.org>
72175
72176         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
72177         * lib/gl_linkedhash_list.c: Likewise.
72178         * lib/gl_rbtreehash_list.c: Likewise.
72179
72180 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
72181
72182         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
72183         getaddrinfo.
72184
72185         * lib/__fpending.h: Don't include <stdio_ext.h> unless
72186         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
72187         it causes <stdio_ext.h> to cause a compile-time error.
72188         Problem reported by Nelson H. F. Beebe.
72189         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
72190         of HAVE_DECL___PENDING.
72191
72192         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
72193         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
72194         declaration.
72195
72196 2006-09-27  Jim Meyering  <jim@meyering.net>
72197
72198         This file could end up with a definition for a function
72199         named __strndup, rather than rpl_strndup on a system with
72200         incomplete weak_alias support.
72201         * lib/strndup.c (strndup): Rename from __strndup.
72202         Remove #defines that used to map __strndup to strndup.
72203         Don't use K&R prototypes.
72204         Remove LIBC-related code, since this file is not sync'd with glibc.
72205         * lib/strndup.h: Revamp, accordingly.
72206         * m4/strndup.m4: Modernize.
72207
72208 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
72209
72210         * modules/savewd (Depends-on): Add 'raise'.
72211         * lib/savewd.c: Include <signal.h>, for 'raise'.
72212
72213 2006-09-26  Jim Meyering  <jim@meyering.net>
72214
72215         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
72216         when we detect Darwin 8.7.0's acl_get_file bug.
72217         Rearrange to perform the new (below) run-test while $LIBS
72218         contains any acl-related library.  Set USE_ACL at the end.
72219         (gl_ACL_GET_FILE): New function.
72220
72221 2006-09-26  Eric Blake  <ebb9@byu.net>
72222
72223         * lib/verror.c: Include <config.h> unconditionally.
72224
72225 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
72226
72227         * modules/clock-time (Maintainer): Add self.
72228         * modules/getlogin_r (Depends-on): Add extensions.
72229
72230 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72231
72232         * modules/clock-time: New module.
72233         * modules/nanosleep (Depends-on): Add clock-time.
72234         * modules/gethrxtime (Depends-on): Likewise.
72235         * modules/gettime (Depends-on): Likewise.
72236         * modules/settime (Depends-on): Likewise.
72237
72238         * modules/fts-lgpl: Depend on openat.
72239         * modules/mkancesdirs: Depend on savewd.
72240         * modules/mkdir-p: Likewise.
72241
72242 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72243
72244         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
72245
72246         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
72247         `gl_have_arbitrary_file_name_length_limit' to
72248         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
72249         actually works between configure runs.
72250
72251 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72252             Bruno Haible  <bruno@clisp.org>
72253
72254         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
72255
72256 2006-09-25  Jim Meyering  <jim@meyering.net>
72257
72258         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
72259         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
72260
72261 2006-09-25  Eric Blake  <ebb9@byu.net>
72262
72263         * gnulib-tool (func_import, func_create_testdir): Fix typos in
72264         exec's in 2006-09-18 patch when shuffling fds.
72265
72266 2006-09-25  Bruno Haible  <bruno@clisp.org>
72267
72268         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
72269         Reported by Jim Meyering.
72270
72271 2006-09-24  Jim Meyering  <jim@meyering.net>
72272
72273         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
72274         compare a pointer against a literal "0".  That caused failures with
72275         at least HP-UX's hpcc.
72276
72277 2006-09-22  Simon Josefsson  <jas@extundo.com>
72278
72279         * modules/gc-sha1:
72280         * modules/gc-md4:
72281         * modules/gc-hmac-sha1:
72282         * modules/gc-hmac-md5:
72283         * modules/gc-des:
72284         * modules/gc-arcfour: Distribute more files.
72285
72286 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72287
72288         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
72289         (gl_linked_iterator_from_to): Initialize struct completely.
72290         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
72291         (gl_tree_iterator_from_to): Likewise
72292         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
72293         * lib/gl_array_list.c [lint] (gl_array_iterator)
72294         (gl_array_iterator_from_to): Likewise.
72295         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
72296         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
72297         (gl_carray_iterator_from_to): Likewise.
72298
72299         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
72300         * lib/md4.c (md4_process_block): Remove unused variable.
72301         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
72302         parentheses for clarity.
72303
72304 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72305
72306         * modules/bison-i18n (Depends-on): Add gettext.
72307
72308 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72309
72310         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
72311         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
72312         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
72313         also add missing comma that caused broken test.
72314         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
72315         stdlib.h, for `abort'.
72316         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
72317         variables.
72318         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
72319         include unistd.h if present, for `rmdir'.
72320         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
72321         variables.
72322         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
72323         in the process include standard headers for prototypes.
72324         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
72325         gets declared on GNU/Linux.
72326         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
72327         unistd.h, for `rmdir'.
72328         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
72329
72330         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
72331         always true.
72332         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
72333
72334         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
72335
72336 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72337
72338         * gnulib-tool (func_version): Create output all at once.  This
72339         may help avoid triggering unnecessary SIGPIPEs, and at any
72340         rate it doesn't hurt.
72341
72342 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72343             Bruno Haible  <bruno@clisp.org>
72344
72345         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
72346         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72347         * m4/signed.m4 (bh_C_SIGNED): Likewise.
72348
72349         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
72350         (gl_FUNC_VASPRINTF): Invoke it.
72351
72352 2006-09-22  Bruno Haible  <bruno@clisp.org>
72353
72354         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
72355         getloadavg.c as first argument.
72356
72357 2006-09-22  Bruno Haible  <bruno@clisp.org>
72358
72359         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
72360         at the beginning of the gl_INIT macro.
72361         * modules/getloadavg (configure.ac): Pass $gl_source_base to
72362         gl_GETLOADAVG.
72363
72364 2006-09-22  Bruno Haible  <bruno@clisp.org>
72365
72366         * gnulib-tool (func_create_megatestdir): Don't include the config-h
72367         module.
72368         Suggested by Ralf Wildenhues.
72369
72370 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72371
72372         Import this patch from libc:
72373
72374         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
72375
72376         * lib/regex_internal.c (re_string_reconstruct): Handle
72377         offset < pstr->valid_raw_len && pstr->offsets_needed case.
72378         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
72379         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
72380         re_string_context_at.
72381
72382         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
72383         now requires it.
72384         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
72385         gl_REGEX now does it for us.
72386         (gl_REGEX): Add test taken from
72387         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
72388
72389         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
72390         Check that large offsets work.  Modernize Autoconf usages.
72391         Prefer "yes" to mean a good thing rather than a bad.
72392         Don't put "#define mkstemp" in config.h, as this might interfere
72393         with standard system headers that "#define mkstemp mkstemp64".
72394
72395         * modules/mkstemp (Depends-on): Add extensions, so that
72396         mkstemp is visible on some platforms.
72397         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
72398         (Include): Change to "mkstemp.h" from <stdlib.h>.
72399         (Files): Add mkstemp.h.
72400
72401         * lib/mkstemp.h: New file, since some standard headers
72402         #define mkstemp.
72403         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
72404         Include "mkstemp.h".
72405         Make the _LIBC code resemble glibc original more,
72406         e.g., use K&R style.
72407         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
72408         (mkstemp): Remove, since mkstemp.h does this for us.
72409         * lib/stdlib--.h: Include mkstemp.h.
72410
72411         Import this patch from libc:
72412
72413         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72414
72415         * lib/tempname.c (__gen_tempname): Change attempts_min
72416         into a macro.  Use preprocessor to decide how to initialize
72417         attempts [Coverity CID 67].
72418
72419 2006-09-20  Bruno Haible  <bruno@clisp.org>
72420
72421         * lib/mkdtemp.c: Import from libc.
72422         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72423                 * sysdeps/posix/tempname.c (__gen_tempname): Change
72424                 attempts_min into a macro.  Use preprocessor to decide how to
72425                 initialize attempts [Coverity CID 67].
72426         2001-11-27  Paul Eggert  <eggert@twinsun.com>
72427                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
72428                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
72429
72430 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72431
72432         * gnulib-tool (func_exit): New function, to allow to pass the
72433         exit status portably through the trap.  Use everywhere.
72434         (--help, --version): Signal a write error.
72435         (trap): catch SIGPIPE, for write errors.
72436         Exit at the end of the trap, with the correct exit status.
72437
72438 2006-09-19  Karl Berry  <karl@gnu.org>
72439
72440         * doc/gnulib.texi: note about the license texinfo files.
72441
72442 2006-09-19  Eric Blake  <ebb9@byu.net>
72443
72444         * gnulib-tool: Avoid space-tab.
72445
72446 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72447
72448         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
72449         that prevented coreutils 6.1 from building.  Problem reported
72450         by Petter Reinholdtsen.
72451
72452 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72453
72454         * gnulib-tool (avoidlist): Fix typo that broke options like
72455         --avoid=lock that are used by coreutils bootstrap.
72456
72457 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
72458
72459         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
72460         more systematically.
72461
72462 2006-09-18  Jim Meyering  <jim@meyering.net>
72463
72464         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
72465
72466 2006-09-18  Bruno Haible  <bruno@clisp.org>
72467
72468         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
72469
72470 2006-09-18  Bruno Haible  <bruno@clisp.org>
72471
72472         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
72473         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
72474         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
72475         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
72476         * m4/gettext.m4: Require autoconf >= 2.52.
72477         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
72478         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
72479         of gl_cv_header_inttypes_h.
72480
72481 2006-09-18  Bruno Haible  <bruno@clisp.org>
72482
72483         * lib/javaversion.c: Include configmake.h.
72484
72485 2006-09-18  Bruno Haible  <bruno@clisp.org>
72486
72487         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
72488         avoid that the while loops be executed in a subshell.
72489
72490 2006-09-18  Bruno Haible  <bruno@clisp.org>
72491
72492         * MODULES.html.sh (func_module): Break long lines.
72493         Suggested by Bruce Korb <bkorb@gnu.org>.
72494
72495 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72496
72497         Speed up by a factor of 1.12.
72498         * gnulib-tool (nl): New variable.
72499         (func_import): Rewrite include directive extraction to only read each
72500         directive once.
72501
72502 2006-09-17  Bruno Haible  <bruno@clisp.org>
72503
72504         * modules/javaversion (Makefile.am): Remove DEFS setting.
72505         (Depends-on): Add configmake, for PKGDATADIR definition.
72506
72507 2006-09-17  Bruno Haible  <bruno@clisp.org>
72508
72509         * gnulib-tool (func_create_testdir): Rewrite all files at once.
72510
72511 2006-09-17  Bruno Haible  <bruno@clisp.org>
72512
72513         * gnulib-tool (func_append): New function, stolen from libtool.m4.
72514         (func_modules_transitive_closure, func_modules_add_dummy,
72515         func_modules_to_filelist, func_import, func_create_testdir,
72516         func_create_megatestdir, ...): Use it wherever possible.
72517         Suggested by Ralf Wildenhues.
72518
72519 2006-09-16  Karl Berry  <karl@gnu.org>
72520
72521         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
72522         to avoid sectioning errors.
72523         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
72524         [ifinfo]: blank line after @center-ed titles.
72525         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
72526         Spell FSF address consistently with others.
72527         (These changes approved by rms.)
72528
72529 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72530
72531         Speed up by a factor of 1.61.
72532         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
72533         already checked module names again.
72534
72535 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72536
72537         Speed up by a factor of 1.13.
72538         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
72539         for new_files, and the input to func_add_or_update.
72540
72541 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72542
72543         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
72544         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
72545
72546 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72547
72548         * modules/mkancesdirs (Depends-on): Add fcntl.
72549         * modules/savewd: New file.
72550         * MODULES.html.sh (File system functions): Add savewd.
72551
72552         * modules/configmake (Makefile.am): Add support for the
72553         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
72554
72555 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72556
72557         * m4/savewd.m4: New file.
72558
72559 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72560
72561         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
72562         (dirchownmod): New arg FD.  All callers changed.
72563         Use FD rather than opening the directory ourself, as opening is
72564         now the caller's responsibility.
72565         * lib/dirchownmod.h: Likewise.
72566         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
72567         hosts that require <sys/types.h> before <sys/stat.h>.  Include
72568         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
72569         (test_dir): Remove.
72570         (mkancesdirs): Return length of prefix of FILE that has already
72571         been made, or -2 if there is a child doing the work.  Redo
72572         algorithm so that it is O(N) rather than O(N**2).  Optimize away
72573         ".", and treat ".." specially since it might stray back into
72574         already-created areas.  Use a subprocess if necessary.  New arg
72575         WD; all users changed.  MAKE_DIR function should now return 1
72576         if it creates a directory that is not readable.  Return -2 if
72577         a child process is spun off.
72578         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
72579         Adjust signature to match code.
72580         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
72581         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
72582         all users changed.
72583         * lib/savewd.c, lib/savewd.h: New files.
72584
72585 2006-09-15  Jim Meyering  <jim@meyering.net>
72586
72587         * modules/rename-dest-slash: New module.
72588         * MODULES.html.sh (posix_compat): Add it here.
72589
72590         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
72591
72592 2006-09-15  Jim Meyering  <jim@meyering.net>
72593
72594         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
72595         file.
72596
72597         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
72598
72599 2006-09-15  Jim Meyering  <jim@meyering.net>
72600
72601         * lib/rename-dest-slash.c (has_trailing_slash): Use
72602         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
72603         (rpl_rename_dest_slash): Perform the cheaper trailing slash
72604         test before testing whether SRC is a directory.
72605         Suggestions from Bruno Haible.
72606
72607         Avoid a warning about an unused variable.
72608         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
72609         into the #ifdef block where it's used.
72610
72611         * lib/rename-dest-slash.c: New file.
72612
72613 2006-09-14  Bruno Haible  <bruno@clisp.org>
72614
72615         * lib/allocsa.c: Include <config.h> unconditionally.
72616         * lib/asnprintf.c: Likewise.
72617         * lib/asprintf.c: Likewise.
72618         * lib/c-strcasecmp.c: Likewise.
72619         * lib/c-strcasestr.c: Likewise.
72620         * lib/c-strncasecmp.c: Likewise.
72621         * lib/c-strstr.c: Likewise.
72622         * lib/classpath.c: Likewise.
72623         * lib/clean-temp.c: Likewise.
72624         * lib/concatpath.c: Likewise.
72625         * lib/copy-file.c: Likewise.
72626         * lib/csharpcomp.c: Likewise.
72627         * lib/csharpexec.c: Likewise.
72628         * lib/execute.c: Likewise.
72629         * lib/fatal-signal.c: Likewise.
72630         * lib/findprog.c: Likewise.
72631         * lib/fwriteerror.c: Likewise.
72632         * lib/gl_array_list.c: Likewise.
72633         * lib/gl_array_oset.c: Likewise.
72634         * lib/gl_avltree_list.c: Likewise.
72635         * lib/gl_avltree_oset.c: Likewise.
72636         * lib/gl_avltreehash_list.c: Likewise.
72637         * lib/gl_carray_list.c: Likewise.
72638         * lib/gl_linked_list.c: Likewise.
72639         * lib/gl_linkedhash_list.c: Likewise.
72640         * lib/gl_list.c: Likewise.
72641         * lib/gl_oset.c: Likewise.
72642         * lib/gl_rbtree_list.c: Likewise.
72643         * lib/gl_rbtree_oset.c: Likewise.
72644         * lib/gl_rbtreehash_list.c: Likewise.
72645         * lib/imaxabs.c: Likewise.
72646         * lib/imaxdiv.c: Likewise.
72647         * lib/javacomp.c: Likewise.
72648         * lib/javaexec.c: Likewise.
72649         * lib/javaversion.c: Likewise.
72650         * lib/linebreak.c: Likewise.
72651         * lib/localcharset.c: Likewise.
72652         * lib/lock.c: Likewise.
72653         * lib/mbchar.c: Likewise.
72654         * lib/mbswidth.c: Likewise.
72655         * lib/mkdtemp.c: Likewise.
72656         * lib/pipe.c: Likewise.
72657         * lib/printf-args.c: Likewise.
72658         * lib/printf-parse.c: Likewise.
72659         * lib/progname.c: Likewise.
72660         * lib/progreloc.c: Likewise.
72661         * lib/readlink.c: Likewise.
72662         * lib/sh-quote.c: Likewise.
72663         * lib/stpcpy.c: Likewise.
72664         * lib/stpncpy.c: Likewise.
72665         * lib/strcasecmp.c: Likewise.
72666         * lib/strcasestr.c: Likewise.
72667         * lib/strcspn.c: Likewise.
72668         * lib/striconv.c: Likewise.
72669         * lib/strncasecmp.c: Likewise.
72670         * lib/strnlen1.c: Likewise.
72671         * lib/strstr.c: Likewise.
72672         * lib/strtok_r.c: Likewise.
72673         * lib/tls.c: Likewise.
72674         * lib/tmpdir.c: Likewise.
72675         * lib/unicodeio.c: Likewise.
72676         * lib/unsetenv.c: Likewise.
72677         * lib/vasnprintf.c: Likewise.
72678         * lib/vasprintf.c: Likewise.
72679         * lib/wait-process.c: Likewise.
72680         * lib/xallocsa.c: Likewise.
72681         * lib/xsetenv.c: Likewise.
72682         * lib/xstriconv.c: Likewise.
72683
72684 2006-09-13  Simon Josefsson  <jas@extundo.com>
72685
72686         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72687         that internally, suggested by Ralf Wildenhues
72688         <Ralf.Wildenhues@gmx.de>.
72689
72690 2006-09-13  Simon Josefsson  <jas@extundo.com>
72691
72692         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72693         @LIBOBJS@.
72694         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72695
72696 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72697
72698         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72699         longer worry about uses that don't define HAVE_CONFIG_H.
72700         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72701         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72702         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72703         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72704         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72705         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72706         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72707         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72708         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72709         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72710         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72711         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72712         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72713         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72714         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72715         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72716         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72717         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72718         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72719         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72720         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72721         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72722         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72723         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72724         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72725         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72726         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72727         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72728         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72729         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72730         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72731         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72732         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72733         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72734         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72735         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72736         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72737         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72738         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72739         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72740         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72741         Likewise.
72742
72743 2006-09-13  Eric Blake  <ebb9@byu.net>
72744
72745         * lib/getopt.c: Fix typo in last commit.
72746
72747 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72748
72749         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72750         dgettext.
72751
72752 2006-09-12  Jim Meyering  <jim@meyering.net>
72753
72754         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72755         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72756         Reported by Nelson H. F. Beebe.
72757
72758 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72759
72760         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72761         program_invocation_name and program_invocation_short_name are
72762         initialized.
72763         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72764         and program_invocation_short_name to argp.h, so they are visible
72765         to user programs.
72766         * lib/argp.h: Likewise
72767
72768 2006-09-10  Bruno Haible  <bruno@clisp.org>
72769
72770         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72771         m4/inttypes_h.m4, m4/uintmax_t.m4.
72772
72773 2006-09-10  Bruno Haible  <bruno@clisp.org>
72774
72775         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72776         gl_AC_TYPE_UINTMAX_T.
72777
72778 2006-09-10  Bruno Haible  <bruno@clisp.org>
72779
72780         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72781
72782 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72783
72784         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72785         convention.  Text proposed by Bruno Haible.
72786         (struct argp_option): Document the use of N_() wrappers.
72787
72788         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72789         '\v', and translate the two parts separately, instead of feeding
72790         the whole string to gettext.  This allows to exclude
72791         '\v' from the strings visible to the translator by writing doc
72792         strings as N_("..") "\v" N_("..").
72793
72794 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72795
72796         * config/srclist.txt: Undo latest change; the bug was fixed.
72797
72798 2006-09-09  Bruno Haible  <bruno@clisp.org>
72799
72800         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72801         assignments if building a library without libtool.
72802         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72803         in func_emit_lib_Makefile_am.
72804         (func_import): When building a static library libfoo.a, arrange to
72805         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72806         (func_create_testdir): Likewise.
72807         * modules/gc (configure.ac, Makefile.am): If building statically,
72808         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72809         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72810         * modules/striconv (configure.ac, Makefile.am): Likewise.
72811         Based on a suggestion by Ralf Wildenhues.
72812
72813 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72814
72815         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72816         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72817         Also:
72818
72819         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72820         Add year_2050_test to catch glibc bug 2821
72821         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72822
72823         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72824         Prefer #ifdef to #if.
72825
72826         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
72827         Return from 'main' instead of calling 'exit'.
72828
72829 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72830
72831         * lib/mktime.c (guess_time_tm): Fix bug where mktime
72832         returned the maximum time_t value rather than (time_t) -1.
72833         Problem originally reported by William Bardwell
72834         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72835
72836         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72837         Moved to here ...
72838         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72839         ... from here.
72840
72841 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72842
72843         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
72844         2821 is fixed.
72845
72846 2006-09-08  Jim Meyering  <jim@meyering.net>
72847
72848         Don't make generated files read-only.  That would bother too many
72849         people.  However, do retain the ability to work when targets are
72850         read-only: remove the destination and temporary files before writing
72851         them (when generated via sed or echo), or by using the -f option for
72852         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72853         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72854         * modules/byteswap, modules/configmake, modules/fcntl:
72855         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72856         * modules/localcharset, modules/netinet_in, modules/poll:
72857         * modules/stdbool, modules/stdint, modules/sys_select:
72858         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72859
72860 2006-09-08  Jim Meyering  <jim@meyering.net>
72861
72862         Avoid new build failure on FreeBSD 6.0.
72863         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72864         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72865         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72866
72867 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72868
72869         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72870
72871 2006-09-07  Jim Meyering  <jim@meyering.net>
72872
72873         Fix global typo in last change: use chmod u-w, not chmod u-x.
72874         Spotted by Paul Eggert and Bruce Korb.
72875         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72876         * modules/byteswap, modules/configmake, modules/fcntl:
72877         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72878         * modules/localcharset, modules/netinet_in, modules/poll:
72879         * modules/stdbool, modules/stdint, modules/sys_select:
72880         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72881
72882 2006-09-06  Jim Meyering  <jim@meyering.net>
72883
72884         Make generated files be read-only.
72885         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72886         Ensure that each generated file is now read-only.
72887         * modules/argz: Likewise.
72888         * modules/arpa_inet: Likewise.
72889         * modules/byteswap: Likewise.
72890         * modules/configmake: Likewise.
72891         * modules/fcntl: Likewise.
72892         * modules/fnmatch: Likewise.
72893         * modules/getopt: Likewise.
72894         * modules/glob: Likewise.
72895         * modules/inttypes: Likewise.
72896         * modules/netinet_in: Likewise.
72897         * modules/poll: Likewise.
72898         * modules/stdbool: Likewise.
72899         * modules/stdint: Likewise.
72900         * modules/sys_select: Likewise.
72901         * modules/sys_socket: Likewise.
72902         * modules/sys_stat: Likewise.
72903         * modules/sysexits: Likewise.
72904         * modules/localcharset: Same as above, but continue using temporary
72905         file named "t-$@" (why different?) rather than the "$@-t" used
72906         everywhere else.
72907
72908         * modules/sysexits (Makefile.am): Replace literal occurrences
72909         of "sysexit.h" more readable, and more consistent, "$@".
72910
72911 2006-09-06  Bruno Haible  <bruno@clisp.org>
72912
72913         * modules/striconv: New file.
72914         * modules/xstriconv: New file.
72915         * MODULES.html.sh (Internationalization functions): Add striconv,
72916         xstriconv.
72917
72918 2006-09-06  Bruno Haible  <bruno@clisp.org>
72919
72920         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72921         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72922         not using libtool correctly.
72923
72924 2006-09-06  Bruno Haible  <bruno@clisp.org>
72925
72926         * lib/striconv.h: New file.
72927         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72928         iconvstring.c.
72929         * lib/xstriconv.h: New file.
72930         * lib/xstriconv.c: New file.
72931
72932 2006-09-06  Bruno Haible  <bruno@clisp.org>
72933
72934         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72935         lib_..._LDFLAGS.
72936
72937 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72938
72939         * lib/argz_.h: Sync from Libtool.
72940
72941         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72942                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72943
72944         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72945
72946 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72947
72948         * modules/trim: New file.
72949
72950 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72951
72952         * lib/trim.h: New file.
72953         * lib/trim.c: New file.
72954
72955 2006-09-05  Bruno Haible  <bruno@clisp.org>
72956
72957         * MODULES.html.sh (String handling): Add trim.
72958
72959 2006-09-04  Karl Berry  <karl@gnu.org>
72960
72961         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
72962         until next release.
72963
72964 2006-09-03  Bruno Haible  <bruno@clisp.org>
72965
72966         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
72967         correctly.
72968
72969 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72970
72971         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
72972         not gl_GETLOADAVG.  Omit unneeded semicolons.
72973         Problems reported by Ralf Wildenhues in
72974         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72975         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
72976         at the end, which is the usual gnulib style.
72977
72978         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
72979         of doing all the work ourselves.
72980         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
72981         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
72982
72983 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72984
72985         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
72986         Problem reported by Ralf Wildenhues in
72987         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72988
72989         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
72990         HAVE_STRUCT_STATFS_F_FSTYPENAME.
72991
72992 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72993
72994         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
72995         yesterday's patch by changing test -n to test -z.
72996
72997 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72998
72999         * modules/getloadavg (Files): Add m4/getloadavg.m4.
73000         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
73001         the former is now obsolescent.
73002
73003         * modules/chdir-long (Depends-on): Add fcntl.
73004
73005 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73006
73007         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
73008         obsolescent, and programs should use gnulib instead.
73009         * m4/getloadavg.m4: New file, with contents taken from Autoconf
73010         but with prefixes changed.
73011
73012 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73013
73014         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
73015         or stdbool.h, because they might not exist while configuring.
73016
73017         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
73018         Don't include unistd.h or limits.h; not needed, since chdir-long.h
73019         does that for us.
73020         (O_DIRECTORY): Remove.
73021
73022 2006-08-31  Eric Blake  <ebb9@byu.net>
73023
73024         * gnulib-tool: Don't let emacs change spaces to TAB.
73025
73026 2006-08-31  Bruno Haible  <bruno@clisp.org>
73027
73028         * gnulib-tool: When calling func_import more than once, do it in a
73029         subshell.
73030         Reported by Eric Blake <ebb9@byu.net>.
73031
73032 2006-08-31  Bruno Haible  <bruno@clisp.org>
73033
73034         * gnulib-tool (nl): Remove variable.
73035         (sed_transform_lib_file): Use more robust test for config-h module.
73036         (func_import): Fix typo in 2006-08-25 patch.
73037
73038 2006-08-31  Bruno Haible  <bruno@clisp.org>
73039
73040         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
73041         specified, augment Makefile.am variables instead of assigning them.
73042
73043 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73044
73045         Work around a bug in both the Linux and SunOS 64-bit kernels:
73046         nanosleep mishandles sleeps for longer than 2**31 seconds.
73047         Problem reported by Frank v Waveren in
73048         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73049         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
73050         Check for nanosleep bug.
73051         (LIB_NANOSLEEP): Append clock_gettime library if needed.
73052
73053 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73054
73055         Work around a bug in both the Linux and SunOS 64-bit kernels:
73056         nanosleep mishandles sleeps for longer than 2**31 seconds.
73057         Problem reported by Frank v Waveren in
73058         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73059         * lib/nanosleep.c (BILLION): New constant.
73060         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
73061         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
73062         implementation.
73063
73064 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73065
73066         * modules/nanosleep (Depends-on): Add gettime.
73067
73068 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73069         and Simon Josefsson  <jas@extundo.com>
73070         and Oskar Liljeblad  <oskar@osk.mine.nu>
73071
73072         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
73073         * gnulib-tool (func_import): New license type 'unmodifiable license
73074         text'.
73075         * modules/fdl: Use it.  Longer description.
73076         * module/gpl, module/lgpl: New files.
73077
73078 2006-08-30  Jim Meyering  <jim@meyering.net>
73079
73080         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
73081         shadowing the parameter.
73082
73083 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73084
73085         Sync from Libtool:
73086
73087         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73088
73089         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
73090         sharing with gnulib.  Report by Eric Blake.
73091
73092 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73093
73094         * modules/isapipe: New file.
73095         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
73096
73097 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73098
73099         * modules/configmake (Makefile.am): Add a comment, and omit
73100         the CONFIGMAKE_ prefix from generated macro names.  Suggested
73101         by Bruno Haible.
73102
73103 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73104
73105         * m4/isapipe.m4: New file.
73106
73107 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73108
73109         * lib/isapipe.c, lib/isapipe.h: New files.
73110
73111 2006-08-29  Jim Meyering  <jim@meyering.net>
73112
73113         * modules/configmake (Makefile.am): Make configmake.h depend on
73114         Makefile.  Otherwise, a stale configmake.h could hang around.
73115
73116 2006-08-29  Eric Blake  <ebb9@byu.net>
73117
73118         * lib/error.c (error_at_line, print_errno_message): Match libc, after
73119         resolution of upstream bug 3044.
73120
73121 2006-08-29  Bruno Haible  <bruno@clisp.org>
73122
73123         * modules/localcharset (Depends-on): Add configmake.
73124         (Makefile.am): Remove setting of LIBDIR through DEFS.
73125
73126 2006-08-29  Bruno Haible  <bruno@clisp.org>
73127
73128         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
73129         defined.
73130
73131 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73132
73133         * modules/fcntl: New file.
73134         * modules/chdir-safer (Depends-on): Add fcntl.
73135         * modules/fts: Likewise.
73136         * modules/mkdir-p: Likewise.
73137
73138         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
73139         This undoes the most recent change, since we're now addressing the
73140         problem in a different way.
73141
73142         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
73143         into output, since the output might be called Makefile.am even
73144         if $makefile_name is something different.
73145         (func_import): Use $makefile_am rather than
73146         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
73147         empty.
73148
73149         * modules/inttypes (Files): Add m4/inttypes-h.m4.
73150
73151 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73152
73153         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
73154         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
73155         recent change to stdint.m4, since we're now addressing the problem in a
73156         different way.
73157
73158 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73159
73160         * m4/fcntl_h.m4: New file.
73161
73162 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73163
73164         * lib/fcntl_.h: New file.
73165         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
73166         the fcntl module.
73167         * lib/dirchownmod.c: Likewise.
73168         * lib/fts.c: Likewise.
73169
73170         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
73171         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
73172         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
73173         just before including <inttypes.h>, to avoid circular inclusion.
73174
73175 2006-08-28  Jim Meyering  <jim@meyering.net>
73176
73177         * doc/visibility.texi: Actually read and correct the grammar of the
73178         sentence affected by yesterday's change.
73179
73180 2006-08-28  Eric Blake  <ebb9@byu.net>
73181
73182         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
73183         needs wrapper.
73184
73185 2006-08-28  Eric Blake  <ebb9@byu.net>
73186
73187         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
73188
73189 2006-08-28  Eric Blake  <ebb9@byu.net>
73190
73191         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
73192
73193 2006-08-28  Bruno Haible  <bruno@clisp.org>
73194
73195         * modules/c-strstr: New file, from GNU gettext.
73196         * MODULES.html.sh (String handling): Add c-strstr.
73197
73198 2006-08-28  Bruno Haible  <bruno@clisp.org>
73199
73200         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
73201         macros.
73202         Reported by Eric Blake.
73203
73204 2006-08-28  Bruno Haible  <bruno@clisp.org>
73205
73206         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
73207         (VASNPRINTF): Return a string of length > INT_MAX without failing.
73208         * lib/vasprintf.c: Include errno.h, limits.h.
73209         (EOVERFLOW): New fallback definition.
73210         (vasprintf): Test here whether the string length is > INT_MAX.
73211         * lib/vsnprintf.c: Include errno.h, limits.h.
73212         (EOVERFLOW): New fallback definition.
73213         (vsnprintf): Fix bug when generated string was too long for the buffer.
73214         Test here whether the string length is > INT_MAX.
73215
73216 2006-08-28  Bruno Haible  <bruno@clisp.org>
73217
73218         * lib/inttypes_.h (SCNX*): Remove definitions.
73219         Reported by Eric Blake.
73220
73221 2006-08-28  Bruno Haible  <bruno@clisp.org>
73222
73223         * lib/c-strstr.h: New file, from GNU gettext.
73224         * lib/c-strstr.c: New file, from GNU gettext.
73225
73226 2006-08-28  Bruno Haible  <bruno@clisp.org>
73227
73228         * gnulib-tool: Reorder some statements.
73229
73230 2006-08-28  Bruno Haible  <bruno@clisp.org>
73231
73232         * gnulib-tool: New option --makefile-name.
73233         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
73234         $makefile_name.
73235         (func_import): Write $makefile_name to the cache file, and read it from
73236         there unless explicitly specified. Use $makefile_name as file name
73237         instead of Makefile.am. Adjust the recommendations accordingly.
73238
73239 2006-08-28  Bruno Haible  <bruno@clisp.org>
73240
73241         * gnulib-tool (func_verify_module): Check against misapplying patch.
73242
73243 2006-08-28  Bruno Haible  <bruno@clisp.org>
73244
73245         * gnulib-tool (func_relativize, func_relconcat): New functions.
73246         Give an error if --local-dir is given with --update.
73247         Remove trailing slashes from $local_gnulib_dir.
73248         (func_import): Store the relativized $local_gnulib_dir in
73249         gnulib-cache.m4, and read it from there if not specified explicitly.
73250
73251 2006-08-28  Bruno Haible  <bruno@clisp.org>
73252
73253         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
73254         is the current directory. Respect also $local_gnulib_dir.
73255
73256 2006-08-28  Bruno Haible  <bruno@clisp.org>
73257             Simon Josefsson  <jas@extundo.com>
73258
73259         BeOS portability.
73260         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
73261
73262 2006-08-27  Jim Meyering  <jim@meyering.net>
73263
73264         * doc/visibility.texi: Remove duplicate word: "pointer".
73265
73266 2006-08-26  Bruno Haible  <bruno@clisp.org>
73267
73268         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
73269         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
73270         (Makefile.am): Create inttypes.h from inttypes_.h.
73271         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
73272
73273         * modules/imaxabs: New file.
73274
73275         * modules/imaxdiv: New file.
73276
73277 2006-08-26  Bruno Haible  <bruno@clisp.org>
73278
73279         * m4/inttypes.m4: New file.
73280         * m4/_inttypes_h.m4: Remove file.
73281         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
73282         PRI_MACROS_BROKEN.
73283         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
73284
73285         * m4/imaxabs.m4: New file.
73286
73287         * m4/imaxdiv.m4: New file.
73288
73289 2006-08-26  Bruno Haible  <bruno@clisp.org>
73290
73291         * lib/inttypes_.h: New file.
73292         * lib/inttypes.h: Remove file.
73293         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
73294
73295         * lib/imaxabs.c: New file.
73296
73297         * lib/imaxdiv.c: New file.
73298
73299 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73300
73301         New config-h module, so that "make" output needn't be cluttered
73302         by -DHAVE_CONFIG_H.
73303         * MODULES.html.sh (Support for building libraries and executables):
73304         Add config-h.
73305         * modules/config-h: New file.
73306         * gnulib-tool (nl, sed_transform_lib_file): New vars.
73307         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
73308         the config-h module is used.
73309
73310         New configmake module, so that "make" output needn't be cluttered
73311         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
73312         * MODULES.html.sh (Support for building libraries and executables):
73313         Add configmake.
73314         * modules/configmake: New file.
73315
73316 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73317
73318         * m4/config-h.m4: New file.
73319
73320 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73321
73322         * config/srclist.txt: Add elisp-comp.
73323
73324 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73325
73326         * MODULES.html.sh (Support for building libraries and executables):
73327         Add elisp-comp.
73328         * build-aux/elisp-comp: New file.
73329         * modules/elisp-comp: New file.
73330
73331 2006-08-24  Bruno Haible  <bruno@clisp.org>
73332
73333         * gnulib-tool (func_create_testdir): Use non-default values of
73334         sourcebase and m4base.
73335
73336 2006-08-24  Bruno Haible  <bruno@clisp.org>
73337
73338         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
73339         HTML structure.
73340
73341 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73342
73343         * modules/openat (Depends-on): Add lchown.
73344
73345 2006-08-23  Bruno Haible  <bruno@clisp.org>
73346
73347         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
73348         of gl_LOCK_EARLY instead of gl_LOCK.
73349
73350 2006-08-23  Bruno Haible  <bruno@clisp.org>
73351
73352         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
73353         on OSF/1 to no.
73354         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
73355
73356 2006-08-23  Bruno Haible  <bruno@clisp.org>
73357
73358         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
73359         as unusable.
73360
73361         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
73362         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
73363         (gl_LOCK): New macro.
73364
73365 2006-08-22  Simon Josefsson  <jas@extundo.com>
73366
73367         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
73368         to md5 module.
73369
73370 2006-08-22  Simon Josefsson  <jas@extundo.com>
73371
73372         * MODULES.html.sh: Add "Support for maintaining and release
73373         projects".
73374
73375         * build-aux/gnupload: New file, from coreutils.
73376
73377 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73378
73379         Avoid the need for AC_LIBSOURCES in m4 macros.
73380         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
73381         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
73382         * modules/check-version (EXTRA_DIST): Add check-version.h.
73383         * modules/crc (EXTRA_DIST): Add crc.h.
73384         * modules/des (EXTRA_DIST): Add des.h.
73385         * modules/gc (EXTRA_DIST): Add gc.h.
73386         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
73387         * modules/getline (EXTRA_DIST): Add getline.h.
73388         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
73389         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
73390         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
73391         * modules/md2 (EXTRA_DIST): Add md2.h.
73392         * modules/md4 (EXTRA_DIST): Add md4.h.
73393         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
73394         * modules/read-file (EXTRA_DIST): Add read-file.h.
73395         * modules/readline (EXTRA_DIST): Add readline.h.
73396         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
73397         rijndael-api-fst.h.
73398
73399 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73400
73401         * m4/rijndael.m4 (gl_ARCFOUR):
73402         * m4/arctwo.m4 (gl_ARCTWO):
73403         * m4/check-version.m4 (gl_CHECK_VERSION):
73404         * m4/crc.m4 (gl_CRC):
73405         * m4/des.m4 (gl_DES):
73406         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
73407         * m4/gc.m4 (gl_GC):
73408         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
73409         * m4/getline.m4 (gl_FUNC_GETLINE):
73410         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
73411         * m4/hmac-md5.m4 (gl_HMAC_MD5):
73412         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
73413         * m4/md2.m4 (gl_MD2):
73414         * m4/md4.m4 (gl_MD4):
73415         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
73416         * m4/read-file.m4 (gl_FUNC_READ_FILE):
73417         * m4/readline.m4 (gl_FUNC_READLINE):
73418         * m4/rijndael.m4 (gl_RIJNDAEL):
73419         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73420         to get the necessary .h files and whatnot.
73421
73422 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73423
73424         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
73425         gnulib rather than the other way around.
73426         * config/srclistvars.sh (COREUTILS): Remove.
73427
73428 2006-08-22  Jim Meyering  <jim@meyering.net>
73429
73430         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
73431
73432         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
73433
73434 2006-08-22  Eric Blake  <ebb9@byu.net>
73435
73436         * modules/regexprops-generic: New file.
73437         * MODULES.html.sh (Support for building documentation): List it.
73438
73439 2006-08-22  Eric Blake  <ebb9@byu.net>
73440
73441         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
73442         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
73443         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
73444         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
73445
73446 2006-08-22  Bruno Haible  <bruno@clisp.org>
73447
73448         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
73449         and lib_LTLIBRARIES like the other lib_* variables.
73450
73451 2006-08-22  Bruno Haible  <bruno@clisp.org>
73452
73453         * build-aux/x-to-1.in: New file, from GNU gettext.
73454
73455 2006-08-22  Bruno Haible  <bruno@clisp.org>
73456
73457         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
73458         <utmpx.h> exists.
73459
73460 2006-08-22  Bruno Haible  <bruno@clisp.org>
73461
73462         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
73463         <utmpx.h> exists.
73464
73465 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73466
73467         BeOS portability.
73468         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
73469         exist.
73470         Problem reported by Bruno Haible.
73471
73472 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73473
73474         Avoid the need for AC_LIBSOURCES in m4 macros.
73475         * modules/acl (EXTRA_DIST): Add acl.h.
73476         * modules/argmatch (Files): Add m4/argmatch.m4.
73477         (configure.ac): Add gl_ARGMATCH.
73478         (EXTRA_DIST): Renamed from lib_SOURCES, for
73479         consistency with the other modules.  Remove argmatch.c.
73480         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
73481         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
73482         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
73483         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
73484         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
73485         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
73486         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
73487         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
73488         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
73489         * modules/closeout (EXTRA_DIST): Add closeout.h.
73490         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
73491         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
73492         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
73493         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
73494         dirname.h; remove basename.c and stripslash.c.
73495         * modules/exclude (EXTRA_DIST): Add exclude.h.
73496         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
73497         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
73498         * modules/file-type (EXTRA_DIST): Add file-type.h.
73499         * modules/filemode (EXTRA_DIST): Add filemode.h.
73500         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
73501         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73502         * modules/fpending (EXTRA_DIST): Add __fpending.h.
73503         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
73504         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
73505         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
73506         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
73507         * modules/getdate (EXTRA_DIST): Add getdate.c.
73508         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
73509         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
73510         * modules/getpass (EXTRA_DIST): Add getpass.h.
73511         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
73512         * modules/group-member (EXTRA_DIST): Add group-member.h.
73513         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
73514         * modules/hash (EXTRA_DIST): Add hash.h.
73515         * modules/human (EXTRA_DIST): Add human.h.
73516         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
73517         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
73518         * modules/lchown (EXTRA_DIST): Add lchown.h.
73519         * modules/long-options (EXTRA_DIST): Add long-options.h.
73520         * modules/lstat (EXTRA_DIST): Add lstat.h.
73521         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
73522         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
73523         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
73524         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
73525         * modules/memxor (EXTRA_DIST): Add memxor.h.
73526         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
73527         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
73528         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
73529         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
73530         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
73531         * modules/physmem (EXTRA_DIST): Add physmem.h.
73532         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
73533         * modules/posixver (EXTRA_DIST): Add posixver.h.
73534         * modules/quote (EXTRA_DIST): Add quote.h.
73535         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
73536         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
73537         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
73538         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
73539         regex_internal.h regexec.c.
73540         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
73541         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
73542         * modules/same (EXTRA_DIST): Add same.h.
73543         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
73544         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
73545         * modules/savedir (EXTRA_DIST): Add savedir.h.
73546         * modules/sha1 (EXTRA_DIST): Add sha1.h.
73547         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
73548         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
73549         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
73550         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
73551         * modules/strdup (EXTRA_DIST): Add strdup.h.
73552         * modules/strftime (EXTRA_DIST): Add strftime.h.
73553         * modules/strndup (EXTRA_DIST): Add strndup.h.
73554         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
73555         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
73556         * modules/time_r (EXTRA_DIST): Add time_r.h.
73557         * modules/timespec (EXTRA_DIST): Add timespec.h.
73558         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73559         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
73560         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
73561         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
73562         * modules/userspec (EXTRA_DIST): Add userspec.h.
73563         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
73564         * modules/utimens (EXTRA_DIST): Add utimens.h.
73565         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
73566         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
73567         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
73568         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
73569         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
73570         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
73571         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
73572         * modules/yesno (EXTRA_DIST): Add yesno.h.
73573
73574 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73575
73576         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
73577
73578         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
73579         * m4/dev-ino.m4, same-inode.m4: Remove.
73580
73581         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
73582         * m4/acl.m4 (AC_FUNC_ACL):
73583         * m4/backupfile.m4 (gl_BACKUPFILE):
73584         * m4/c-strtod.m4 (gl_C99_STRTOLD):
73585         * m4/canon-host.m4 (gl_CANON_HOST):
73586         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73587         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
73588         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
73589         * m4/cloexec.m4 (gl_CLOEXEC):
73590         * m4/close-stream.m4 (gl_CLOSE_STREAM):
73591         * m4/closeout.m4 (gl_CLOSEOUT):
73592         * m4/dirfd.m4 (gl_FUNC_DIRFD):
73593         * m4/dirname.m4 (gl_DIRNAME):
73594         * m4/exclude.m4 (gl_EXCLUDE):
73595         * m4/exitfail.m4 (gl_EXITFAIL):
73596         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
73597         * m4/file-type.m4 (gl_FILE_TYPE):
73598         * m4/filemode.m4 (gl_FILEMODE):
73599         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
73600         * m4/fpending.m4 (gl_FUNC_FPENDING):
73601         * m4/fprintftime.m4 (gl_FPRINTFTIME):
73602         * m4/fts.m4 (gl_FUNC_FTS):
73603         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
73604         * m4/getdate.m4 (gl_GETDATE):
73605         * m4/gethrxtime.m4 (gl_GETHRXTIME):
73606         * m4/getpagesize.m4 (gl_GETPAGESIZE):
73607         * m4/getpass.m4 (gl_FUNC_GETPASS):
73608         * m4/gettime.m4 (gl_GETTIME):
73609         * m4/getugroups.m4 (gl_GETUGROUPS):
73610         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
73611         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
73612         * m4/hard-locale.m4 (gl_HARD_LOCALE):
73613         * m4/hash.m4 (gl_HASH):
73614         * m4/idcache.m4 (gl_IDCACHE):
73615         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
73616         * m4/lchown.m4 (gl_FUNC_LCHOWN):
73617         * m4/long-options.m4 (gl_LONG_OPTIONS):
73618         * m4/lstat.m4 (gl_FUNC_LSTAT):
73619         * m4/md5.m4 (gl_MD5):
73620         * m4/memcasecmp.m4 (gl_MEMCASECMP):
73621         * m4/memcoll.m4 (gl_MEMCOLL):
73622         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
73623         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
73624         * m4/memxor.m4 (gl_MEMXOR):
73625         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
73626         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
73627         * m4/modechange.m4 (gl_MODECHANGE):
73628         * m4/mountlist.m4 (gl_MOUNTLIST):
73629         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73630         * m4/openat.m4 (gl_FUNC_OPENAT):
73631         * m4/pathmax.m4 (gl_PATHMAX):
73632         * m4/physmem.m4 (gl_PHYSMEM):
73633         * m4/posixtm.m4 (gl_POSIXTM):
73634         * m4/posixver.m4 (gl_POSIXVER):
73635         * m4/quote.m4 (gl_QUOTE):
73636         * m4/quotearg.m4 (gl_QUOTEARG):
73637         * m4/readtokens.m4 (gl_READTOKENS):
73638         * m4/readutmp.m4 (gl_READUTMP):
73639         * m4/regex.m4 (gl_REGEX):
73640         * m4/safe-read.m4 (gl_SAFE_READ):
73641         * m4/safe-write.m4 (gl_SAFE_WRITE):
73642         * m4/same.m4 (gl_SAME):
73643         * m4/save-cwd.m4 (gl_SAVE_CWD):
73644         * m4/savedir.m4 (gl_SAVEDIR):
73645         * m4/settime.m4 (gl_SETTIME):
73646         * m4/sha1.m4 (gl_SHA1):
73647         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
73648         * m4/stat-macros.m4 (gl_STAT_MACROS):
73649         * m4/stat-time.m4 (gl_STAT_TIME):
73650         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
73651         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
73652         * m4/strdup.m4 (gl_FUNC_STRDUP):
73653         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
73654         * m4/strndup.m4 (gl_FUNC_STRNDUP):
73655         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
73656         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
73657         * m4/time_r.m4 (gl_TIME_R):
73658         * m4/timespec.m4 (gl_TIMESPEC):
73659         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
73660         * m4/unlinkdir.m4 (gl_UNLINKDIR):
73661         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
73662         * m4/userspec.m4 (gl_USERSPEC):
73663         * m4/utimecmp.m4 (gl_UTIMECMP):
73664         * m4/utimens.m4 (gl_UTIMENS):
73665         * m4/xalloc.m4 (gl_XALLOC):
73666         * m4/xgetcwd.m4 (gl_XGETCWD):
73667         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
73668         * m4/xreadlink.m4 (gl_XREADLINK):
73669         * m4/xstrtod.m4 (gl_XSTRTOD):
73670         * m4/yesno.m4 (gl_YESNO):
73671         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73672         to get the necessary .h files and whatnot.
73673
73674 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
73675             Bruno Haible  <bruno@clisp.org>
73676
73677         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
73678         /bin/sh understanding of '!' conditional negation.
73679
73680 2006-08-21  Jim Meyering  <jim@meyering.net>
73681
73682         * modules/openat (Depends-on): Really alphabetize.
73683
73684         * modules/acl (Depends-on): Add error and quote.
73685
73686         * check-module (find_included_lib_files): Add at-func.c to the
73687         ok-to-include-more-than-once white list.
73688
73689         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73690
73691 2006-08-21  Bruno Haible  <bruno@clisp.org>
73692
73693         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73694         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73695         Reported by Martin Lambers <marlam@marlam.de>.
73696
73697 2006-08-21  Bruno Haible  <bruno@clisp.org>
73698
73699         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73700         specify an installation location, don't emit a noinst_LIBRARIES or
73701         noinst_LTLIBRARIES assignment.
73702
73703 2006-08-21  Bruno Haible  <bruno@clisp.org>
73704
73705         BeOS portability.
73706         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73707         BeOS has mbrtowc() but no <wctype.h>.
73708
73709 2006-08-21  Bruno Haible  <bruno@clisp.org>
73710
73711         BeOS portability.
73712         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73713         exist.
73714
73715 2006-08-21  Bruno Haible  <bruno@clisp.org>
73716
73717         BeOS portability.
73718         * lib/mbchar.h: Include <wctype.h> only if it exists.
73719
73720 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73721
73722         Remove files that are no longer needed by their respective modules.
73723         * m4/obstack.m4: Remove.
73724         * m4/strerror_r.m4: Remove.
73725         * m4/uint32_t.m4: Remove.
73726         * m4/uintptr_t.m4: Remove.
73727         * m4/ullong_max.m4: Remove.
73728         * m4/xstrtoimax.m4: Remove.
73729         * m4/xstrtoumax.m4: Remove.
73730
73731         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73732         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73733         dependencies now capture this.
73734
73735         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73736         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73737         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73738         * m4/human.m4 (gl_HUMAN): Likewise.
73739         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73740         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73741
73742         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73743
73744         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73745         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73746         stdint.
73747         * m4/human.m4 (gl_HUMAN): Likewise.
73748         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73749         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73750         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73751         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73752         * m4/xstrtol (gl_XSTRTOL): Likewise.
73753
73754         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73755         AC_TYPE_LONG_LONG_INT.
73756         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73757         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73758         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73759         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73760
73761         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73762         on stdbool.
73763
73764         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73765         (gl_PREREQ_XSTRTOUL): Remove.
73766
73767         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73768
73769         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73770         mode.
73771
73772 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73773
73774         Add and change modules to make it easier for coreutils to use
73775         gnulib-tool.
73776         * modules/backupfile (Files): Remove m4/d-ino.m4.
73777         (Depends-on): Add d-ino.
73778         * modules/cycle-check (Depends-on): Add stdint.
73779         (lib_SOURCES): Add cycle-check.h.
73780         * modules/d-ino: New module.
73781         * modules/d-type: New module.
73782         * modules/error (Files): Remove m4/strerror_r.m4.
73783         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73784         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73785         m4/inttypes_h.m4, m4/uintmax_t.m4.
73786         (Depends-on): Add stdint.
73787         (lib_SOURCES): Add fsusage.h.
73788         * modules/getcwd (Files): Remove d-ino.m4.
73789         (Depends-on): Add d-ino.
73790         * modules/getndelim2 (Depends-on): Add stdint.
73791         * modules/glob (Files): Remove m4/d-type.m4.
73792         (Depends-on): Add d-type.
73793         * modules/host-os: New module.
73794         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73795         m4/inttypes_h.m4, m4/uintmax_t.m4.
73796         * Depends-on: Add stdint.
73797         (lib_SOURCES): Add human.h.
73798         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73799         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73800         m4/uintmax_t.m4, m4/ulonglong.m4.
73801         (Depends-on): Add stdint.
73802         (EXTRA_DIST): Add inttostr.h.
73803         * modules/lchmod: New module.
73804         * modules/link-follow: New module.
73805         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73806         (Depends-on): Add lchmod.
73807         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73808         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73809         (Depends-on): Add stdint.
73810         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73811         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73812         (Depends-on): Add stdint.
73813         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73814         * modules/perl: New module.
73815         * modules/regex (Depends-on): Add stdint.
73816         * modules/rmdir-errno: New module.
73817         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73818         m4/intmax_t.m4.
73819         (Depends-on): Add stdint.
73820         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73821         m4/uintmax_t.m4.
73822         (Depends-on): Add stdint.
73823         * modules/unlink-busy: New module.
73824         * modules/utimecmp (Depends-on): Add stdint.
73825         * modules/uptime: New module.
73826         * modules/winsz-ioctl: New module.
73827         * modules/winsz-termios: New module.
73828         * modules/xnanosleep (Depends-on): Add nanosleep.
73829         * modules/ullong_max: Remove.
73830         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
73831         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
73832         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
73833         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
73834         (Depends-on): Add inttypes.
73835         (lib_SOURCES): Add xstrtol.h.
73836         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
73837         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
73838         * MODULES.html.sh: Move 'assert' into the assert section.
73839         Move 'dummy' into the linking section.
73840         Remove ullong_max.
73841         Add section for compatibility checks for POSIX:2001 functions,
73842         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
73843         winsz-ioctl, and winsz-termios into it.
73844         Add lchmod.
73845         Add top-level Misc section and put host-os, perl, and uptime
73846         into it.
73847
73848 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73849
73850         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73851         now assume the stdint module.  Do not include inttypes.h.
73852         * lib/fsusage.h: Likewise.
73853         * lib/getndelim2.c: Likewise.
73854         * lib/human.h: Likewise.
73855         * lib/inttostr.h: Likewise.
73856         * lib/obstack.c: Likewise.
73857         * lib/regex_internal.h: Likewise.
73858         * lib/tempname.c: Likewise.
73859         * lib/utimecmp.c: Likewise.
73860         * lib/xstrtol.h: Likewise.
73861
73862         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73863
73864         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73865         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73866         * lib/xtime.h: Likewise.
73867
73868 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73869
73870         * modules/openat (Files): Add lib/fchmodat.c.
73871         Fixes problem reported by Jay Youngman.
73872
73873 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73874
73875         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73876         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73877
73878 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73879             Bruno Haible  <bruno@clisp.org>
73880
73881         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73882         and is a script that invokes bison. Tighten the code. Add comments.
73883
73884 2006-08-18  Jim Meyering  <jim@meyering.net>
73885
73886         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73887         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73888         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73889         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73890
73891 2006-08-18  Bruno Haible  <bruno@clisp.org>
73892
73893         * modules/bison-i18n: New file.
73894         * MODULES.html.sh (Internationalization functions): Add it.
73895
73896 2006-08-18  Bruno Haible  <bruno@clisp.org>
73897
73898         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73899         sys/statvfs.h. When getmntinfo was found, check its declaration and
73900         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73901
73902 2006-08-18  Bruno Haible  <bruno@clisp.org>
73903
73904         * m4/bison-i18n.m4: New file, from bison.
73905
73906 2006-08-18  Bruno Haible  <bruno@clisp.org>
73907
73908         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73909         (ME_DUMMY): Treat "kernfs" as a dummy.
73910         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73911
73912 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73913
73914         Update from coreutils.
73915
73916         2006-08-15  Jim Meyering  <jim@meyering.net>
73917
73918         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73919
73920         2006-01-17  Jim Meyering  <jim@meyering.net>
73921
73922         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73923
73924         2006-01-11  Jim Meyering  <jim@meyering.net>
73925
73926         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73927         Check for the lchmod function.
73928
73929 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73930
73931         Update from coreutils.
73932
73933         * lib/__fpending.h: Add copyright notice.
73934         * lib/fprintftime.h: Likewise.
73935         * lib/savedir.c: Use (C) in copyright notice.
73936         * lib/savedir.h: Likewise.
73937
73938         2006-08-15  Jim Meyering  <jim@meyering.net>
73939
73940         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73941         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73942         in support of the EXPECTED_ERRNO macro.
73943         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73944         definitions.  Instead, define the appropriate symbols and include
73945         "at-func.c".
73946         * lib/mkdirat.c (mkdirat): Likewise.
73947         * lib/fchmodat.c (fchmodat): Likewise.
73948         (ENOSYS): Remove definition.
73949         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73950         it.  Don't include "unistd--.h" -- it wasn't ever used.
73951
73952         2006-01-17  Jim Meyering  <jim@meyering.net>
73953
73954         Rewrite fts.c not to change the current working directory,
73955         by using openat, fstatat, fdopendir, etc..
73956
73957         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73958         (HAVE_OPENAT_SUPPORT): Define.
73959         [_LIBC] (fchdir): Don't undef or define; no longer used.
73960         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
73961         Now, this `function' always succeeds, and consumes its file descriptor
73962         parameter -- so callers must not close such FDs.  Update callers.
73963         (diropen_fd, opendirat, cwd_advance_fd): New functions.
73964         (diropen): Add parameter, SP.  Adjust all callers.
73965         Implement using diropen_fd, rather than open.
73966         (fts_open): Initialize new member, fts_cwd_fd.
73967         Remove fts_rft-setting code.
73968         (fts_close): Close fts_cwd_fd, if necessary.
73969         (__opendir2): Define in terms of opendir or opendirat,
73970         depending on whether the FST_NOCHDIR flag is set.
73971         (fts_build): Since fts_safe_changedir consumes its FD, and since
73972         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
73973         and close the dup'd file descriptor upon failure.
73974         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
73975         (fts_safe_changedir): Tweak semantics to reflect that this function
73976         now calls cwd_advance_fd and hence consumes its FD argument.
73977         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
73978         [struct FTS] (fts_rft): Remove now-unused member.
73979         [struct FTS] (fts_cycle.state): Improve comment.
73980
73981         * lib/openat.c (openat_needs_fchdir): New function.
73982         * lib/openat.h (openat_needs_fchdir): Declare it.
73983
73984 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73985
73986         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
73987         Problem and fix reported by Pádraig Brady in
73988         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
73989
73990 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73991
73992         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
73993
73994 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73995
73996         * lib/memcoll.c (memcoll): Optimize for the common case where the
73997         arguments are bytewise equal.
73998
73999 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74000
74001         * doc/regexprops-generic.texi: Add a copyright notice.
74002
74003 2006-08-15  Bruno Haible  <bruno@clisp.org>
74004
74005         * modules/tmpdir (License): Change to LGPL.
74006
74007 2006-08-15  Bruno Haible  <bruno@clisp.org>
74008
74009         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
74010         module.
74011
74012 2006-08-14  Simon Josefsson  <jas@extundo.com>
74013
74014         * config/srclist.txt: Add gnupload.
74015
74016 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74017
74018         Change copyright notice from LGPL 2 to GPL 2, since that's the
74019         standard form used in the gnulib repository.
74020         * tests/test-lock.c: Likewise.
74021         * tests/test-stdint.c: Likewise.
74022         * tests/test-tls.c: Likewise.
74023
74024         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
74025         prelude-manager.  User shorter URLs for GNU projects, without '?'.
74026         Add copyright notice.
74027
74028         * check-module: Add copyright notice.  Output a copyright
74029         notice if "--version" is specified.
74030         * modules/COPYING: New file.
74031         * tests/test-getaddrinfo.c: Add copyright notice.
74032         * tests/test-verify.c: Likewise.
74033
74034 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74035
74036         Change copyright notice from LGPL 2 to GPL 2, since that's the
74037         standard form used in the gnulib repository.
74038         * lib/lock.c: LGPL -> GPL.
74039         * lib/lock.h: Likewise.
74040         * lib/strnlen1.c: Likewise.
74041         * lib/strnlen1.h: Likewise.
74042         * lib/tls.c: Likewise.
74043         * lib/tls.h: Likewise.
74044         * lib/tmpdir.c: Likewise.
74045
74046         * lib/TODO: Remove; this belongs only in coreutils.
74047
74048 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74049
74050         Add copyright notices to long-enough files that lack them, since
74051         otherwise the files aren't clearly free.  Use the same notice that
74052         getdate.texi already uses.
74053         * doc/alloca-opt.texi: Add copyright notice.
74054         * doc/alloca.texi: Likewise.
74055         * doc/ctime.texi: Likewise.
74056         * doc/functions.texi: Likewise.
74057         * doc/gcd.texi: Likewise.
74058         * doc/gnulib-tool.texi: Likewise.
74059         * doc/inet_ntoa.texi: Likewise.
74060         * doc/visibility.texi: Likewise.
74061
74062         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
74063         * doc/quote.texi: Add copyright notice.
74064
74065         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
74066         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
74067         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
74068         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
74069         is now obsolete, and give a pointer to the Sun list.
74070         Add copyright notice.
74071
74072 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74073
74074         * config/srclistvars.sh: Add copyright notice.
74075
74076 2006-08-14  Eric Blake  <ebb9@byu.net>
74077
74078         Import the following change from libc:
74079
74080         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
74081
74082         Upstream bug 2997.
74083         * lib/misc/error.c: Add space between program name and message if file
74084         name is missing.
74085
74086 2006-08-12  Karl Berry  <karl@gnu.org>
74087
74088         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
74089         remove, these originate in gnulib now.
74090
74091 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74092
74093         * doc/Makefile (standards.info standards.html standards.dvi):
74094         Also depend on make-stds.texi.
74095
74096 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74097
74098         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
74099         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
74100
74101         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
74102         in wchar_t.  Problem reported by Eric Blake.
74103
74104         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
74105         LEN is smaller than SIZE.  Suggested by Bruno Haible.
74106         Also, help the compiler to keep LEN in a register.
74107
74108 2006-08-11  Eric Blake  <ebb9@byu.net>
74109
74110         * users.txt: Sort.  Add tar.
74111
74112 2006-08-11  Bruno Haible  <bruno@clisp.org>
74113
74114         * users.txt: New file.
74115
74116 2006-08-11  Bruno Haible  <bruno@clisp.org>
74117
74118         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
74119         before <wchar.h>. Needed for OSF/1 and BSD/OS.
74120
74121 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74122
74123         * modules/snprintf (Depends-on): Remove minmax.
74124         (Maintainer): Add self and Bruno.
74125
74126 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74127
74128         * lib/.cppi-disable: Add snprintf.h, socket_.h.
74129         * lib/snprintf.c: Include <errno.h> and <limits.h>.
74130         (EOVERFLOW): Define if the system does not.
74131         Do not include "minmax.h"; it wasn't used.
74132         (snprintf): Don't assume size_t promotes to an unsigned type.
74133         Fix bug when generated string was too long for the buffer: the
74134         buffer's contents are supposed to be the initial prefix of the
74135         output.  Don't assume vasnprintf returns EOVERFLOW if the size
74136         exceeds INT_MAX; do the check ourselves.
74137
74138         Import the following changes from libc:
74139
74140         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
74141
74142         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
74143         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
74144         set wc to the byte which couldn't be converted.
74145         (re_string_reconstruct): Don't clear valid_raw_len before calling
74146         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
74147         tip_context using re_string_context_at.
74148
74149         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
74150
74151         * lib/posix/regex.h: g++ still cannot handled [restrict].
74152
74153         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
74154
74155         * lib/posix/regex.h: Remove special handling for VMS.
74156
74157 2006-08-10  Jim Meyering  <jim@meyering.net>
74158
74159         * modules/same-inode: New module.
74160         * modules/dev-ino: New module.
74161         * modules/cycle-check: Depend on these modules, rather than simply
74162         including their .h files.
74163         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
74164         required via m4/cycle-check.m4.
74165         * modules/same: Depend on new same-inode module, rather than
74166         including same-inode.h.
74167         * modules/chdir-safer: New file.
74168
74169         * modules/chown (Depends-on): Add stat-macros.
74170
74171 2006-08-10  Jim Meyering  <jim@meyering.net>
74172
74173         * m4/cycle-check.m4: New file.
74174         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
74175         * m4/dev-ino.m4, m4/same-inode.m4: New files.
74176
74177 2006-08-10  Eric Blake  <ebb9@byu.net>
74178
74179         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
74180         in from original proposal.
74181
74182 2006-08-10  Eric Blake  <ebb9@byu.net>
74183         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74184
74185         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
74186         namespace.
74187
74188 2006-08-10  Bruno Haible  <bruno@clisp.org>
74189
74190         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
74191         as well.
74192
74193 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74194
74195         Sync from coreutils.
74196
74197         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
74198
74199         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
74200         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
74201
74202 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74203
74204         * modules/restrict: Remove; no longer needed now that we assume
74205         Autoconf 2.59 or later.
74206         * MODULES.html.sh: Remove 'restrict'.
74207         * modules/argp (Depends-on): Remove 'restrict'.
74208         * modules/base64 (Depends-on): Likewise.
74209         * modules/gc (Depends-on): Likewise.
74210         * modules/getaddrinfo (Depends-on): Likewise.
74211         * modules/glob (Depends-on): Likewise.
74212         * modules/inet_ntop (Depends-on): Likewise.
74213         * modules/inet_pton (Depends-on): Likewise.
74214         * modules/memxor (Depends-on): Likewise.
74215         * modules/regex (Depends-on): Likewise.
74216         * modules/strtok_r (Depends-on): Likewise.
74217         * modules/time_r (Depends-on): Likewise.
74218
74219 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74220
74221         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
74222         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
74223         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74224         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
74225         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
74226         * m4/memxor.m4 (gl_MEMXOR): Likewise.
74227         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
74228         gl_C_RESTRICT replaced by AC_C_RESTRICT.
74229
74230         Merge from coreutils.
74231         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
74232         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
74233         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74234         * m4/time_r.m4 (gl_TIME_R): Likewise.
74235
74236 2006-08-09  Karl Berry  <karl@gnu.org>
74237
74238         * config/srclist.txt: no more gettext-tools, per Bruno.
74239
74240 2006-08-08  Eric Blake  <ebb9@byu.net>
74241
74242         * modules/verror: New module.
74243         * MODULES.html.sh: Document it.
74244
74245 2006-08-08  Eric Blake  <ebb9@byu.net>
74246
74247         * lib/verror.h, lib/verror.c: New files.
74248
74249 2006-08-08  Eric Blake  <ebb9@byu.net>
74250
74251         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
74252         verror_at_line output complies with GNU Coding Standards even when
74253         file is NULL.
74254
74255 2006-08-07  Bruno Haible  <bruno@clisp.org>
74256
74257         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
74258         versions of AIX.
74259         Reported by Ralf Wildenhues.
74260
74261 2006-08-07  Bruno Haible  <bruno@clisp.org>
74262
74263         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
74264         in an AC_DEFUN. Needed so that the autoconf snippets can use
74265         AC_REQUIRE.
74266
74267 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74268
74269         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74270         Initialize pkgdata_DATA.
74271         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
74272         overriding it.
74273
74274 2006-08-06  Eric Blake  <ebb9@byu.net>
74275
74276         * lib/error.h: Fold in some upstream changes from glibc.
74277         * lib/error.c: Likewise.
74278
74279 2006-08-04  Bruno Haible  <bruno@clisp.org>
74280
74281         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74282         Make the mostlyclean-local rule depend on mostlyclean-generic.
74283         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
74284
74285 2006-07-31  Bruno Haible  <bruno@clisp.org>
74286
74287         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
74288         <stdlib.h>, <string.h>.
74289
74290 2006-07-30  Bruno Haible  <bruno@clisp.org>
74291
74292         * modules/readlink (License): Change to LGPL.
74293
74294 2006-07-30  Bruno Haible  <bruno@clisp.org>
74295
74296         * modules/javaversion (Makefile.am): Distribute javaversion.java and
74297         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
74298         set PKGDATADIR to point to it.
74299
74300 2006-07-30  Bruno Haible  <bruno@clisp.org>
74301
74302         * modules/csharpexec (configure.ac): Comment out macro invocation.
74303         * modules/javaexec (configure.ac): Likewise.
74304         * modules/javacomp-script (configure.ac): Likewise.
74305
74306         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
74307
74308 2006-07-30  Bruno Haible  <bruno@clisp.org>
74309
74310         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
74311         linked-list.
74312
74313 2006-07-30  Bruno Haible  <bruno@clisp.org>
74314
74315         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
74316
74317 2006-07-30  Bruno Haible  <bruno@clisp.org>
74318
74319         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74320         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
74321         get removed.
74322
74323 2006-07-29  Bruno Haible  <bruno@clisp.org>
74324
74325         Make it possible for gnulib-tool to work with locally modified or
74326         augmented gnulib repositories.
74327         * gnulib-tool (func_usage): Document --local-dir option.
74328         (local_gnulib_dir): New variable.
74329         Handle --local-dir option.
74330         (func_lookup_file): New function.
74331         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
74332         (func_get_description, func_get_filelist, func_get_description,
74333         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
74334         func_get_automake_snippet, func_get_include_directive,
74335         func_get_license, func_get_maintainer): Use func_lookup_file.
74336         (func_import, func_create_testdir): Use func_lookup_file.
74337
74338 2006-07-29  Bruno Haible  <bruno@clisp.org>
74339
74340         * modules/setenv (Depends-on): Add unistd.
74341
74342 2006-07-29  Bruno Haible  <bruno@clisp.org>
74343
74344         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
74345
74346 2006-07-29  Bruno Haible  <bruno@clisp.org>
74347
74348         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
74349
74350 2006-07-29  Bruno Haible  <bruno@clisp.org>
74351
74352         * gnulib-tool (import, update): If there is no Makefile.am, look at
74353         aclocal.m4, instead of bailing out.
74354
74355 2006-07-29  Bruno Haible  <bruno@clisp.org>
74356
74357         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
74358         Categorize the options by when they are useful.
74359
74360 2006-07-29  Bruno Haible  <bruno@clisp.org>
74361
74362         * gnulib-tool (func_usage): Document option --no-libtool.
74363         Handle option --no-libtool.
74364         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
74365         for changed semantics of $libtool variable.
74366         (func_import): Likewise. If libtool is not used, show this through
74367         an option --no-libtool.
74368         (func_create_testdir): Update.
74369
74370 2006-07-29  Bruno Haible  <bruno@clisp.org>
74371
74372         * gnulib-tool (func_import): Extend error message about missing
74373         --doc-base.
74374
74375 2006-07-29  Bruno Haible  <bruno@clisp.org>
74376
74377         * gnulib-tool (func_import): Don't create the $docbase directory if
74378         there is no file to store there.
74379
74380 2006-07-29  Bruno Haible  <bruno@clisp.org>
74381
74382         * gnulib-tool (autoconf_minversion): If a --dir option is given and
74383         relevant, look for configure.ac there, not in the current directory.
74384         Also use a simple search for AC_PREREQ, not "autoconf --trace".
74385
74386 2006-07-29  Bruno Haible  <bruno@clisp.org>
74387
74388         * gnulib-tool (SORT): New variable.
74389         (func_usage): Undocument --assume-autoconf option.
74390         Remove --assume-autoconf option handling.
74391         (autoconf_minversion): Determine from the contents of configure.ac.
74392         (func_import): Remove autoconf_minversion handling.
74393         Suggested by Eric Blake.
74394
74395 2006-07-29  Bruno Haible  <bruno@clisp.org>
74396
74397         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
74398
74399 2006-07-29  Bruno Haible  <bruno@clisp.org>
74400
74401         * config/srclist.txt (*setenv.[ch]): Remove rules.
74402
74403 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74404
74405         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
74406
74407 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74408
74409         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
74410         arpa/inet.h.
74411
74412 2006-07-28  Simon Josefsson  <jas@extundo.com>
74413
74414         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
74415         * modules/inet_pton (Depends-on): Likewise.
74416
74417 2006-07-28  Simon Josefsson  <jas@extundo.com>
74418
74419         * m4/netinet_in_h.m4: New file.
74420
74421 2006-07-28  Simon Josefsson  <jas@extundo.com>
74422
74423         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
74424         #include's.
74425
74426 2006-07-28  Simon Josefsson  <jas@extundo.com>
74427
74428         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
74429         #include's.
74430
74431 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
74432
74433         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
74434         setgid on directories only if they set these bits.
74435         * lib/modechange.h: Remove obsolete comment about masks.
74436
74437 2006-07-28  Eric Blake  <ebb9@byu.net>
74438
74439         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
74440         macro expansion.
74441
74442 2006-07-28  Bruno Haible  <bruno@clisp.org>
74443
74444         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
74445
74446 2006-07-28  Bruno Haible  <bruno@clisp.org>
74447
74448         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
74449
74450 2006-07-28  Bruno Haible  <bruno@clisp.org>
74451
74452         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
74453         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
74454         Define fallbacks.
74455         Avoids link error on FreeBSD 4.x.
74456         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74457
74458         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
74459         encoding.
74460         * lib/mbswidth.c (iswcntrl): Likewise.
74461
74462 2006-07-27  Bruno Haible  <bruno@clisp.org>
74463
74464         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
74465         test.
74466
74467 2006-07-27  Bruno Haible  <bruno@clisp.org>
74468
74469         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
74470         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
74471         defined.
74472
74473 2006-07-26  Eric Blake  <ebb9@byu.net>
74474
74475         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
74476
74477 2006-07-26  Eric Blake  <ebb9@byu.net>
74478
74479         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
74480         like mingw that lack mkstemp.
74481         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
74482         avoid compilation warning on mingw.
74483
74484 2006-07-26  Bruno Haible  <bruno@clisp.org>
74485
74486         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
74487         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
74488         INT_FAST*_MIN, INTPTR_MIN.
74489
74490 2006-07-25  Bruno Haible  <bruno@clisp.org>
74491
74492         * modules/version-etc (Depends-on): Add stdarg.
74493
74494 2006-07-25  Bruno Haible  <bruno@clisp.org>
74495
74496         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
74497         complex commands.
74498
74499 2006-07-25  Bruno Haible  <bruno@clisp.org>
74500
74501         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
74502         defined in <stdarg.h> or config.h.
74503
74504 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74505
74506         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
74507         (gl_STDIO_SAFER): Remove.
74508
74509 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74510
74511         * MODULES.html.sh (File stream based Input/Output):
74512         Add fopen-safer, tmpfile-safer; remove stdio-safer.
74513         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
74514         * modules/fopen-safer, modules/tmpfile-safer: New files.
74515         * modules/stdio-safer: Remove.
74516
74517 2006-07-24  Bruno Haible  <bruno@clisp.org>
74518
74519         * modules/tmpdir: New file.
74520         * MODULES.html.sh (File system functions): Add it.
74521
74522 2006-07-24  Bruno Haible  <bruno@clisp.org>
74523
74524         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
74525         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
74526
74527 2006-07-24  Bruno Haible  <bruno@clisp.org>
74528
74529         * modules/clean-temp: New file.
74530
74531 2006-07-24  Bruno Haible  <bruno@clisp.org>
74532
74533         * m4/tmpdir.m4: New file, from GNU gettext.
74534
74535 2006-07-24  Bruno Haible  <bruno@clisp.org>
74536
74537         * lib/tmpdir.h: New file, from GNU gettext.
74538         * lib/tmpdir.c: New file, from GNU gettext.
74539
74540 2006-07-24  Bruno Haible  <bruno@clisp.org>
74541
74542         * lib/clean-temp.h: New file, from GNU gettext.
74543         * lib/clean-temp.c: New file, from GNU gettext.
74544
74545 2006-07-23  Eric Blake  <ebb9@byu.net>
74546
74547         * modules/stdio-safer (Files): Add tmpfile-safer.c.
74548         (Depends-on): Add binary-io.
74549
74550 2006-07-23  Eric Blake  <ebb9@byu.net>
74551
74552         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
74553
74554 2006-07-23  Eric Blake  <ebb9@byu.net>
74555
74556         * lib/tmpfile-safer.c: New file.
74557         * lib/stdio-safer.h (fopen_safer): Add prototype.
74558         * lib/stdio--.h (tmpfile): Make safer.
74559
74560 2006-07-23  Bruno Haible  <bruno@clisp.org>
74561
74562         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
74563         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
74564         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
74565         gl_linked_remove_at): Use it.
74566
74567 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74568         and Simon Josefsson <jas@extundo.com>
74569
74570         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
74571
74572         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
74573
74574 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74575
74576         * modules/close-stream: New file.
74577         * modules/closeout (Description): Make it clear that it exits
74578         with a diagnostic on error.
74579         (Depends-on): Add close-stream.  Remove fpending, stdbool.
74580         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
74581
74582 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74583
74584         * m4/close-stream.m4: New file.
74585
74586 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74587
74588         * lib/close-stream.c, lib/close-stream.h: New files.
74589
74590 2006-07-22  Bruno Haible  <bruno@clisp.org>
74591
74592         Merge from GNU gettext 0.15.
74593
74594         2006-05-01  Bruno Haible  <bruno@clisp.org>
74595
74596                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
74597
74598         2006-07-22  Bruno Haible  <bruno@clisp.org>
74599
74600                 * modules/javaversion: New file.
74601                 * MODULES.html.sh (Java): Add javaversion.
74602
74603         2006-03-12  Bruno Haible  <bruno@clisp.org>
74604
74605                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
74606
74607         2005-12-04  Bruno Haible  <bruno@clisp.org>
74608
74609                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
74610                 (untested).
74611
74612         2006-06-21  Bruno Haible  <bruno@clisp.org>
74613
74614                 Avoid warnings from recent versions of mcs.
74615                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
74616                 -o, -L, -r any more. Use options documented since mcs-1.0
74617                 instead. Similarly for -g.
74618
74619         2005-12-04  Bruno Haible  <bruno@clisp.org>
74620
74621                 * build-aux/csharpcomp.sh.in: Suffix for resources is
74622                 .resources, not .resource.
74623
74624         2005-07-09  Bruno Haible  <bruno@clisp.org>
74625
74626                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
74627                 add a .dll suffix.
74628                 Reported by Mark Junker <mjscod@gmx.de>.
74629
74630         2006-07-22  Bruno Haible  <bruno@clisp.org>
74631
74632                 * modules/gettext: Upgrade to gettext-0.15.
74633                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
74634                 m4/visibility.m4.
74635                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
74636
74637 2006-07-22  Bruno Haible  <bruno@clisp.org>
74638
74639         Merge from GNU gettext 0.15.
74640
74641         2006-03-25  Bruno Haible  <bruno@clisp.org>
74642
74643                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
74644
74645         2006-07-21  Bruno Haible  <bruno@clisp.org>
74646
74647                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
74648                 "1.1".
74649
74650         2006-05-09  Bruno Haible  <bruno@clisp.org>
74651
74652                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
74653                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
74654                 for the conftestver execution.
74655
74656         2006-05-01  Bruno Haible  <bruno@clisp.org>
74657
74658                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
74659                 optional target-version argument. Verify that the compiler
74660                 groks source of the specified source-version, or add -source
74661                 option as necessary. Verify that the compiler produces
74662                 bytecode in the specified target-version, or add -target and
74663                 -source options as necessary. Make the result of the test
74664                 available as variable CONF_JAVAC. Also log error output in
74665                 config.log.
74666
74667         2006-03-11  Bruno Haible  <bruno@clisp.org>
74668
74669                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
74670
74671         2006-05-09  Bruno Haible  <bruno@clisp.org>
74672
74673                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
74674                 CLASSPATH_SEPARATOR to a semicolon.
74675
74676         2006-03-12  Bruno Haible  <bruno@clisp.org>
74677
74678                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74679                 available as variable CONF_JAVA, for subsequent autoconf
74680                 tests. Also log error output in config.log.
74681
74682         2006-07-19  Bruno Haible  <bruno@clisp.org>
74683
74684                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74685                 that getline works on glibc2 systems. Needed to avoid trouble
74686                 in relocatable.c.
74687                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74688
74689         2005-12-04  Bruno Haible  <bruno@clisp.org>
74690
74691                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74692                 launcher (untested).
74693
74694         2005-12-04  Bruno Haible  <bruno@clisp.org>
74695
74696                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74697
74698         2006-07-22  Bruno Haible  <bruno@clisp.org>
74699
74700                 * gettext.m4: Update from GNU gettext-0.15.
74701                 * nls.m4: Likewise.
74702                 * po.m4: Likewise.
74703                 * inttypes-pri.m4: Likewise.
74704                 * inttypes-h.m4: Renamed from inttypes.m4.
74705                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74706
74707 2006-07-22  Bruno Haible  <bruno@clisp.org>
74708
74709         Merge from GNU gettext 0.15.
74710
74711         2005-07-05  Bruno Haible  <bruno@clisp.org>
74712
74713                 * printf-args.c (printf_fetchargs): Work around broken
74714                 definition of wint_t on mingw.
74715
74716         2005-02-12  Bruno Haible  <bruno@clisp.org>
74717
74718                 * xallocsa.h: Add extern "C" for C++.
74719
74720         2006-05-17  Bruno Haible  <bruno@clisp.org>
74721
74722                 Cygwin portability.
74723                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74724
74725         2006-04-30  Bruno Haible  <bruno@clisp.org>
74726
74727                 * progreloc.c: Include <mach-o/dyld.h> if available.
74728                 (find_executable): Use _NSGetExecutablePath when possible.
74729
74730         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74731
74732                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74733                 function.
74734
74735         2005-12-29  Bruno Haible  <bruno@clisp.org>
74736
74737                 * progreloc.c (set_program_name_and_installdir): Fix
74738                 compilation error.
74739
74740         2005-12-04  Bruno Haible  <bruno@clisp.org>
74741
74742                 Cygwin portability.
74743                 * progreloc.c: Include <windows.h> also on Cygwin.
74744                 (find_executable): Add support for Cygwin.
74745                 (set_program_name_and_installdir): Handle also platforms with
74746                 nonempty EXEEXT.
74747
74748         2006-07-11  Bruno Haible  <bruno@clisp.org>
74749
74750                 * javacomp.c: Fix a comment.
74751                 Reported by Jim Meyering.
74752
74753         2006-04-30  Bruno Haible  <bruno@clisp.org>
74754
74755                 * javacomp.h (compile_java_class): Add source_version,
74756                 target_version arguments.
74757                 * javacomp.c: Rewritten to choose only a compiler that
74758                 respects the specified source_version and target_version.
74759
74760         2006-06-27  Bruno Haible  <bruno@clisp.org>
74761
74762                 Assume correct S_ISDIR macro.
74763                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74764
74765         2006-07-22  Bruno Haible  <bruno@clisp.org>
74766
74767                 * javaversion.h: New file, from GNU gettext.
74768                 * javaversion.c: New file, from GNU gettext.
74769                 * javaversion.java: New file, from GNU gettext.
74770                 * javaversion.class: New file, from GNU gettext.
74771
74772         2006-05-17  Bruno Haible  <bruno@clisp.org>
74773
74774                 Cygwin portability.
74775                 * javaexec.c (execute_java_class): Test for jview program
74776                 also on Cygwin.
74777
74778         2006-04-09  Bruno Haible  <bruno@clisp.org>
74779
74780                 * fatal-signal.c: Don't include string.h.
74781                 (at_fatal_signal): Use a copying loop instead of memcpy.
74782
74783         2005-12-04  Bruno Haible  <bruno@clisp.org>
74784
74785                 * csharpexec.c: Add support for 'clix' launcher (untested).
74786                 (execute_csharp_using_sscli): New function.
74787                 (execute_csharp_program): Call it.
74788
74789         2006-06-21  Bruno Haible  <bruno@clisp.org>
74790
74791                 Avoid warnings from recent versions of mcs.
74792                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74793                 -o, -L, -r any more. Use options documented since mcs-1.0
74794                 instead. Similarly for -g.
74795
74796         2005-07-09  Bruno Haible  <bruno@clisp.org>
74797
74798                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74799                 add a .dll suffix.
74800                 Reported by Mark Junker <mjscod@gmx.de>.
74801
74802         2006-06-17  Bruno Haible  <bruno@clisp.org>
74803
74804                 * config.charset: Update for NetBSD 3.0.
74805
74806         2006-05-17  Bruno Haible  <bruno@clisp.org>
74807
74808                 Cygwin portability.
74809                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74810
74811         2006-05-16  Bruno Haible  <bruno@clisp.org>
74812
74813                 * localcharset.c [CYGWIN]: Include <windows.h>.
74814                 (get_charset_aliases): For Cygwin, return the same CPxxx
74815                 aliases list as under WIN32.
74816                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74817                 the environment variables. Fall back to GetACP().
74818
74819         2006-04-05  Bruno Haible  <bruno@clisp.org>
74820
74821                 * config.charset: Update Juan Manuel Guerrero's address.
74822
74823         2005-02-12  Bruno Haible  <bruno@clisp.org>
74824
74825                 * allocsa.h: Add extern "C" for C++.
74826
74827         2005-02-10  Bruno Haible  <bruno@clisp.org>
74828
74829                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
74830                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
74831
74832         2006-07-22  Bruno Haible  <bruno@clisp.org>
74833
74834                 * gettext.h: Update to GNU gettext-0.15.
74835
74836 2006-07-22  Bruno Haible  <bruno@clisp.org>
74837
74838         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
74839         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
74840         lib-prefix.m4, longdouble.m4, ssize_t.m4.
74841
74842 2006-07-21  Eric Blake  <ebb9@byu.net>
74843
74844         * modules/stdlib-safer: New file.
74845         * MODULES.html.sh (File stream based Input/Output): Add
74846         stdlib-safer.
74847
74848 2006-07-21  Eric Blake  <ebb9@byu.net>
74849
74850         * lib/stdlib-safer.h: New file from coreutils, required by
74851         stdlib--.h.
74852
74853 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74854
74855         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74856
74857 2006-07-20  Bruno Haible  <bruno@clisp.org>
74858
74859         * gnulib-tool: Recognize new option --assume-autoconf.
74860         (autoconf_minversion): New variable.
74861         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74862
74863 2006-07-20  Bruno Haible  <bruno@clisp.org>
74864
74865         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74866
74867 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74868
74869         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74870         Reindent and repaginate.
74871
74872 2006-07-19  Derek Price  <derek@ximbiot.com>
74873
74874         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74875         Correct grammar.
74876
74877 2006-07-17  Bruno Haible  <bruno@clisp.org>
74878
74879         * modules/list: New file.
74880         * modules/array-list: New file.
74881         * modules/carray-list, modules/carray-list-tests: New files.
74882         * modules/linked-list, modules/linked-list-tests: New files.
74883         * modules/avltree-list, modules/avltree-list-tests: New files.
74884         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74885         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74886         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74887         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74888         * modules/oset: New file.
74889         * modules/array-oset: New file.
74890         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74891         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74892         * tests/test-carray_list.c: New file.
74893         * tests/test-linked_list.c: New file.
74894         * tests/test-avltree_list.c: New file.
74895         * tests/test-rbtree_list.c: New file.
74896         * tests/test-linkedhash_list.c: New file.
74897         * tests/test-avltreehash_list.c: New file.
74898         * tests/test-rbtreehash_list.c: New file.
74899         * tests/test-avltree_oset.c: New file.
74900         * tests/test-rbtree_oset.c: New file.
74901         * MODULES.html.sh (Container data structures): New section.
74902
74903 2006-07-17  Bruno Haible  <bruno@clisp.org>
74904
74905         * m4/gl_list.m4: New file.
74906
74907 2006-07-17  Bruno Haible  <bruno@clisp.org>
74908
74909         * lib/gl_list.h: New file.
74910         * lib/gl_list.c: New file.
74911         * lib/gl_array_list.h: New file.
74912         * lib/gl_array_list.c: New file.
74913         * lib/gl_carray_list.h: New file.
74914         * lib/gl_carray_list.c: New file.
74915         * lib/gl_linked_list.h: New file.
74916         * lib/gl_linked_list.c: New file.
74917         * lib/gl_anylinked_list1.h: New file.
74918         * lib/gl_anylinked_list2.h: New file.
74919         * lib/gl_avltree_list.h: New file.
74920         * lib/gl_avltree_list.c: New file.
74921         * lib/gl_anyavltree_list1.h: New file.
74922         * lib/gl_anyavltree_list2.h: New file.
74923         * lib/gl_rbtree_list.h: New file.
74924         * lib/gl_rbtree_list.c: New file.
74925         * lib/gl_anyrbtree_list1.h: New file.
74926         * lib/gl_anyrbtree_list2.h: New file.
74927         * lib/gl_anytree_list1.h: New file.
74928         * lib/gl_anytree_list2.h: New file.
74929         * lib/gl_linkedhash_list.h: New file.
74930         * lib/gl_linkedhash_list.c: New file.
74931         * lib/gl_anyhash_list1.h: New file.
74932         * lib/gl_anyhash_list2.h: New file.
74933         * lib/gl_avltreehash_list.h: New file.
74934         * lib/gl_avltreehash_list.c: New file.
74935         * lib/gl_rbtreehash_list.h: New file.
74936         * lib/gl_rbtreehash_list.c: New file.
74937         * lib/gl_anytreehash_list1.h: New file.
74938         * lib/gl_anytreehash_list2.h: New file.
74939
74940         * lib/gl_oset.h: New file.
74941         * lib/gl_oset.c: New file.
74942         * lib/gl_array_oset.h: New file.
74943         * lib/gl_array_oset.c: New file.
74944         * lib/gl_avltree_oset.h: New file.
74945         * lib/gl_avltree_oset.c: New file.
74946         * lib/gl_rbtree_oset.h: New file.
74947         * lib/gl_rbtree_oset.c: New file.
74948         * lib/gl_anytree_oset.h: New file.
74949
74950 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74951
74952         * m4/mkancesdirs.m4: New file.
74953         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74954         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74955         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74956         it.
74957
74958 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74959
74960         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
74961         * lib/mkancesdirs.h: New files.
74962         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
74963         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
74964         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
74965         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
74966         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
74967         callers changed.  Revamp internals significantly, by not
74968         attempting to create directories that are temporarily more
74969         permissive than the final results.  Do not attempt to use
74970         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
74971         This removes some race conditions, fixes some bugs, and simplifies
74972         things.  Use new dirchownmod function to do owner and mode changes.
74973         * lib/mkdir-p.h: Likewise.
74974         * lib/modechange.c (octal_to_mode): New function.
74975         (struct mode_change): New member mentioned.
74976         (make_node_op_equals): New arg mentioned.  All callers changed.
74977         (mode_compile): Keep track of which mode bits the user has explicitly
74978         mentioned.
74979         (mode_adjust): New arg DIR, so that we implement the X op correctly.
74980         New arg PMODE_BITS, to keep track of which mode bits the user
74981         mentioned; it treats S_ISUID and S_ISGID speciall.
74982         All callers changed.
74983         * lib/modechange.h: Likewise.
74984
74985 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74986
74987         * MODULES.html.sh: Add mkancestors.
74988         * modules/mkancesdirs: New module.
74989         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
74990         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
74991         The chdir-safer and afs files are now orphans; I'll remove them
74992         unless someone speaks up.
74993         Add lib/dirchownmod.c, lib/dirchownmod.h.
74994         (Depends-on): Remove alloca, chown, save-cwd, dirname.
74995         Add lchown, mkancesdirs.
74996         (Maintainer): Add self.
74997
74998 2006-07-15  Karl Berry  <karl@gnu.org>
74999
75000         * gnulib-tool: help message wording/arrangement.
75001
75002 2006-07-14  Simon Josefsson  <jas@extundo.com>
75003
75004         * doc/gnulib.texi (Libtool and Windows): New section.
75005
75006 2006-07-12  Simon Josefsson  <jas@extundo.com>
75007
75008         * modules/gendocs (License): Fix license, approved by Karl.
75009
75010 2006-07-12  Eric Blake  <ebb9@byu.net>
75011
75012         * MODULES.html.sh: Add gendocs.
75013
75014 2006-07-11  Eric Blake  <ebb9@byu.net>
75015
75016         * modules/fdl: New module, to install doc/fdl.texi.
75017         * MODULES.html.sh: Add new section for documentation modules.
75018         * gnulib-tool: Avoid space-tab.
75019         (--doc-base): New option, to manage files from doc.
75020
75021 2006-07-11  Eric Blake  <ebb9@byu.net>
75022
75023         * m4/absolute-header.m4: Fix comments to match recent change.
75024
75025 2006-07-11  Eric Blake  <ebb9@byu.net>
75026
75027         * gnulib-tool: List --doc-base before --tests-base.
75028
75029 2006-07-11  Derek R. Price  <derek@ximbiot.com>
75030
75031         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
75032
75033 2006-07-11  Bruno Haible  <bruno@clisp.org>
75034
75035         * README: Mention where to put documentation.
75036
75037 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75038
75039         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
75040
75041 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75042
75043         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
75044         to stdint.m4.
75045
75046 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75047
75048         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
75049         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
75050         "no/such/file/stdint.h" when there is no such file, so that
75051         the resulting C code can be parsed by dodgy compilers.
75052         Problems reported by Bob Proulx.
75053
75054 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75055
75056         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
75057         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75058         macros into the GNU _D_EXACT_NAMLEN.
75059         * lib/savedir.c:  Likewise.
75060         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
75061
75062 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75063         and Paul Eggert  <eggert@cs.ucla.edu>
75064
75065         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
75066         * m4/savedir.m4:
75067         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75068         macros into the GNU _D_EXACT_NAMLEN.
75069
75070 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75071
75072         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
75073         around the absolute name, to work around a problem with the HP-UX
75074         11.23 native C compiler, reported by Bob Proulx.
75075
75076 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75077
75078         * doc/maintain.texi, make-stds.texi: Sync from
75079         <http://savannah.gnu.org/projects/gnustandards>.
75080
75081 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75082
75083         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
75084
75085 2006-07-09  Jim Meyering  <jim@meyering.net>
75086
75087         * m4/glob.m4: Remove a doubled word in a comment.
75088
75089 2006-07-09  Jim Meyering  <jim@meyering.net>
75090
75091         * lib/argp-pv.c: Remove a doubled word in a comment.
75092         * lib/check-version.c (check_version): Likewise.
75093         * lib/javacomp.c (compile_java_class): Likewise.
75094
75095 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75096
75097         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
75098         for the benefit of people using Autoconf 2.60.  If you want to
75099         support older Autoconf versions you can copy m4/onceonly_2_57.m4
75100         (or m4/onceonly.m4, if pre-2.57) manually.
75101
75102 2006-07-08  Jim Meyering  <jim@meyering.net>
75103
75104         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
75105         comment.
75106         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
75107         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
75108         comment.
75109
75110 2006-07-08  Jim Meyering  <jim@meyering.net>
75111
75112         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
75113
75114 2006-07-07  Simon Josefsson  <jas@extundo.com>
75115
75116         * tests/test-crc.c: Change expected crc value, the test vector
75117         were probably computed using the old broken crc.c?
75118
75119 2006-07-06  Simon Josefsson  <jas@extundo.com>
75120
75121         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
75122         now the canonical place for the M4 file).
75123
75124         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
75125         from the sys_socket dependency now.
75126
75127         * modules/inet_pton (Files): Ditto.
75128
75129         * modules/inet_ntop (Files): Ditto.
75130
75131 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75132
75133         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
75134         not gl_PREREQ_GETUSERSHELL.
75135
75136 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75137
75138         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
75139         with only one argument, for Autoconf 2.60.
75140         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
75141         expand to nothing, so add a shell command to avoid syntax error.
75142         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75143
75144 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75145
75146         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
75147
75148 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75149
75150         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
75151         no longer needed.  Check for isblank decl.
75152         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
75153         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
75154         of existence.
75155
75156 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75157
75158         * lib/getloadavg.c: Use __VMS, not VMS.
75159         * lib/getopt.c: Likewise.
75160         * lib/getpagesize.h: Likewise.
75161         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
75162         and probably does not work.
75163
75164 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75165
75166         * lib/.cppi-disable: Add wcwidth.
75167         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
75168         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
75169         (ISGRAPH): Remove.  All uses changed to isgraph.
75170         (FOLD) [!defined _LIBC]: Remove special case.
75171         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
75172         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
75173         HAVE_ISBLANK.
75174         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
75175         case.
75176
75177 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75178
75179         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
75180         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
75181         brackets.  Other minor changes to suppress some compiler
75182         warnings.
75183
75184 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75185         and Paul Eggert  <eggert@cs.ucla.edu>
75186
75187         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
75188         of invoking obsolescent AC_HEADER_DIRENT macro.
75189         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
75190         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
75191         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
75192         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75193         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
75194         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75195         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
75196         * m4/readdir.m4: Remove; no longer needed.
75197
75198 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75199         and Paul Eggert  <eggert@cs.ucla.edu>
75200
75201         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
75202         Don't worry about this obsolete case any more.
75203         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
75204         directories.
75205         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
75206         worry about this obsolete case any more.
75207         * lib/fts.c: Likewise.
75208         * lib/getcwd.c: Likewise.
75209         * lib/glob.h: Likewise.
75210         * lib/savedir.c: Likewise.
75211
75212 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75213
75214         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
75215         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
75216         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
75217         needed.
75218         All uses removed.
75219         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75220         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75221         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
75222         needed.
75223         * m4/getdate.m4 (gl_GETDATE): Likewise.
75224         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75225         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75226         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75227         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75228         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75229         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75230         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
75231         needed.
75232
75233 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75234
75235         * lib/memcasecmp.c: Include <limits.h>.
75236         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
75237         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
75238         Don't assume isdigit succeeds only on '0' through '9'.
75239
75240 2006-07-05  Eric Blake  <ebb9@byu.net>
75241
75242         * modules/getaddrinfo (Depends-on): Add snprintf.
75243
75244 2006-07-05  Eric Blake  <ebb9@byu.net>
75245
75246         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
75247         to avoid 'header present but could not be compiled' on cygwin.
75248
75249 2006-07-05  Eric Blake  <ebb9@byu.net>
75250
75251         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
75252         missing from netdb.h.
75253         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
75254
75255 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75256
75257         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
75258         no longer needed.
75259         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
75260         * m4/getdate.m4 (gl_GETDATE): Likewise.
75261         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75262         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75263         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75264         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75265         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75266
75267 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75268
75269         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
75270         All uses of is_space replaced by isspace.
75271         * lib/exit.h: Don't talk about STDC_HEADERS.
75272         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
75273         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
75274         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
75275         replaced by isprint etc.
75276         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
75277         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75278         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
75279         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
75280         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
75281         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75282
75283 2006-07-05  Bruno Haible  <bruno@clisp.org>
75284
75285         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
75286         the function exists, before testing against AIX.
75287         Reported by Martin Lambers <marlam@marlam.de>.
75288
75289 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75290
75291         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
75292         From Mark D. Baushke.
75293
75294 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75295
75296         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
75297         to the absolute name, not just one, to bypass Sun C 5.8's
75298         "warning: #include of /usr/include/... may be non-portable".
75299
75300 2006-07-04  Eric Blake  <ebb9@byu.net>
75301
75302         * modules/dirname-tests: New test module.
75303         * tests/test-dirname.c: New file, replacing dirname.c
75304         TEST_DIRNAME section that was recently deleted.
75305
75306 2006-07-04  Bruno Haible  <bruno@clisp.org>
75307
75308         Assume ANSI C header files and <ctype.h> functions.
75309         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
75310         (mbsnwidth): Use isprint, iscntrl instead.
75311
75312 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75313
75314         Merge from coreutils.
75315         * MODULES.html.sh: Add xstrtold.
75316         * modules/xstrtold: New file.
75317         * modules/cycle-check (Files): Add lib/same-inode.h.
75318         * modules/dirname (Files): Add m4/double-slash-root.m4.
75319         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
75320         * modules/mkdir-p (Files): Add lib/same-inode.h.
75321         * modules/same (Files): Add lib/same-inode.h.
75322
75323 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75324
75325         * m4/absolute-header.m4: Renamed from full-header-path.m4.
75326         This is to keep the terminology clean; POSIX talks about
75327         "absolute pathnames", not "full pathnames", but the GNU
75328         Coding Standards say to use "path" for something else;
75329         so use "absolute" to keep both sides happy.
75330         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
75331         Set gl_absolute_header, not gl_full_header_path.
75332         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
75333         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
75334         All uses changed.
75335
75336         Merge from coreutils.
75337
75338         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75339
75340         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
75341         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
75342         want to require the building of c-strtod.o.
75343         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
75344         needs -lm directly.
75345         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
75346
75347         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75348
75349         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
75350         --as-needed option if available.  Problem reported by Albert Chin in
75351         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
75352         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
75353         cc merely issues a bunch of annoying warnings for --as-needed
75354         (this problem was reported by Bob Proulx).  Also, try linking with
75355         -lm to detect a bug in binutils 2.16 (this problem was reported
75356         by Ralf Wildenhues).
75357
75358         2006-06-18  Jim Meyering  <jim@meyering.net>
75359
75360         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
75361         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
75362         macro.
75363         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
75364         also check for glibc-2.4's abort-inducing bug.
75365
75366         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
75367         Low-probability clean-up should be to use rmdir to get rid of
75368         the just-created directory, not unlink.
75369
75370         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
75371         configure fail, and request a bug report to inform us about it.
75372         Add a comment that, barring reports to the contrary, in 2007 we'll
75373         assume ftruncate is universally available.
75374
75375         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75376
75377         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
75378
75379         2006-03-12  Jim Meyering  <jim@meyering.net>
75380
75381         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
75382         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
75383         * m4/same.m4 (gl_SAME): Likewise.
75384         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
75385
75386         2006-03-11  Eric Blake  <ebb9@byu.net>
75387
75388         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
75389         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
75390         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
75391         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
75392
75393 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75394
75395         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
75396         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
75397         reported by Mark D. Baushke, one in
75398         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
75399
75400         Merge from coreutils.
75401
75402         * lib/.cppi-disable: Add stdint_.h.
75403         * lib/.cvsignore: Add stdint.h.
75404
75405         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75406
75407         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
75408         both double and long double versions.
75409         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
75410         * lib/xstrtold.c: New file.
75411         * lib/xstrtod.h (xstrtold): New decl.
75412
75413         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
75414
75415         * lib/filemode.c (setst): Remove.
75416         (strmode): Rewrite to avoid setst.  This makes the code shorter,
75417         (arguably) clearer, and the generated code is a bit smaller on my
75418         Debian GNU/Linux stable x86 host.
75419
75420         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75421
75422         * lib/filemode.c: Include "filemode.h" first, to test the interface.
75423         Assume that filemode.h includes sys/types.h and sys/stat.h.
75424         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
75425         (ftypelet): Reorder to put common cases first, for efficiency.
75426         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
75427         to do 'M'.
75428         (strmode): Renamed from mode_string, and now stores 12 bytes instead
75429         of 10, for compatibility with FreeBSD.  All callers changed.
75430         (filemodestring): Now stores 12 bytes instead of 10, and sets file
75431         types that can't be deduced solely from st_mode.  First arg is now a
75432         const pointer.
75433         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
75434         (strmode): Renamed from mode_string.
75435         (filemodestring): New decl.
75436         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
75437         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
75438         needed.
75439         (S_ISPORT, S_ISWHT): New macros, if not already defined.
75440
75441         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75442
75443         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
75444         fsusage.h now does that.  Include fsusage.h first, to test interface.
75445         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
75446         at most one method (the old code could have generated decls that
75447         didn't conform to C89, not that this was ever exercised).
75448         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
75449
75450         2006-03-19  Jim Meyering  <jim@meyering.net>
75451
75452         Work even in a chroot where d_ino values for entries in "/"
75453         don't match the stat.st_ino values for the same names.
75454         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
75455         number, iterate through all entries again, using lstat instead.
75456         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
75457         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
75458
75459         * lib/getcwd.c (__getcwd): Clarify a comment.
75460         Use memcpy in place of a call to strcpy.
75461
75462         2006-03-12  Jim Meyering  <jim@meyering.net>
75463
75464         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
75465         matches that of the current directory (which we're about to chdir ".."
75466         out of), then save the dev-ino of the parent, instead.
75467
75468         * lib/same-inode.h (SAME_INODE): New file/macro.
75469         * lib/chdir-safer.c (SAME_INODE): Remove definition.
75470         Include "same-inode.h", instead.
75471         * lib/same.c: Likewise.
75472         * lib/cycle-check.h: Include "same-inode.h".
75473         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
75474         * lib/cycle-check.c (SAME_INODE): Remove definition.
75475         * lib/root-dev-ino.h: Include "same-inode.h".
75476
75477         2006-03-11  Eric Blake  <ebb9@byu.net>
75478
75479         * lib/same.c (same_name): s/base_name/last_component/
75480         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
75481         * lib/filenamecat.c (file_name_concat): Likewise.
75482
75483         2006-03-11  Eric Blake  <ebb9@byu.net>,
75484                     Paul Eggert  <eggert@cs.ucla.edu>
75485
75486         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
75487         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
75488         drive prefix.
75489         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
75490         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
75491         (last_component): New method.
75492         * lib/dirname.c (dir_len): Determine when drive letters need a
75493         subsequent slash.  Preserve // when it is special.
75494         (dir_name): Don't append dot when drive letter is absolute.
75495         [TEST_DIRNAME]: Move into a full-blown gnulib test.
75496         * lib/basename.c (base_name): New semantics - malloc the result.
75497         Preserve // when it is special.  Preserve relative files that look
75498         like drive letters.
75499         (base_len): Preserve // when it is special.
75500         (last_component): New method, similar to old base_name semantics.
75501         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
75502         base_name.  Strip redundant slashes from ///.
75503
75504 2006-07-03  Jim Meyering  <jim@meyering.net>
75505
75506         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
75507         macro is used before the first cycle_check call.
75508
75509 2006-07-03  Eric Blake  <ebb9@byu.net>
75510
75511         * modules/dirname (Depends-on): Add xstrndup.
75512
75513 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75514
75515         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
75516         test cases, so that config.log is a bit easier to follow.
75517
75518 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75519
75520         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
75521         both are 64 bits, since this seems to be the tradition, and this
75522         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
75523         we ever run into a host that prefers long long to long in this
75524         case, we'll need another configure-time test.  Problem reported by
75525         Jim Meyering.
75526
75527 2006-07-02  Eric Blake  <ebb9@byu.net>
75528
75529         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
75530
75531 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75532
75533         * modules/inttypes (Depends-on): No longer depends on stdint.
75534         * modules/stdint (Description): Say more about assumptions.
75535         Say that the fast types might differ.  Say macros are used.
75536         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
75537         (Makefile.am): Revise list of substituted symbols to match
75538         new stdint.m4.
75539         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
75540         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
75541         * tests/test-stdint.c (verify_same_types)
75542         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
75543         the code conforms to C99/C89.
75544         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
75545         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
75546
75547 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75548
75549         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
75550         but fix a bug, by requiring at least 64 bits.
75551         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
75552         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
75553         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
75554         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75555
75556         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
75557         changes.  Make 2.59 a prerequisite.  Check and substitute for
75558         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
75559         inttypes.h.  Do not use special include files; just use the
75560         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
75561         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
75562         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
75563         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
75564         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
75565         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
75566         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
75567         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
75568         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
75569         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
75570         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
75571         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
75572         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
75573         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
75574         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
75575         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
75576         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
75577         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
75578         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
75579         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
75580         WINT_MAX.  Check for C99 conformance more strictly, by detecting
75581         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
75582         not check for things that C99 does not require, e.g., int8_t.  If
75583         a test isn't needed unless <stdint.h> isn't working, and is
75584         unlikely to be needed for any other reason, then don't do it
75585         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
75586         size_t, since we assume C89 freestanding at least.  Do not check
75587         for sig_atomic_t, wchar_t, or wint_t, since the code now does
75588         the right thing even if the types are not defined.  Instead use:
75589         (gl_STDINT_TYPE_PROPERTIES): New macro.
75590         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
75591         testing whether <sys/types.h> clashes, as Autoconf does this for
75592         us now.  All uses removed.
75593         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
75594         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
75595         (gl_CHECK_TYPE_SAME):
75596         Remove; no longer needed.
75597         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
75598         exists, since we'll return 0 anyway in that case.
75599         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
75600
75601 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75602
75603         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
75604         possible collision with system files.
75605         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
75606         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
75607         WCHAR_MIN and WCHAR_MAX in this case.
75608         (<stddef.h>): Do not include; no longer needed.
75609         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
75610         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
75611         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
75612         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
75613         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
75614         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
75615         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
75616         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
75617         !defined(__c99))]: Include in this case too, since it's harmless
75618         now.
75619         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
75620         dangerous to do so.
75621         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
75622         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
75623         (_STDINT_MIN, _STDINT_MAX): New macros.
75624         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
75625         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
75626         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
75627         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
75628         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
75629         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
75630         macros, not typedefs; this simplifies things quite a bit.
75631         Use long int for all types narrower than int64_t.
75632         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
75633         Define in terms of long long int or int64_t or long int,
75634         not int64_t or int32_t.  This saves some compile-time testing.
75635         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
75636         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
75637         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
75638         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
75639         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
75640         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
75641         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
75642         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
75643         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
75644         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
75645         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75646         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75647         undef any previous version and define our own version, for
75648         simplicity and consistency with the new macros for types.
75649         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75650         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75651         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
75652         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
75653         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
75654         @WINT_T_SUFFIX@ to keep things simple here.
75655         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
75656         Simplify by assuming typical 8/16/32/64 host, since we're
75657         already doing that elsewhere anyway.
75658         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
75659         and assume long long int is 64 bits if available.  This
75660         speeds up 'configure'.
75661
75662 2006-07-01  Eric Blake  <ebb9@byu.net>
75663
75664         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
75665         Reported by Andreas Buening.
75666
75667 2006-07-01  Eric Blake  <ebb9@byu.net>
75668
75669         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
75670
75671 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75672
75673         * lib/getaddrinfo.c: fixed typo
75674
75675 2006-06-29  Jim Meyering  <jim@meyering.net>
75676
75677         * modules/strftime (Maintainer): Add my name, since with the
75678         FPRINTFTIME changes strftime.c has forked from glibc.
75679
75680 2006-06-29  Eric Blake  <ebb9@byu.net>
75681
75682         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75683
75684 2006-06-29  Eric Blake  <ebb9@byu.net>
75685
75686         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75687
75688 2006-06-29  Eric Blake  <ebb9@byu.net>
75689
75690         * lib/stat_.h: New file.
75691
75692 2006-06-29  Eric Blake  <ebb9@byu.net>
75693
75694         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75695         unused static function.
75696
75697 2006-06-29  Eric Blake  <ebb9@byu.net>
75698
75699         * doc/functions.texi (Function Portability): Document missing lstat
75700         on mingw.
75701
75702 2006-06-29  Eric Blake  <ebb9@byu.net>
75703
75704         * MODULES.html.sh: Add sys_stat.
75705         * modules/sys_stat: New module.
75706         * modules/mkstemp (Depends-on): Add sys_stat.
75707
75708 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75709
75710         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75711
75712 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75713
75714         * m4/c-bs-a.m4: Removed.
75715
75716 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75717
75718         * lib/strftime.c: Assume strftime() exists.
75719
75720 2006-06-29  Derek Price  <derek@ximbiot.com>
75721
75722         * modules/c-bs-a: Removed - \a is C89.
75723         * MODULES.html.sh: Remove c-bs-a.
75724
75725 2006-06-29  Bruno Haible  <bruno@clisp.org>
75726
75727         * modules/wcwidth (License): Change to LGPL.
75728
75729 2006-06-28  Simon Josefsson  <jas@extundo.com>
75730
75731         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75732         on _WIN32.
75733
75734         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75735         getnameinfo.
75736
75737 2006-06-28  Simon Josefsson  <jas@extundo.com>
75738
75739         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75740
75741 2006-06-28  Simon Josefsson  <jas@extundo.com>
75742
75743         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75744         functions there.  It will succeed on Windows XP, but on Windows
75745         2000 and (presumably) earlier, it will fail, and use the internal
75746         re-implementation.
75747         (use_win32_p): New function.
75748         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75749         Support AI_NUMERICSERV to disable getservbyname.
75750         (getnameinfo): New function, only supports
75751         NI_NUMERICHOST|NI_NUMERICSERV for now.
75752
75753         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75754         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75755         getnameinfo.
75756
75757 2006-06-28  Eric Blake  <ebb9@byu.net>
75758
75759         * modules/wcwidth: New file.
75760         * modules/mbchar (Depends-on): Add wcwidth.
75761         * modules/mbswidth (Depends-on): Add wcwidth.
75762         * MODULES.html.sh: Add wcwidth.
75763
75764 2006-06-28  Eric Blake  <ebb9@byu.net>
75765
75766         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75767         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75768
75769 2006-06-28  Eric Blake  <ebb9@byu.net>
75770
75771         * lib/xvasprintf.h: Fix comments.
75772
75773 2006-06-28  Eric Blake  <ebb9@byu.net>
75774
75775         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75776         * lib/mbswidth.c (wcwidth): Move from here...
75777         * lib/wcwidth.h: ...to this new file.
75778
75779 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75780
75781         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75782
75783         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75784         it's obsolete.
75785         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75786
75787 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75788
75789         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75790         Autoconf 2.60 says this stuff was obsolete.
75791
75792 2006-06-28  Bruno Haible  <bruno@clisp.org>
75793
75794         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75795
75796 2006-06-28  Bruno Haible  <bruno@clisp.org>
75797
75798         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75799         gt_TYPE_WCHAR_T.
75800
75801 2006-06-28  Bruno Haible  <bruno@clisp.org>
75802
75803         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75804         declaration for wcwidth.
75805         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75806
75807 2006-06-28  Bruno Haible  <bruno@clisp.org>
75808
75809         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75810         (mkdir): Define using _mkdir.
75811
75812 2006-06-28  Bruno Haible  <bruno@clisp.org>
75813
75814         * lib/getaddrinfo.h: Fix POSIX URL.
75815         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75816         _WIN32.
75817         (use_win32_p): Make static.
75818         (getaddrinfo): Reject service name if it is empty or does not consist
75819         solely of decimal digits, or if its value is > 65535.
75820         (getnameinfo): Remove useless casts.
75821
75822 2006-06-27  Simon Josefsson  <jas@extundo.com>
75823
75824         * modules/sys_select: New file, suggested by Bruno Haible, Paul
75825         Eggert and Martin Lambers.
75826
75827 2006-06-27  Simon Josefsson  <jas@extundo.com>
75828
75829         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
75830         Eggert and Martin Lambers.
75831
75832 2006-06-27  Bruno Haible  <bruno@clisp.org>
75833
75834         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
75835         result to 0, not to empty.
75836         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
75837
75838 2006-06-27  Bruno Haible  <bruno@clisp.org>
75839
75840         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
75841
75842 2006-06-26  Simon Josefsson  <jas@extundo.com>
75843
75844         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75845         present.
75846
75847 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75848
75849         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75850         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75851         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75852
75853 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75854
75855         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75856
75857 2006-06-26  Bruno Haible  <bruno@clisp.org>
75858
75859         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75860
75861 2006-06-26  Bruno Haible  <bruno@clisp.org>
75862
75863         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75864
75865 2006-06-26  Bruno Haible  <bruno@clisp.org>
75866
75867         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75868         SGI C compiler in pre-C99 mode.
75869         Suggested by Mark D. Baushke and Larry Jones.
75870
75871 2006-06-26  Bruno Haible  <bruno@clisp.org>
75872
75873         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75874         WCHAR_MAX.
75875         Reported by Mark D. Baushke and Larry Jones.
75876
75877 2006-06-26  Bruno Haible  <bruno@clisp.org>
75878
75879         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75880         in pre-C99 mode.
75881         Suggested by Mark D. Baushke and Larry Jones.
75882
75883 2006-06-23  Simon Josefsson  <jas@extundo.com>
75884             Bruno Haible  <bruno@clisp.org>
75885
75886         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75887         Emit mostlyclean-local rule.
75888         (func_emit_tests_Makefile_am): Likewise.
75889         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75890
75891 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75892
75893         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75894
75895 2006-06-23  Bruno Haible  <bruno@clisp.org>
75896
75897         * tests/test-stdint.c: Update to match ISO C 99 Technical
75898         Corrigendum 1.
75899
75900 2006-06-23  Bruno Haible  <bruno@clisp.org>
75901
75902         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75903
75904 2006-06-23  Bruno Haible  <bruno@clisp.org>
75905
75906         * lib/stdint_.h: Treat IRIX like OpenBSD.
75907
75908 2006-06-23  Bruno Haible  <bruno@clisp.org>
75909
75910         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75911         ISO C 99 Technical Corrigendum 1.
75912
75913 2006-06-22  Simon Josefsson  <jas@extundo.com>
75914
75915         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75916         MinGW.
75917
75918 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75919
75920         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75921         needed.  Some compiler complained about some of them.  Problem reported
75922         by Larry Jones in
75923         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75924
75925 2006-06-21  Simon Josefsson  <jas@extundo.com>
75926
75927         * tests/test-getaddrinfo.c: New file.
75928
75929         * modules/getaddrinfo-tests: New file.
75930
75931         * MODULES.html.sh: Add inet_pton.
75932
75933         * modules/inet_pton: New file.
75934
75935 2006-06-21  Simon Josefsson  <jas@extundo.com>
75936
75937         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75938         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75939         of using the (limited) gnulib implementation on Windows XP.
75940
75941         * m4/inet_pton.m4: New file.
75942
75943 2006-06-21  Simon Josefsson  <jas@extundo.com>
75944
75945         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75946         variable.
75947
75948         * lib/socket_.h: Don't define WINVER.
75949
75950         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75951         slightly modified to work in gnulib.
75952
75953 2006-06-21  Simon Josefsson  <jas@extundo.com>
75954
75955         * doc/gnulib.texi (Windows sockets): Add.
75956
75957 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75958
75959         * lib/read-file.c (fread_file): Start with buffer allocation of
75960         0 bytes rather than 1 byte; this simplifies the code.
75961         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
75962         code to free buffer and save/restore errno.
75963         (internal_read_file): Remove unused local.
75964
75965 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
75966
75967         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
75968         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
75969         Problem reported by Denis Excoffier in
75970         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
75971
75972 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75973
75974         * modules/sys_socket, modules/socklen: Include sys/types since
75975         FreeBSD 4.x's sys/socket.h needs it.
75976
75977 2006-06-19  Simon Josefsson  <jas@extundo.com>
75978
75979         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
75980
75981 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75982
75983         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
75984
75985 2006-06-19  Bruno Haible  <bruno@clisp.org>
75986
75987         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
75988         and FULL_PATH_INTTYPES_H in angle brackets.
75989         Reported by Mark D. Baushke <mdb@gnu.org>.
75990
75991 2006-06-17  Eric Blake  <ebb9@byu.net>
75992
75993         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
75994         errno.
75995
75996 2006-06-17  Bruno Haible  <bruno@clisp.org>
75997
75998         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
75999         <sys/inttypes.h>.
76000
76001 2006-06-17  Bruno Haible  <bruno@clisp.org>
76002
76003         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
76004         whether errno is declared. Assume <errno.h> declares errno.
76005
76006 2006-06-17  Bruno Haible  <bruno@clisp.org>
76007
76008         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
76009
76010 2006-06-17  Bruno Haible  <bruno@clisp.org>
76011
76012         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
76013         problem on Solaris 2.5.1.
76014
76015 2006-06-16  Eric Blake  <ebb9@byu.net>
76016
76017         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
76018         * lib/unicodeio.c [!defined errno]: Likewise.
76019         * lib/strtol.c [!defined errno]: Likewise.
76020         * lib/strtod.c [!defined errno]: Likewise.
76021
76022 2006-06-15  Eric Blake  <ebb9@byu.net>
76023
76024         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
76025
76026 2006-06-15  Eric Blake  <ebb9@byu.net>
76027
76028         * config/srclist.txt (ssize_t.m4): Lose sync.
76029
76030 2006-06-15  Bruno Haible  <bruno@clisp.org>
76031
76032         * modules/stdint (Files): Include m4/full-header-path.m4,
76033         m4/size_max.m4, m4/wchar_t.m4.
76034         (Makefile.am): Many more substitutions.
76035         * modules/stdint-tests: New file.
76036         * tests/test-stdint.c: New file.
76037
76038 2006-06-15  Bruno Haible  <bruno@clisp.org>
76039
76040         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
76041         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
76042         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
76043         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
76044         gl_CHECK_TYPE_SAME): New macros.
76045
76046 2006-06-15  Bruno Haible  <bruno@clisp.org>
76047
76048         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
76049
76050 2006-06-15  Bruno Haible  <bruno@clisp.org>
76051
76052         * lib/stdint_.h: Rewritten to be fully auto-configured.
76053         Fixes bug on HP-UX/IA64.
76054
76055 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
76056
76057         * lib/getdate.y (__attribute__): Don't define if already defined.
76058         Problem reported by Larry Jones.
76059         * lib/utimens.c (__attribute__): Likewise.
76060
76061 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
76062
76063         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
76064         reported by Andreas Schwab.
76065
76066 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76067             Bruno Haible  <bruno@clisp.org>
76068
76069         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
76070         check for the declaration of strnlen and a run test that exposes the
76071         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
76072         rpl_strndup.
76073
76074 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76075             Bruno Haible  <bruno@clisp.org>
76076
76077         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
76078
76079 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76080
76081         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
76082         compile test, for Tru64 4.0D.
76083
76084 2006-05-28  Karl Berry  <karl@gnu.org>
76085
76086         * config/srclist.txt (printf-args.c): lose sync.
76087
76088 2006-05-26  Martin Lambers  <marlam@marlam.de>
76089
76090         * lib/getpass.c: Updates the test for the native W32 API, and adds
76091         missing includes, thus fixing compilation warnings.
76092
76093 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76094
76095         * lib/exclude.c (exclude_fnmatch): New function.
76096         (excluded_file_name): Call exclude_fnmatch.
76097         * lib/exclude.h (excluded_file_name): New prototype
76098
76099 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
76100
76101         * lib/tempname.c (small_open, large_open): New macros.
76102         (__open, __open64) [!_LIBC]: Remove.
76103         (__gen_tempname): Use small_open and large_open instead of __open
76104         and __open64.  This fixes a portability bug on HP-UX 11.11i
76105         reported by Simon Wing-Tang in
76106         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
76107
76108 2006-05-24  Bruno Haible  <bruno@clisp.org>
76109
76110         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
76111         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
76112         Reported by Thorsten Maerz <torte@netztorte.de> via
76113         Aaron Stone <aaron@serendipity.cx>.
76114
76115 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76116
76117         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
76118         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
76119         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
76120         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
76121         not really conditional on the cache.
76122         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
76123
76124 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76125
76126         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
76127         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
76128         (my_usleep): Don't mishandle maximum value.
76129
76130 2006-05-19  Jim Meyering  <jim@meyering.net>
76131
76132         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
76133
76134 2006-05-17  Bruno Haible  <bruno@clisp.org>
76135
76136         Cygwin portability.
76137         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
76138
76139 2006-05-17  Bruno Haible  <bruno@clisp.org>
76140
76141         * lib/stdint_.h: Fix recognition of Cygwin.
76142
76143 2006-05-15  Bruno Haible  <bruno@clisp.org>
76144
76145         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
76146         on libtool patch by Ralf Wildenhues.
76147
76148 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76149
76150         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
76151         test for C99 conformance; (bool) 0.5 is an integer constant
76152         expression, but (bool) -0.5 is not.  Problem reported by Fedor
76153         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
76154
76155 2006-05-11  Simon Josefsson  <jas@extundo.com>
76156
76157         * m4/xvasprintf.m4: Fix obvious typo.
76158
76159 2006-05-11  Jim Meyering  <jim@meyering.net>
76160
76161         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
76162         James Lemley.
76163
76164 2006-05-10  Simon Josefsson  <jas@extundo.com>
76165
76166         * lib/md4.c: Typo fix, update copyright years.
76167         (K1, K2): Don't use L because it turn computations into 64-bit on
76168         64-bit platforms.
76169
76170 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
76171
76172         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
76173         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
76174         unwanted sign propagation, e.g., on hosts with 64-bit int.
76175         There still are some problems with reeelly weird theoretical hosts
76176         (e.g., 33-bit int) but it's not worth worrying about now.
76177         * lib/sha1.c (rol): Likewise.
76178         (K1, K2, K3, K4): Remove unnecessary L suffix.
76179
76180 2006-05-10  Bruno Haible  <bruno@clisp.org>
76181
76182         * lib/des.c: Cast to avoid warnings.
76183
76184 2006-05-09  Bruno Haible  <bruno@clisp.org>
76185
76186         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
76187         (Depends-on): Depend also on xsize, stdarg.
76188         (configure.ac): Add gl_XVASPRINTF.
76189
76190 2006-05-09  Bruno Haible  <bruno@clisp.org>
76191
76192         * m4/xvasprintf.m4: New file.
76193
76194 2006-05-09  Bruno Haible  <bruno@clisp.org>
76195
76196         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
76197         (EOVERFLOW): Define fallback value.
76198         (xstrcat): New function.
76199         (xvasprintf): Recognize the special case of a string concatenation.
76200
76201 2006-05-08  Eric Blake  <ebb9@byu.net>
76202
76203         * gnulib-tool (func_version): Base copyright year on CVS date.
76204         (func_emit_copyright_notice): New function.
76205         (func_emit_lib_Makefile_am): Use it.
76206         (func_emit_tests_Makefile_am): Likewise.
76207         (func_import): Likewise.
76208
76209 2006-05-08  Bruno Haible  <bruno@clisp.org>
76210
76211         * modules/stdarg: New file.
76212         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
76213
76214 2006-05-08  Bruno Haible  <bruno@clisp.org>
76215
76216         * m4/stdarg.m4: New file, from GNU gettext.
76217
76218 2006-05-08  Bruno Haible  <bruno@clisp.org>
76219
76220         * config/srclist.txt (build-aux/config.rpath): different from latest
76221         release.
76222
76223 2006-05-08  Bruno Haible  <bruno@clisp.org>
76224
76225         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
76226
76227 2006-05-05  Jim Meyering  <jim@meyering.net>
76228
76229         * m4/warning.m4: New file, derived from bison's file by the same name.
76230
76231 2006-05-03  Bruno Haible  <bruno@clisp.org>
76232
76233         * lib/stdint_.h: Shorter URL.
76234         * lib/inttypes.h: Likewise.
76235
76236 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76237
76238         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
76239
76240 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76241
76242         * lib/verify.h: Document the internals better.  Most of this change
76243         was written by Bruno Haible.
76244
76245 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76246
76247         * doc/verify.texi: New file, partly based on a proposal by
76248         Bruno Haible.
76249
76250 2006-05-02  Bruno Haible  <bruno@clisp.org>
76251
76252         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
76253         test from here...
76254         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
76255
76256 2006-04-29  Bruno Haible  <bruno@clisp.org>
76257
76258         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
76259         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
76260
76261 2006-04-29  Bruno Haible  <bruno@clisp.org>
76262
76263         * gnulib-tool: Make --update option actually work.
76264
76265 2006-04-29  Bruno Haible  <bruno@clisp.org>
76266
76267         * doc/gcd.texi: New file.
76268         * doc/gnulib.texi: Include it.
76269
76270 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
76271
76272         * lib/getdate.y (get_date): When adding relative date, start with the
76273         initial time, not with the result of the first mktime call.
76274
76275 2006-04-25  Bruno Haible  <bruno@clisp.org>
76276
76277         * gnulib-tool (func_import): Output the include directives in three
76278         blocks, sorted separately.
76279         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76280
76281 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76282
76283         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
76284         to define main with arguments, for C++.  Reported by Eric Blake.
76285         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
76286         Prefer 'int main ()' to 'int main (void)', for C++.
76287         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
76288         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
76289         for 'main', for C99 and C++.
76290
76291 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76292
76293         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
76294         Don't assume that exit status -1 is valid.
76295         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76296         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
76297         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
76298         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
76299         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
76300         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
76301         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
76302         functions can be used without declaring them, or that you can
76303         exit with status -1.
76304         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
76305
76306 2006-04-24  Karl Berry  <karl@gnu.org>
76307
76308         * config/srclist.txt (longdouble.m4): sync lost.
76309
76310 2006-04-24  Eric Blake  <ebb9@byu.net>
76311
76312         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
76313
76314 2006-04-24  Bruno Haible  <bruno@clisp.org>
76315
76316         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
76317         poll() implementation in AIX.
76318         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76319
76320 2006-04-24  Bruno Haible  <bruno@clisp.org>
76321
76322         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
76323         assigned exactly once.
76324
76325 2006-04-23  Claudio Fontana  <claudio@gnu.org>
76326             Bruno Haible  <bruno@clisp.org>
76327
76328         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
76329         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
76330         for AM_CPPFLAGS.
76331
76332 2006-04-23  Bruno Haible  <bruno@clisp.org>
76333
76334         * modules/copy-file: Depend on unistd.
76335         * modules/execute: Likewise.
76336         * modules/fatal-signal: Likewise.
76337         * modules/findprog: Likewise.
76338         * modules/mkdtemp : Likewise.
76339         * modules/pipe: Likewise.
76340         * modules/wait-process: Likewise.
76341
76342 2006-04-23  Bruno Haible  <bruno@clisp.org>
76343
76344         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
76345         condition was already detected.
76346         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76347
76348 2006-04-23  Bruno Haible  <bruno@clisp.org>
76349
76350         * lib/copy-file.c: Include <unistd.h> unconditionally.
76351         * lib/execute.c: Likewise.
76352         * lib/fatal-signal.c: Likewise.
76353         * lib/findprog.c: Likewise.
76354         * lib/mkdtemp.c: Likewise.
76355         * lib/pipe.h: Likewise.
76356         * lib/pipe.c: Likewise.
76357         * lib/wait-process.h: Likewise.
76358
76359 2006-04-23  Bruno Haible  <bruno@clisp.org>
76360
76361         * gnulib-tool (func_usage): Fix --import description. Document
76362         --update.
76363         (func_import): Create temporary file in a temporary directory, if
76364         --dry-run is specified. Silence errors from 'grep' when there are no
76365         m4 files in $m4dir.
76366         (func_create_testdir): Silence errors from 'grep' when there are no
76367         m4 files in $m4dir.
76368         Reported by Karl Berry <karl@freefriends.org>.
76369
76370 2006-04-20  Bruno Haible  <bruno@clisp.org>
76371
76372         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
76373         one argument, so that the code will be portable to Autoconf 2.60.
76374         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
76375         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76376         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
76377
76378 2006-04-19  Derek Price  <derek@ximbiot.com>
76379             Eric Blake  <ebb9@byu.net>
76380
76381         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
76382         rather than "/full/path.h".  Update comment to match.  Shorten &
76383         generalize m4_translit call via AS_TR_CPP.
76384
76385 2006-04-19  Derek Price  <derek@ximbiot.com>
76386             Eric Blake  <ebb9@byu.net>
76387
76388         * lib/inttypes.h: Correct grammar in comment.
76389
76390 2006-04-18  Derek Price  <derek@ximbiot.com>
76391             Paul Eggert  <eggert@cs.ucla.edu>
76392
76393         * modules/inttypes: New file.
76394         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
76395
76396 2006-04-18  Derek Price  <derek@ximbiot.com>
76397             Paul Eggert  <eggert@cs.ucla.edu>
76398
76399         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
76400         New files.
76401
76402 2006-04-18  Derek Price  <derek@ximbiot.com>
76403             Paul Eggert  <eggert@cs.ucla.edu>
76404
76405         * lib/inttypes.h: New file.
76406         * lib/strtoimax.c: Assume <inttypes.h>.
76407
76408 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
76409
76410         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
76411         isn't mounted.  Problem reported by Kir Kolyshkin.
76412
76413 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76414
76415         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
76416         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
76417         Derek R. Price.
76418         * lib/regex.h (RE_DUP_MAX): Update comment to match current
76419         implementation.
76420
76421 2006-04-12  Eric Blake  <ebb9@byu.net>
76422
76423         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
76424         is now done automatically by the corresponding Autoconf macro.
76425
76426 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
76427
76428         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
76429         time_r.h.
76430
76431 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76432
76433         Merge regex changes from libc, removing some of our
76434         POSIX-conformance changes that were rejected and redoing them in a
76435         less-intrusive way.
76436
76437         * lib/regcomp.c (re_compile_internal, init_dfa):
76438         Length arg is now size_t, not Idx.  All uses changed.
76439         (peek_token): Forward decl now says internal_function.
76440         (__re_error_msgid, __re_error_msgid_idx):
76441         Now static rather than extern with attribute_hidden.
76442         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
76443         For some reason libc prefers K&R style defns for external functions.
76444         (regerror) [!defined _LIBC]: Likewise.
76445         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
76446         (seek_collating_symbol_entry, lookup_collation_sequence_value):
76447         (build_range_exp, build_collating_symbol):
76448         Use K&R-style defn.
76449         (re_compile_fastmap): Use '\0' to memset, not 0.
76450         (utf8_sb_map): Make the calculations more obvious.
76451         (init_dfa, parse_bracket_exp, build_charclass_op):
76452         Call calloc and cast result, as glibc does.
76453         (init_word_char, fetch_token, peek_token, peek_token_bracket):
76454         (build_range_exp, build_collating_symbol):
76455         Now internal functions.
76456
76457         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
76458
76459         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
76460         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
76461         Don't depend on VMS; depend on __VMS instead, for POSIX
76462         namespace cleanness.
76463         (regoff_t): Define to ssize_t, not long int.
76464
76465         Remove the REG_ macros named below.  Instead, make the old names
76466         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
76467         __USE_GNU_REGEX.
76468         (REG_BACKSLASH_ESCAPE_IN_LISTS):
76469         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
76470         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
76471         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
76472         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
76473         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
76474         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
76475         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
76476         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
76477         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
76478         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
76479         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
76480         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
76481         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
76482         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
76483         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
76484         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
76485         (REG_NREGS):
76486         Remove.  All uses replaced by the old RE_* names.
76487         (RE_BACKSLASH_ESCAPE_IN_LISTS):
76488         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
76489         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
76490         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
76491         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
76492         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
76493         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
76494         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
76495         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
76496         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
76497         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
76498         Don't bother having these macros be independent of each others'
76499         values, since they no longer exist in the POSIX name space.
76500
76501         Rename the following member names back to their old names,
76502         unless !__USE_GNU_REGEX.  All uses changed back.
76503         (buffer): Renamed from re_buffer.
76504         (allocated): Renamed from re_allocated.
76505         (used): Renamed from re_used.
76506         (syntax): Renamed from re_syntax.
76507         (fastmap): Renamed from re_fastmap.
76508         (translate): Renamed from re_translate.
76509         (can_be_null): Renamed from re_can_be_null.
76510         (regs_allocated): Renamed from re_regs_allocated.
76511         (fastmap_accurate): Renamed from re_fastmap_accurate.
76512         (no_sub): Renamed from re_no_sub.
76513         (not_bol): Renamed from re_not_bol.
76514         (not_eol): Renamed from re_not_eol.
76515         (newline_anchor): Renamed from re_newline_anchor.
76516         (num_regs): Renamed from rm_num_regs.
76517         (start): Renamed from rm_start.
76518         (end): Renamed from rm_end.
76519
76520         (free_state): Move up a bit.
76521
76522         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
76523         #define to be empty.
76524         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
76525         when that is what is intended.
76526         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
76527         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
76528         (MAX): New macro.
76529         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
76530         All uses changed back to re_malloc, etc.  It's now the caller's
76531         responsibility to check for overflow; all callers changed.
76532         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
76533         (re_x2nrealloc): Remove.
76534         (free_state): Remove decl.
76535
76536         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
76537         (re_set_registers, re_exec):
76538         Use K&R-style defn.
76539
76540         2006-01-31  Roland McGrath  <roland@redhat.com>
76541
76542         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
76543         Reported by Mike Frysinger <vapier@gentoo.org>.
76544
76545         2006-01-15  Andreas Jaeger  <aj@suse.de>
76546
76547         [BZ #1950]
76548         * lib/regex_internal.c (re_string_reconstruct): Adjust for
76549         build_wcs_upper_buffer change.
76550         (build_wcs_upper_buffer): Change return type.
76551
76552         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
76553
76554         * lib/regex_internal.h: Include <stdint.h> if available.
76555
76556         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
76557
76558         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
76559
76560         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
76561
76562         * lib/regcomp.c: Adjust for changed secondary hash function.
76563
76564         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
76565
76566         * lib/regex.h: Pretty printing.
76567         Clean up namespace a bit.
76568
76569         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
76570
76571         * lib/regexec.c (update_cur_sifted_state, check_arrival,
76572         check_arrival_add_next_nodes): Avoid using uninitialized variable.
76573
76574         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76575                     Ulrich Drepper  <drepper@redhat.com>
76576
76577         [BZ #1302]
76578         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
76579         changed.
76580         (bitset_word_t): Renamed from bitset_word.  All uses changed.
76581
76582         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
76583
76584         [BZ #281]
76585         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
76586         * lib/regcomp.c: Remove unnecessary uses of
76587         unsigned RE_TRANSLATE_TYPE.
76588         * lib/regex_internal.h: Likewise.
76589         * lib/regex_internal.c: Likewise.
76590         * lib/regexec.c: Likewise.
76591         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
76592
76593         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
76594
76595         * lib/regexec.c (find_recover_state): Remove unnecessary
76596         initialization.
76597         (transit_state_bkref): Make DFA a const pointer.
76598         (get_subexp): Likewise.
76599         (check_arrival): Likewise.
76600         (update_cur_sifted_state): Likewise.
76601         (re_search_internal): Likewise.
76602         (prune_impossible_nodes): Likewise.
76603         (acquire_init_state_context): Likewise.
76604         (proceed_next_node): Likewise.
76605         (set_regs): Likewise.
76606         (free_fail_stack_return): Likewise.
76607         (check_arrival_expand_ecl): Mark DFA parameter as const.
76608         (check_arrival_expand_ecl_sub): Likewise.
76609         (check_subexp_limits): Likewise.
76610         (sub_epsilon_src_nodes):  Likewise.
76611         (add_epsilon_src_nodes):  Likewise.
76612         (merge_state_array): Likewise.
76613         (update_regs): Likewise.
76614         (build_trtable): Likewise.
76615         (sift_states_backward): Mark MCTX parameter as const.
76616         (build_sifted_states): Likewise.
76617         (update_cur_sifted_state): Likewise.
76618         (sift_states_mkref): Likewise.
76619         (check_arrival_expand_ecl): Mark eclosure as const.
76620         (check_dst_limits_calc_pos_1): Likewise.
76621         * lib/regex_internal.h (re_match_context_t): Make dfa a const
76622         pointer.
76623
76624         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
76625
76626         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
76627         (transit_state_sb): Likewise.
76628         (transit_state_mb): Likewise.
76629         (sift_states_iter_mb): Likewise.
76630         (check_arrival_add_next_nodes): Likewise.
76631         (check_node_accept_bytes): Change first parameter to pointer-to-const.
76632         [_LIBC] (re_search_2_stub): Use mempcpy.
76633
76634         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
76635         mbrtowc for very simple UTF-8 case.
76636
76637         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
76638         a pointer-to-const.
76639         (re_acquire_state_context): Likewise.
76640         * lib/regex_internal.h: Adjust prototypes.
76641
76642         * lib/regex.c: Prevent using C++ compilers.
76643
76644         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
76645         (re_acquire_state_context): Likewise.
76646
76647 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76648
76649         * modules/regex (Depends-on): Add ssize_t.
76650
76651 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76652
76653         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
76654         translation table.
76655
76656 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76657
76658         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
76659
76660 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
76661             Bruno Haible  <bruno@clisp.org>
76662
76663         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
76664         <sys/types.h> and <inttypes.h>.
76665
76666 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76667
76668         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
76669         `__error_t_defined', so argp.h will not typedef the former.
76670
76671 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
76672
76673         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
76674         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
76675         glibc names.  Even if glibc is changed to conform to POSIX, the
76676         traditional names will be available anyway, since regex depends on
76677         the extensions module.  Also, fix a longstanding typo in the
76678         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76679         reported by Emanuele Giaquinta.  Also, change sense of cached
76680         variable, so that the message makes sense.
76681
76682 2006-03-24  Simon Josefsson  <jas@extundo.com>
76683
76684         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76685         including some doc fixes.
76686         (base64_encode_alloc): Fix +1 bug on allocation failures.
76687
76688 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76689
76690         * lib/base64.c (base64_encode): Do not read past end of array with
76691         unsanitized input on systems with CHAR_BIT > 8.
76692
76693 2006-03-24  Eric Blake  <ebb9@byu.net>
76694
76695         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76696
76697 2006-03-22  Karl Berry  <karl@gnu.org>
76698
76699         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76700         * config/srclistvars.sh (COREUTILS): new var.
76701
76702 2006-03-17  Jim Meyering  <jim@meyering.net>
76703
76704         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76705         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76706
76707 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76708
76709         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76710         no longer needs it.  Instead, check that regoff_t is as least
76711         as wide as ptrdiff_t.
76712
76713         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76714         so that our regex.h stays compatible with the installed regex.
76715         This is helpful for installers who configure --without-included-regex.
76716         Problem reported by Emanuele Giaquinta.
76717
76718 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76719
76720         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76721         Typedef to long int, not to off_, as POSIX will likely change
76722         in that direction.
76723
76724 2006-03-15  Eric Blake  <ebb9@byu.net>
76725
76726         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76727
76728 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76729
76730         * lib/argp-help.c (validate_uparams): Fix typo
76731         * lib/argp-parse.c (argp_default_options): Consistently begin help
76732         messages with a lowercase letter.
76733
76734 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76735
76736         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76737         overrun buffers and shouldn't be used (much as gets shouldn't be
76738         used).
76739         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76740
76741 2006-03-08  Simon Josefsson  <jas@extundo.com>
76742
76743         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76744         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76745
76746 2006-03-08  Simon Josefsson  <jas@extundo.com>
76747
76748         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76749         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76750
76751 2006-03-08  Simon Josefsson  <jas@extundo.com>
76752
76753         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76754         signal that configure disabled the device.
76755
76756 2006-03-08  Simon Josefsson  <jas@extundo.com>
76757
76758         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76759         languages.
76760
76761 2006-03-07  Simon Josefsson  <jas@extundo.com>
76762
76763         * modules/getopt (Depends-on): Add unistd.
76764
76765         * modules/unistd: New file.
76766
76767 2006-03-07  Simon Josefsson  <jas@extundo.com>
76768
76769         * modules/gc-random: New file.
76770
76771 2006-03-07  Simon Josefsson  <jas@extundo.com>
76772
76773         * m4/unistd_h.m4: New file.
76774
76775 2006-03-07  Simon Josefsson  <jas@extundo.com>
76776
76777         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76778         test to be side-effect free by storing the result in the cache
76779         variable gl_cv_lib_readline, and moving the assignment of
76780         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76781         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76782
76783 2006-03-07  Simon Josefsson  <jas@extundo.com>
76784
76785         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76786         error on missing devices (the functions will return an error).
76787
76788         * m4/gc.m4: Move random stuff to gc-random.m4
76789
76790 2006-03-07  Simon Josefsson  <jas@extundo.com>
76791
76792         * lib/unistd_.h: New file.
76793
76794 2006-03-07  Simon Josefsson  <jas@extundo.com>
76795
76796         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76797
76798 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76799
76800         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76801         Problem reported by Juan Manuel Guerrero.
76802
76803 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76804
76805         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76806         the unistd module.
76807         * lib/getlogin_r.c: Likewise.
76808         * lib/getlogin_r.h: Likewise.
76809         * lib/glob.c: Likewise.
76810         * lib/pagealign_alloc.c: Likewise.
76811         * lib/unistd_.h: Remove; no longer needed.
76812
76813 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76814
76815         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76816         Add unistd.
76817         * modules/c-stack (Depends-on): Add unistd.
76818         * modules/getlogin_r: Likewise.
76819         * modules/glob: Likewise.
76820         * modules/pagealign_alloc: Likewise.
76821         * modules/unistd (Files): Remove lib/unistd_.h.
76822         (EXTRA_DIST): Remove.
76823         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
76824         need unistd_.h.
76825         (MOSTLYCLEANFILES): Remove unistd.h-t.
76826
76827 2006-03-03  Simon Josefsson  <jas@extundo.com>
76828
76829         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
76830
76831 2006-03-03  Simon Josefsson  <jas@extundo.com>
76832
76833         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
76834         libidn and bison.
76835
76836 2006-03-03  Simon Josefsson  <jas@extundo.com>
76837
76838         * build-aux/maint.mk: Add indent target.
76839
76840 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
76841
76842         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
76843         our replacement poll.h in any case, to avoid a differing
76844         declaration from a system header.  Seen on AIX.
76845
76846 2006-03-01  Simon Josefsson  <jas@extundo.com>
76847
76848         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76849         <kasal@ucw.cz>.
76850
76851 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76852
76853         * modules/gettime (Depends-on): Add extensions module.
76854         * modules/nanosleep (Depends-on): Likewise.
76855         * modules/settime (Depends-on): Likewise.
76856
76857 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76858
76859         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76860         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76861         pedantically.
76862         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76863         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76864
76865         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76866         not "==".  Reported by Ralf Wildenhues.
76867
76868 2006-03-01  Karl Berry  <karl@gnu.org>
76869
76870         * doc/Copyright/request-*: new files, synced from gnuorg.
76871
76872 2006-03-01  Karl Berry  <karl@gnu.org>
76873
76874         * config/srclist.txt (Copyright/*): new entries.
76875
76876 2006-02-28  Simon Josefsson  <jas@extundo.com>
76877
76878         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76879
76880 2006-02-27  Simon Josefsson  <jas@extundo.com>
76881
76882         * lib/base64.h: Indent #define's.  From Jim Meyering
76883         <jim@meyering.net>.
76884
76885 2006-02-27  Jim Meyering  <jim@meyering.net>
76886
76887         Revert the change of 2006-02-24, so these files can continue
76888         to be sync'd from gettext.
76889         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76890         of `config.h'.
76891
76892 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76893
76894         * modules/intprops: New file.
76895         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76896         Add intprops.
76897         * modules/getloadavg (Files): Remove lib/intprops.h.
76898         (Depends-on): Add intprops.
76899         * modules/human: Likewise.
76900         * modules/inttostr: Likewise.
76901         * modules/openat: Likewise.
76902         * modules/sig2str: Likewise.
76903         * modules/userspec: Likewise.
76904         * modules/utimecmp: Likewise.
76905         * modules/xnanosleep: Likewise.
76906         * modules/xstrtol: Likewise.
76907
76908 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76909
76910         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76911         * modules/lock-tests (TESTS): Use $(EXEEXT).
76912         * modules/tls-tests: Likewise.
76913         * modules/argp-tests: Likewise.
76914         (check_PROGRAMS): New var, replacing...
76915         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76916
76917 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76918
76919         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76920         `config.h'.
76921
76922 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76923
76924         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76925
76926 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76927
76928         Sync from coreutils.
76929         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76930         gl_CHDIR_SAFER.
76931
76932 2006-02-22  Jim Meyering  <jim@meyering.net>
76933
76934         Sync from coreutils.
76935         * m4/chdir-safer.m4: New file.
76936
76937 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76938
76939         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76940         AT_FDCWD exceeds INT_MAX.
76941         * lib/openat.h (AT_FDCWD): Likewise.
76942
76943 2006-02-17  Eric Blake  <address@hidden>
76944
76945         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76946
76947 2006-02-16  Simon Josefsson  <jas@extundo.com>
76948
76949         * modules/getaddrinfo (Depends-on): Add sys_socket.
76950
76951 2006-02-15  Simon Josefsson  <jas@extundo.com>
76952
76953         * build-aux/maint.mk: Add dsyntax-check rule.
76954
76955 2006-02-15  Eric Blake  <ebb9@byu.net>
76956
76957         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76958         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
76959         'present but cannot compile' warnings on cygwin.
76960         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
76961         use ws2tcpip.h if sys/socket.h works.
76962         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
76963         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
76964
76965 2006-02-14  Simon Josefsson  <jas@extundo.com>
76966
76967         * modules/maintainer-makefile (Files): Rename.
76968
76969         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
76970         and (the local) Makefile.cfg to maint-cfg.mk.
76971
76972         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
76973         to the latter.
76974
76975         * modules/maintainer-makefile: New module.
76976
76977         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
76978         severaly stripped to make it possible to build it up from scratch
76979         with reliable tests.
76980
76981         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
76982         fixes to permit overriding the default actions when configure and
76983         makefile are not available.
76984
76985 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
76986
76987         Sync from coreutils.
76988         * modules/lstat (Depends-on): Don't depend on xalloc.
76989         (License): Change from GPL to LGPL, since this is now simply a
76990         replacement for a libc function.
76991
76992 2006-02-14  Jim Meyering  <jim@meyering.net>
76993
76994         Sync from coreutils.
76995
76996         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
76997         failure on deficient systems, and simplify gnulib lgpl dependencies.
76998         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
76999         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
77000
77001         * lib/xalloc-die.c: Remove unused definition of N_.
77002
77003 2006-02-14  Jim Meyering  <jim@meyering.net>
77004
77005         Sync from coreutils.
77006         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
77007         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
77008         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
77009         double-quote uses of that variable, to accommodate the rare case in
77010         which getmntent is available in none of the libraries checked.  This
77011         happens at least on FreeBSD 5.0.
77012
77013 2006-02-13  Simon Josefsson  <jas@extundo.com>
77014
77015         * gnulib-tool (Usage): Fix --import, from
77016         karl@freefriends.org (Karl Berry).
77017
77018 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
77019
77020         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
77021
77022 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
77023
77024         * lib/argp-namefrob.h: Restore changes accidentally lost during the
77025         "autoupdate" on 2005-12-12.
77026
77027 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77028
77029         * modules/closeout (Depends-on): Remove atexit.
77030
77031 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77032
77033         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
77034         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
77035
77036 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
77037
77038         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
77039         __EXTENSIONS__ if this causes compilation to fail.  Problem
77040         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
77041         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
77042
77043 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
77044
77045         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
77046         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
77047         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
77048         All uses changed.
77049
77050 2006-01-26  Simon Josefsson  <jas@extundo.com>
77051
77052         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
77053         prototype is visible on mingw32.
77054
77055         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
77056         for mingw32.
77057
77058         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
77059         mingw32).
77060
77061 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
77062
77063         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
77064         attempt to open for write; this always fails, at least on POSIX
77065         hosts.  This reinstates the 2006-01-09 change, which was
77066         inadvertently removed.
77067
77068 2006-01-26  Bruno Haible  <bruno@clisp.org>
77069
77070         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
77071         Reported by Paul Eggert.
77072
77073 2006-01-26  Bruno Haible  <bruno@clisp.org>
77074             Paul Eggert  <eggert@cs.ucla.edu>
77075
77076         * lib/stdbool_.h (_Bool)
77077         [(! (defined __cplusplus || defined __BEOS__)
77078           && !defined __GNUC__
77079           && !(defined __HP_cc || defined __xlc__
77080                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
77081                || defined __sgi))]:
77082         #define to signed char in these cases too; this simplifies
77083         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
77084         etc., separately) and makes it more conservative.
77085
77086 2006-01-25  Simon Josefsson  <jas@extundo.com>
77087
77088         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
77089         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
77090         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
77091
77092 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77093
77094         * lib/argp-namefrob.h: Bugfix. Remove stray #
77095
77096 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
77097
77098         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
77099         so that we test the test.
77100         Check for yet another HP-UX cc bug involving *bool |= bool.
77101
77102 2006-01-25  Karl Berry  <karl@gnu.org>
77103
77104         * config/srclist.txt (vasnprintf.c): sync lost.
77105
77106 2006-01-25  Jim Meyering  <jim@meyering.net>
77107
77108         Sync from the stable (b5) branch of coreutils:
77109
77110         * lib/fts.c (fts_children): Don't let close() clobber errno from
77111         failed fchdir().
77112
77113         * lib/fts.c (fts_stat): When following a symlink-to-directory,
77114         don't necessarily interpret stat-fails+lstat-succeeds as indicating
77115         a dangling symlink.  That can also happen at least for ELOOP.
77116         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
77117         FYI, this bug predates the inclusion of fts.c in coreutils.
77118
77119         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
77120         in their own block, so pre-c99 compilers don't object.
77121
77122         Avoid the double-free (first in fts_read, second in fts_close) that
77123         would occur when an `active' directory is made inaccessible (e.g.,
77124         via chmod a-x) during a traversal.
77125         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77126         before returning.  Reproduce this failure by
77127         mkdir -p a/b; cd a; chmod a-x . b
77128         Reported by Stavros Passas.
77129
77130 2006-01-25  Jim Meyering  <jim@meyering.net>
77131
77132         * lib/fileblocks.c: Remove more useless parentheses.
77133         * lib/readutmp.h: Likewise.
77134
77135 2006-01-25  Bruno Haible  <bruno@clisp.org>
77136
77137         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
77138         warnings.
77139         Reported by Paul Eggert.
77140
77141 2006-01-25  Bruno Haible  <bruno@clisp.org>
77142
77143         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
77144         rid of a trap command. For Solaris sh.
77145         Reported by Mark D. Baushke <mdb@gnu.org>.
77146
77147 2006-01-24  Simon Josefsson  <jas@extundo.com>
77148
77149         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
77150         Bruno.
77151
77152 2006-01-24  Karl Berry  <karl@gnu.org>
77153
77154         * config/srclist.txt (argp-namefrob.h): sync lost.
77155
77156 2006-01-24  Jim Meyering  <jim@meyering.net>
77157
77158         * modules/openat (Files): Add lib/intprops.h.
77159         From Mark D. Baushke.
77160
77161 2006-01-24  Jim Meyering  <jim@meyering.net>
77162
77163         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
77164         Reported by Mark D. Baushke.
77165
77166 2006-01-24  Jim Meyering  <jim@meyering.net>
77167
77168         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
77169
77170 2006-01-24  Bruno Haible  <bruno@clisp.org>
77171
77172         * modules/strnlen (Maintainer): Change from glibc to all.
77173
77174 2006-01-24  Bruno Haible  <bruno@clisp.org>
77175
77176         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
77177         Patch by Paul Eggert.
77178
77179 2006-01-24  Bruno Haible  <bruno@clisp.org>
77180
77181         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
77182         already has it.
77183         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
77184         2005-11-26.
77185
77186         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
77187         'signed char' to avoid problems with the built-in _Bool type.
77188         Reported by Paul Eggert on 2005-11-26.
77189
77190 2006-01-24  Bruno Haible  <bruno@clisp.org>
77191
77192         * gnulib-tool (func_import): Avoid constructing complicated sed
77193         expressions inside backquote.
77194         Report and solution by Mark D. Baushke <mdb@gnu.org>.
77195
77196 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
77197
77198         These changes imported from libc.
77199         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
77200         test and two separate function calls.
77201         * lib/strndup.c (__strndup): Add libc_hidden_def.
77202
77203 2006-01-23  Simon Josefsson  <jas@extundo.com>
77204
77205         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
77206         Remove the test_*_SOURCES variable: automake infers it by default.
77207         * modules/tls-tests: Likewise.
77208
77209 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77210
77211         Work around porting bugs reported by Dieter in
77212         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
77213         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
77214         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
77215         Include "getopt.h" first, to check interface.
77216         (getenv): Declare only if defined HAVE_DECL_GETENV &&
77217         !HAVE_DECL_GETENV.
77218         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
77219         (__strndup): Revert to K&R-style function dfns, the glibc style.
77220         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
77221         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
77222         Include strnlen.h first, to get prototype properly.
77223         (strnlen): Renamed from __strnlen.
77224         Remove weak alias.
77225
77226 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77227
77228         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
77229
77230 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77231
77232         * config/srclist.txt: Adjust to reflect glibc reorganization.
77233         This affects only comments.
77234
77235 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77236
77237          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
77238          Reported by Bruce Korb <bkorb@gnu.org>.
77239
77240 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
77241
77242         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
77243         to pacify gcc -Wswitch-default.
77244
77245 2006-01-22  Bruno Haible  <bruno@clisp.org>
77246
77247         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
77248         temporary buffer for sprintf, take into account the precision also
77249         for 'd', 'i', 'u', 'o', 'x', 'X'.
77250
77251 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77252
77253         * modules/argp-tests: New module
77254         * tests/test-argp.c: New file
77255         * tests/test-argp-2.sh: New file
77256
77257 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77258
77259         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
77260         (__argp_base_name): Removed
77261         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
77262         typo.
77263         (__argp_base_name): Provide macro definition or extern declaration
77264         depending on the configuration
77265
77266 2006-01-20  Simon Josefsson  <jas@extundo.com>
77267
77268         * modules/inet_ntop (Depends-on): Depend on sys_socket.
77269
77270 2006-01-20  Simon Josefsson  <jas@extundo.com>
77271
77272         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
77273
77274 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77275
77276         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
77277         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
77278         Suggested by Bruno Haible.
77279
77280 2006-01-20  Karl Berry  <karl@gnu.org>
77281
77282         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
77283         until changes propagate, I guess.
77284
77285 2006-01-19  Simon Josefsson  <jas@extundo.com>
77286
77287         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
77288
77289 2006-01-19  Simon Josefsson  <jas@extundo.com>
77290
77291         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
77292
77293 2006-01-19  Simon Josefsson  <jas@extundo.com>
77294
77295         * gnulib-tool: Set check_PROGRAMS.
77296
77297         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77298         modules/des-tests, modules/gc-arcfour-tests,
77299         modules/gc-arctwo-tests, modules/gc-des-tests,
77300         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77301         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77302         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77303         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77304         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77305         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
77306         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
77307         test_*_SOURCES.
77308
77309 2006-01-18  Simon Josefsson  <jas@extundo.com>
77310
77311         * modules/socklen (Depends-on): Depend on sys_socket.
77312
77313 2006-01-18  Simon Josefsson  <jas@extundo.com>
77314
77315         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77316         modules/des-tests, modules/gc-arcfour-tests,
77317         modules/gc-arctwo-tests, modules/gc-des-tests,
77318         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77319         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77320         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77321         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77322         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77323         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
77324         $(EXEEXT) to automake TESTS variable, for mingw32.
77325
77326 2006-01-17  Simon Josefsson  <jas@extundo.com>
77327
77328         * modules/socklen (Include): Need sys/socket.h.
77329
77330 2006-01-17  Bruno Haible  <bruno@clisp.org>
77331
77332         * modules/ssize_t (Include): Add <sys/types.h>.
77333
77334 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
77335
77336         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
77337         it's not portable and it doesn't work with cross-compiles.
77338         Problem reported by Bruno Haible.  Fix missing-$ typo in
77339         'test "gl_cv_ignore_unused_libraries" ...' that prevented
77340         -zignore from being used with Sun's C compiler.
77341
77342 2006-01-12  Simon Josefsson  <jas@extundo.com>
77343
77344         * lib/base64.c: Fix warning, reported by Bruno Haible
77345         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
77346
77347 2006-01-12  Bruno Haible  <bruno@clisp.org>
77348
77349         * modules/ldd: New file.
77350         * build-aux/ldd.sh.in: New file.
77351         * MODULES.html.sh (Support for building libraries and executables): Add
77352         ldd.
77353
77354 2006-01-12  Bruno Haible  <bruno@clisp.org>
77355
77356         * m4/ldd.m4: New file.
77357
77358 2006-01-12  Bruno Haible  <bruno@clisp.org>
77359
77360         * gnulib-tool (func_import, func_create_testdir): Don't go into an
77361         endless loop while replacing $auxdir with build-aux.
77362
77363 2006-01-11  Simon Josefsson  <jas@extundo.com>
77364
77365         * lib/stdint_.h (SIZE_MAX): Add missing (.
77366
77367 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
77368
77369         Sync from coreutils.
77370         * lib/md5.c: Fix commentary typos.
77371         (alignof, UNALIGNED_P): No need for a GCC-specific version.
77372         * lib/md5.h (__attribute__): Remove; unused.
77373         * lib/sha1.c: Fix commentary to match md5 better.
77374         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
77375         so that we don't need to worry about alignment.  All uses changed.
77376         This merges the 2005-10-28 md5 change into sha1.
77377
77378 2006-01-11  Jim Meyering  <jim@meyering.net>
77379
77380         Sync from coreutils.
77381         * lib/md5.c (OP): Fix spacing.
77382
77383 2006-01-11  Bruno Haible  <bruno@clisp.org>
77384
77385         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77386         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
77387         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
77388
77389 2006-01-11  Bruno Haible  <bruno@clisp.org>
77390
77391         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77392         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
77393         the "early" section as well.
77394
77395 2006-01-11  Bruno Haible  <bruno@clisp.org>
77396
77397         Avoid "ar: no archive members specified" error on MacOS X.
77398         * gnulib-tool (func_modules_add_dummy): New function.
77399         (func_import, func_create_testdir): Invoke it.
77400
77401 2006-01-11  Bruno Haible  <bruno@clisp.org>
77402
77403         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
77404         with $auxdir in AC_CONFIG_FILES statements.
77405
77406 2006-01-11  Bruno Haible  <bruno@clisp.org>
77407
77408         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77409         Initialize also noinst_HEADERS to empty.
77410
77411 2006-01-11  Bruno Haible  <bruno@clisp.org>
77412
77413         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
77414         variables.
77415         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
77416         autoreconf.
77417
77418 2006-01-11  Bruno Haible  <bruno@clisp.org>
77419
77420         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
77421         overridable by the user.
77422         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77423
77424 2006-01-10  Simon Josefsson  <jas@extundo.com>
77425
77426         * modules/sys_socket: New file.
77427
77428 2006-01-10  Simon Josefsson  <jas@extundo.com>
77429
77430         * m4/sys_socket_h.m4: New file.
77431
77432 2006-01-10  Simon Josefsson  <jas@extundo.com>
77433
77434         * lib/socket_.h: New file.
77435
77436 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77437
77438         * modules/readutmp (Maintainer): Add myself.
77439
77440 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77441
77442         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
77443         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
77444         People who are still concerned with buggy memcmp implementations
77445         can invoke gl_FUNC_MEMCMP themselves.
77446
77447 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77448
77449         * lib/regex_internal.h (BITSET_WORD_BITS):
77450         Work around a bug in 64-bit PGC (before version 6.1-2), where the
77451         preprocessor mishandles large unsigned values as if they were signed.
77452         Problem reported by Claudio Fontana in
77453         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
77454
77455 2006-01-10  Jim Meyering  <jim@meyering.net>
77456
77457         Avoid the double-free (first in fts_read, second in fts_close) that
77458         would occur when an `active' directory is made inaccessible (e.g.,
77459         via chmod a-x) during a traversal.
77460         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77461         before returning.  Reproduce this failure by
77462         mkdir -p a/b; cd a; chmod a-x . b
77463         Reported by Stavros Passas.
77464
77465         Sync from coreutils.
77466         * lib/sha1.c: Tweak grammar in a comment.
77467
77468 2006-01-10  Jim Meyering  <jim@meyering.net>
77469
77470         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
77471         Patch by Joerg Sonnenberger.
77472
77473 2006-01-10  Bruno Haible  <bruno@clisp.org>
77474
77475         * modules/readutmp: Depend on module free.
77476         * modules/strtok_r: Depend on module restrict.
77477
77478 2006-01-10  Bruno Haible  <bruno@clisp.org>
77479
77480         * modules/gettext (configure.ac): Add an invocation of
77481         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
77482
77483 2006-01-10  Bruno Haible  <bruno@clisp.org>
77484
77485         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
77486         Reported by Werner Lemberg <wl@gnu.org>.
77487
77488 2006-01-10  Bruno Haible  <bruno@clisp.org>
77489
77490         * lib/localcharset.c: Update from GNU gettext.
77491
77492 2006-01-10  Bruno Haible  <bruno@clisp.org>
77493
77494         * lib/argp.h (__const): Remove macro. Use const instead.
77495         * lib/argp-fmtstream.h (__const): Likewise.
77496         * lib/glob_.h (__const): Remove macro.
77497         * lib/glob-libc.h: Use const instead of __const.
77498
77499 2006-01-10  Bruno Haible  <bruno@clisp.org>
77500
77501         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
77502         variable.
77503         Needed to avoid an automake error regarding the 'gettext' module.
77504
77505 2006-01-09  Simon Josefsson  <jas@extundo.com>
77506
77507         * modules/inet_ntop (Depends-on): Add restrict.
77508
77509 2006-01-09  Simon Josefsson  <jas@extundo.com>
77510
77511         * modules/gc-rijndael-tests (License): Put under LGPL.
77512
77513         * modules/gc-des-tests (License): Likewise.
77514
77515         * modules/gc-arcfour-tests (License): Likewise.
77516
77517         * modules/gc-arctwo-tests (License): Likewise.
77518
77519         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
77520
77521         * modules/gc-hmac-sha1-tests (Files): Likewise.
77522
77523         * modules/gc-hmac-md5-tests (License): Likewise.
77524
77525         * modules/gc-sha1-tests (License): Likewise.
77526
77527         * modules/gc-md5-tests (License): Likewise.
77528
77529         * modules/gc-md4-tests (License): Likewise.
77530
77531         * modules/gc-md2-tests (License): Likewise.
77532
77533         * modules/gc-tests (License): Likewise.
77534
77535         * modules/des-tests (License): Likewise.
77536
77537         * modules/md4-tests (License): Likewise.
77538
77539         * modules/md2-tests (License): Likewise.
77540
77541 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77542
77543         Sync from coreutils:
77544
77545         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
77546         * modules/lib-ignore: New file.
77547         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
77548         chdir-safer.m4, lchmod.m4.
77549         * modules/openat: Add mkdirat.c, openat-priv.h.
77550
77551 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77552
77553         Sync from coreutils.
77554         * m4/lib-ignore.m4: New file.
77555         * m4/lchmod.m4: New file.
77556
77557 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77558
77559         Sync from coreutils.
77560         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
77561         for write access: POSIX says that must fail.
77562         * lib/fts.c (diropen): Likewise.
77563         * lib/save-cwd.c (save_cwd): Likewise.
77564         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
77565         well, for minor improvements on hosts that lack O_DIRECTORY.
77566         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
77567         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
77568         Fall back on chown if open failed with EACCES.
77569
77570         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
77571         Report an error at compile-time if only a 1-second nominal clock
77572         resolution is found.
77573
77574         * lib/lchmod.h: New file.
77575         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
77576         (make_dir_parents): Use lchown rather than chown, and
77577         lchmod rather than chmod.
77578
77579         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
77580         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
77581         "proc" reported by n0dalus.
77582
77583         * lib/mountlist.c: Include <limits.h>.
77584         (dev_from_mount_options)
77585         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
77586         New function.  It no longer assumes "dev=" has the System V meaning
77587         on Linux (since it doesn't).  It also parses "dev=" more carefully.
77588         (read_file_system_list)
77589         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
77590         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
77591         dev= in that case.
77592
77593         * lib/posixtm.h (PDS_PRE_2000): New macro.
77594         * lib/posixtm.c (year): Arg is now syntax_bits rather than
77595         allow_century.  All usages changed.  Reject dates outside the range
77596         1969-1999 if PDS_PRE_2000 is used.
77597
77598 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77599
77600         Sync from coreutils.
77601         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
77602         (Time of day items): Mention the possibility of leap seconds.
77603         Problem reported by Dr. David Alan Gilbert.
77604
77605 2006-01-09  Jim Meyering  <jim@meyering.net>
77606
77607         Sync from coreutils.
77608
77609         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
77610
77611         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
77612
77613         * lib/modechange.c (mode_compile): Reject an invalid mode string
77614         that starts with an octal digit.  From Andreas Gruenbacher.
77615
77616         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
77617         and dup to open_safer and dup_safer, respectively.
77618         (openat_permissive): Fix typo in comment.
77619
77620         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
77621         "gettext.h"; either no longer needed or are guaranteed by openat.h.
77622         (_): Remove; no longer needed.
77623         (openat): Renamed from rpl_openat; no need for rpl_openat
77624         since openat.h renames openat for us.
77625         Replace most of the body with a call to openat_permissive,
77626         to avoid duplicate code.
77627         Port to (probably hypothetical) environments were mode_t is
77628         wider than int.
77629         (openat_permissive): Require mode arg, so that we can check
77630         types better.  Put it just after flags.  Change cwd failure
77631         indicator from pointer-to-bool to pointer-to-errno-value.
77632         All callers changed.
77633         Invoke openat_save_fail and/or openat_restore_fail if
77634         cwd_errno is null, so that openat can call us.
77635         (openat_permissive, fdopendir, fstatat, unlinkat):
77636         Simplify errno handling to avoid some duplicate code,
77637         as it's OK to set errno on success.
77638         * lib/openat.h: Revamp code so that function macros depend on
77639         __OPENAT_PREFIX only, not also on AT_FDCWD.
77640         (openat_ro): Remove.  Caller changed to use openat_permissive.
77641         (openat_permissive): Now a macro, if not a function.
77642         (openat_restore_fail, openat_save_fail): Now always functions,
77643         since mkdirat needs them even if __OPENAT_PREFIX is defined.
77644
77645         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
77646         and openat.c.
77647         * lib/mkdirat.c: Include openat-priv.h.
77648         Remove definitions of macros defined therein.
77649         * lib/openat.c: Likewise.
77650
77651         * lib/mkdirat.c (mkdirat): New file and function.
77652         * lib/openat.h (mkdirat): Declare.
77653
77654         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
77655
77656         * lib/openat.h (openat_permissive): Declare.
77657         (openat_ro): Define.
77658
77659         * lib/openat.c (EXPECTED_ERRNO): New macro.
77660         (openat_permissive): New function -- used in remove.c rewrite.
77661         (all functions): Set errno just before returning, only if there
77662         was an actual failure.
77663         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
77664
77665         Emulate openat-family functions using Linux's procfs, if possible.
77666         Idea and some code based on Ulrich Drepper's glibc changes.
77667
77668         * lib/openat.c: (BUILD_PROC_NAME): New macro.
77669         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
77670         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
77671         before falling back on save_cwd and restore_cwd.
77672         (fdopendir, fstatat, unlinkat): Likewise.
77673
77674         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
77675         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
77676
77677         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
77678         as second argument to va_arg.  Otherwise, some versions of gcc
77679         warn that `if this code is reached, the program will abort'.
77680
77681 2006-01-09  Jim Meyering  <jim@meyering.net>
77682
77683         Sync from coreutils.
77684         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77685         Require openat-priv.h.
77686
77687 2006-01-09  Bruno Haible  <bruno@clisp.org>
77688
77689         * modules/strnlen (Include): Use strnlen.h.
77690
77691 2006-01-09  Bruno Haible  <bruno@clisp.org>
77692
77693         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77694
77695 2006-01-09  Bruno Haible  <bruno@clisp.org>
77696
77697         * lib/sysexit_.h (EX_OK): New macro.
77698         Suggested by Martin Lambers <marlam@marlam.de>.
77699
77700 2006-01-09  Bruno Haible  <bruno@clisp.org>
77701
77702         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77703         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77704
77705 2006-01-09  Bruno Haible  <bruno@clisp.org>
77706
77707         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77708         numbers.
77709
77710 2006-01-09  Bruno Haible  <bruno@clisp.org>
77711
77712         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77713         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77714         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77715         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77716
77717 2006-01-09  Bruno Haible  <bruno@clisp.org>
77718
77719         * build-aux/javacomp.sh.in: New file, moved from lib/.
77720         * modules/javacomp-script (Files): Update.
77721         (configure.ac): Add AC_CONFIG_FILES invocation.
77722         (EXTRA_DIST): Remove variable.
77723
77724         * build-aux/javaexec.sh.in: New file, moved from lib/.
77725         * modules/javaexec (Files): Update.
77726         (configure.ac): Add AC_CONFIG_FILES invocation.
77727         (EXTRA_DIST): Remove javaexec.sh.in.
77728
77729         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77730         * modules/csharpcomp-script (Files): Update.
77731         (configure.ac): Add AC_CONFIG_FILES invocation.
77732         (EXTRA_DIST): Remove variable.
77733
77734         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77735         * modules/csharpexec (Files): Update.
77736         (configure.ac): Add AC_CONFIG_FILES invocation.
77737         (EXTRA_DIST): Remove csharpexec.sh.in.
77738
77739 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77740
77741         Sync from coreutils.
77742
77743         Add POSIX ACL support
77744         * lib/acl.h (copy_acl, set_acl): Add declarations.
77745         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77746         systems other than Linux.
77747         (chmod_or_fchmod): New function: use fchmod when possible,
77748         and chmod otherwise.
77749         (file_has_acl): Add a POSIX ACL implementation, with a
77750         Linux-specific subcase.
77751         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77752         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77753         acls are unsupported.
77754         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77755         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77756         are unsupported.
77757
77758 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77759
77760         Sync from coreutils.
77761         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77762
77763 2006-01-07  Bruno Haible  <bruno@clisp.org>
77764
77765         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77766         gl_EARLY.
77767
77768 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77769
77770         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77771         Problem reported for Mingw by Mark Junker.
77772
77773 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77774
77775         * README: Gnulib normally doesn't generate a tarball.
77776
77777 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77778
77779         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77780         long int, not int, for nanosecond counts, so that people who are
77781         used to POSIX struct timespec won't be surprised.  Reported by Jim
77782         Meyering.
77783
77784 2005-12-28  Bruno Haible  <bruno@clisp.org>
77785
77786         * build-aux/config.rpath: Update from GNU gettext.
77787
77788 2005-12-16  Jim Meyering  <jim@meyering.net>
77789
77790         * modules/fprintftime: New module.
77791         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77792
77793 2005-12-16  Jim Meyering  <jim@meyering.net>
77794
77795         * m4/fprintftime.m4: New file.
77796
77797 2005-12-16  Jim Meyering  <jim@meyering.net>
77798
77799         * lib/fprintftime.c, lib/fprintftime.h: New files.
77800
77801 2005-12-15  Simon Josefsson  <jas@extundo.com>
77802
77803         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77804         new m4/socklen.m4.
77805
77806 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77807
77808         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77809         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77810
77811 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77812
77813         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77814         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77815         struct uparams is valid. Fall back to the default values if it is
77816         not.
77817
77818 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77819
77820         * modules/argp (Files): Add argp-pin.c
77821         (Depends-on): dirname
77822         (lib_SOURCES): Add argp-pin.c
77823
77824 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77825
77826         * m4/argp.m4:  Check if program_invocation_name and
77827         program_invocation_short_name are declared and define appropriate
77828         macros if they are not.
77829
77830 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77831
77832         * lib/argp-help.c (__argp_base_name): New function
77833         (__argp_short_program_name): Rewrite using __argp_base_name
77834         * lib/argp-namefrob.h: Define program_invocation_name and
77835         program_invocation_short_name if requested
77836         (__argp_base_name): Add prototype
77837         * lib/argp-parse.c (argp_def): Use gettext wrappers
77838         (argp_default_parser): Use __argp_base_name
77839         * lib/argp-pin.c: New file. Defines program_invocation_name and
77840         program_invocation_short_name on systems that lack them.
77841
77842 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77843
77844         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77845         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77846         porting problem reported by Georg Schwarz in
77847         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77848
77849 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77850
77851         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77852         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77853         porting problem reported by Georg Schwarz in
77854         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77855
77856 2005-12-05  Bruno Haible  <bruno@clisp.org>
77857
77858         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77859         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77860         Reported by Mark Junker <mjscod@gmx.de>.
77861
77862 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77863
77864         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77865         Use implementation from Albert Chin, with some
77866         comments/corrections by Stepan Kasal and myself.
77867
77868 2005-12-02  Bruno Haible  <bruno@clisp.org>
77869
77870         * gnulib-tool (func_import): Accept GPLed build tool modules when
77871         --lgpl is given.
77872         * modules/csharpcomp-script: New file.
77873         * modules/csharpcomp: Depend on it.
77874         * modules/javacomp-script: New file.
77875         * modules/javacomp: Depend on it.
77876         Suggested by Simon Josefsson.
77877
77878 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77879
77880         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77881         statement, to work around an HP-UX 10.20 compiler bug reported by
77882         Peter O'Gorman.
77883
77884 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77885
77886         * modules/savedir (Depends-on): Add openat.
77887
77888 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77889
77890         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77891         (uintmax_t) [defined uintmax_t]: Do not declare.
77892         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77893         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77894         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77895         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77896         sake of portability to weird hosts that C allows (though we don't
77897         know of any practical examples).
77898
77899         * lib/savedir.h (fdsavedir): New decl.
77900         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77901         contains most of the former guts of savedir.
77902         (savedir): Use savedirstream.
77903         Include "openat.h".
77904
77905 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77906
77907         * modules/obstack (Files): Add m4/ulonglong.m4.
77908         Problem reported by Davide Angelocola.
77909
77910 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77911
77912         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77913         coreutils no longer futzes with rounding modes.
77914
77915 2005-11-14  Jim Meyering  <jim@meyering.net>
77916
77917         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77918         replacement of mkstemp.
77919
77920 2005-11-10  Simon Josefsson  <jas@extundo.com>
77921
77922         * lib/readline.c: Remove EOL.
77923
77924 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77925
77926         * modules/gethrxtime (Depends-on): Add gettime.
77927
77928 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77929
77930         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77931         or gettimeofday; no longer needed.
77932
77933 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77934
77935         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77936         time business.
77937         (gethrxtime) [! (HAVE_NANOUPTIME
77938         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77939         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77940         our own approximation.
77941
77942 2005-11-08  Eric Blake  <ebb9@byu.net>
77943
77944         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77945
77946 2005-11-08  Eric Blake  <ebb9@byu.net>
77947
77948         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77949
77950 2005-11-04  Bruno Haible  <bruno@clisp.org>
77951
77952         * gnulib-tool: Implement --update mode.
77953
77954 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77955
77956         Fix porting problem reported by Theodoros V. Kalamatianos.
77957         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77958         Don't assume that futimes failing means we must fail.
77959
77960 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77961
77962         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
77963         variables to suggest the intended function of the PATH_MAX check.
77964
77965 2005-10-30  Kean Johnston  <jkj@sco.com>
77966
77967         Trivial changes to support SCO systems.
77968         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
77969         as PATH_MAX.
77970         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
77971         where __ptr is null when no I/O is pending.
77972
77973 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
77974
77975         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
77976         leave errno alone.  Problem reported by Dmitry V. Levin.
77977
77978 2005-10-28  Simon Josefsson  <jas@extundo.com>
77979
77980         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
77981         Test more.
77982
77983         * tests/test-gc-md2.c, tests/test-md2.c: New files.
77984
77985         * modules/md2, modules/md2-tests: New files.
77986
77987 2005-10-28  Simon Josefsson  <jas@extundo.com>
77988
77989         * m4/inet_ntop.m4: More tests.
77990
77991         * m4/gc-md2.m4, md2.m4: New file.
77992
77993 2005-10-28  Simon Josefsson  <jas@extundo.com>
77994
77995         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
77996         "restrict" keywords, as per POSIX.  Protect the function
77997         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
77998         Don't use K&R prototypes.  Check the sprintf return values.
77999         Re-define EAFNOSUPPORT if not present.  Indent.
78000
78001         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
78002         suggested by Bruno Haible <bruno@clisp.org>.
78003
78004         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
78005
78006         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
78007
78008         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
78009         libgcrypt).
78010
78011         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
78012
78013         * lib/md2.h, lib/md2.c: New files.
78014
78015 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
78016
78017         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
78018         errno alone.  Problem reported by Frederic Jolliton.
78019
78020 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
78021
78022         * modules/verify (License): Change from GPL to LGPL.  This is a
78023         tiny module and there are apparently near-equivalents that are
78024         under the BSD license.
78025
78026 2005-10-24  Simon Josefsson  <jas@extundo.com>
78027
78028         * modules/sha1: Relicense to LGPL.
78029
78030 2005-10-24  Simon Josefsson  <jas@extundo.com>
78031
78032         * lib/md4.h: Shrink buffer size, now that we changed the type.
78033
78034 2005-10-23  Simon Josefsson  <jas@extundo.com>
78035
78036         * gnulib-tool (func_import): Fix --tests-base.
78037
78038 2005-10-22  Simon Josefsson  <jas@extundo.com>
78039
78040         * modules/arcfour (Depends-on): Need stdint.
78041
78042 2005-10-22  Simon Josefsson  <jas@extundo.com>
78043
78044         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
78045         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
78046
78047 2005-10-22  Simon Josefsson  <jas@extundo.com>
78048
78049         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
78050         suggested by Bruno Haible <bruno@clisp.org>.
78051
78052 2005-10-22  Simon Josefsson  <jas@extundo.com>
78053
78054         * lib/crc.h: Include stddef.h, for size_t.
78055
78056 2005-10-22  Simon Josefsson  <jas@extundo.com>
78057
78058         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
78059         arcfour_context struct (simplify test vector testing in GNU
78060         Shishi).
78061
78062 2005-10-21  Simon Josefsson  <jas@extundo.com>
78063
78064         * modules/des, modules/des-tests: New files.
78065
78066         * modules/gc-des, modules/gc-des-tests: New files.
78067
78068         * tests/test-des.c, tests/test-gc-des.c: New file.
78069
78070 2005-10-21  Simon Josefsson  <jas@extundo.com>
78071
78072         * modules/arctwo, modules/arctwo-tests: New files.
78073
78074         * tests/test-arctwo.c: New file.
78075
78076         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
78077
78078         * tests/test-gc-arctwo.c: New file.
78079
78080 2005-10-21  Simon Josefsson  <jas@extundo.com>
78081
78082         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
78083         Bruno Haible <bruno@clisp.org>.
78084
78085         * m4/gc-des.m4: New file.
78086
78087 2005-10-21  Simon Josefsson  <jas@extundo.com>
78088
78089         * m4/arctwo.m4: New file.
78090
78091         * m4/gc-arctwo.m4: New file.
78092
78093 2005-10-21  Simon Josefsson  <jas@extundo.com>
78094
78095         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
78096         block.
78097
78098 2005-10-21  Simon Josefsson  <jas@extundo.com>
78099
78100         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
78101         <bruno@clisp.org>.
78102
78103         * lib/hmac-sha1.c (hmac_sha1): Likewise.
78104
78105         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
78106         Bruno Haible <bruno@clisp.org>.
78107
78108         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
78109         <bruno@clisp.org>.
78110
78111 2005-10-21  Simon Josefsson  <jas@extundo.com>
78112
78113         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
78114
78115 2005-10-21  Simon Josefsson  <jas@extundo.com>
78116
78117         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
78118
78119 2005-10-21  Simon Josefsson  <jas@extundo.com>
78120
78121         * lib/des.h, lib/des.c: New files.
78122
78123         * lib/gc-gnulib.c: Support DES.c
78124
78125 2005-10-21  Simon Josefsson  <jas@extundo.com>
78126
78127         * lib/arctwo.h, lib/arctwo.c: New files.
78128
78129         * lib/gc-gnulib.c: Support ARCTWO.
78130
78131 2005-10-21  Simon Josefsson  <jas@extundo.com>
78132
78133         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
78134         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78135
78136 2005-10-21  Simon Josefsson  <jas@extundo.com>
78137
78138         * gnulib-tool (func_import, func_create_testdir): Define automake
78139         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
78140         Makefile.am snippet),
78141         suggested by Bruno Haible <bruno@clisp.org>.
78142
78143         * modules/gc (Makefile.am): Use it.
78144
78145 2005-10-21  Bruno Haible  <bruno@clisp.org>
78146
78147         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
78148         patch.
78149
78150 2005-10-19  Simon Josefsson  <jas@extundo.com>
78151
78152         * tests/test-gc-rijndael.c: New file.
78153
78154         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
78155
78156 2005-10-19  Simon Josefsson  <jas@extundo.com>
78157
78158         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
78159         interface too.
78160
78161 2005-10-19  Simon Josefsson  <jas@extundo.com>
78162
78163         * tests/test-gc-arcfour.c: New file.
78164
78165         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
78166
78167 2005-10-19  Simon Josefsson  <jas@extundo.com>
78168
78169         * modules/gc-md4, modules/gc-md4-tests: New file.
78170
78171         * tests/test-gc-md4.c: New file.
78172
78173 2005-10-19  Simon Josefsson  <jas@extundo.com>
78174
78175         * m4/gc-md4.m4: New file.
78176
78177 2005-10-19  Simon Josefsson  <jas@extundo.com>
78178
78179         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
78180         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
78181         <kasal@ucw.cz>.
78182
78183 2005-10-19  Simon Josefsson  <jas@extundo.com>
78184
78185         * m4/gc-arcfour.m4: New file.
78186
78187         * m4/gc-rijndael.m4: New file.
78188
78189 2005-10-19  Simon Josefsson  <jas@extundo.com>
78190
78191         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
78192
78193 2005-10-19  Simon Josefsson  <jas@extundo.com>
78194
78195         * lib/gc-gnulib.c: Support ARCFOUR.
78196
78197 2005-10-19  Simon Josefsson  <jas@extundo.com>
78198
78199         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
78200         support.
78201
78202         * lib/gc.h: Add ECB enum type.
78203
78204         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
78205
78206 2005-10-18  Simon Josefsson  <jas@extundo.com>
78207
78208         * tests/test-md5.c: New file.
78209
78210         * modules/md5-tests: New file.
78211
78212 2005-10-18  Simon Josefsson  <jas@extundo.com>
78213
78214         * tests/test-md4.c: New file.
78215
78216         * modules/md4, modules/md4-tests: New files.
78217
78218 2005-10-18  Simon Josefsson  <jas@extundo.com>
78219
78220         * m4/md4.m4: New file.
78221
78222 2005-10-18  Simon Josefsson  <jas@extundo.com>
78223
78224         * lib/md4.h, lib/md4.c: New files, based on md5.?.
78225
78226 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
78227
78228         * gnulib-tool (func_create_testdir): Omit the second check whether
78229         BUILT_SOURCES in nonempty.
78230
78231 2005-10-17  Simon Josefsson  <jas@extundo.com>
78232
78233         * tests/test-rijndael.c: New file.
78234
78235 2005-10-17  Simon Josefsson  <jas@extundo.com>
78236
78237         * modules/sha1: Depend on stdint instead of md5.
78238
78239         * modules/md5: Depend on stdint, remove uint32_t.
78240
78241 2005-10-17  Simon Josefsson  <jas@extundo.com>
78242
78243         * modules/gc-sha1-tests: New file.
78244
78245         * tests/test-gc-sha1.c: New file.
78246
78247 2005-10-17  Simon Josefsson  <jas@extundo.com>
78248
78249         * m4/md5.m4: Remove call to uint32_t.m4.
78250
78251 2005-10-17  Simon Josefsson  <jas@extundo.com>
78252
78253         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
78254
78255         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
78256         md5.h.
78257
78258         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
78259
78260         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
78261
78262 2005-10-17  Simon Josefsson  <jas@extundo.com>
78263
78264         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
78265
78266 2005-10-17  Simon Josefsson  <jas@extundo.com>
78267
78268         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
78269
78270 2005-10-17  Simon Josefsson  <jas@extundo.com>
78271
78272         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
78273
78274         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
78275
78276 2005-10-17  Bruno Haible  <bruno@clisp.org>
78277
78278         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
78279         that it can also be used in a test.
78280
78281 2005-10-16  Bruno Haible  <bruno@clisp.org>
78282
78283         * gnulib-tool (func_emit_tests_Makefile_am): Also define
78284         TESTS_ENVIRONMENT, so that individual tests can augment it.
78285
78286         * gnulib-tool (func_create_testdir): Use an intermediate target for
78287         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
78288         macros, like $(ALLOCA_H), which cannot be passed through the command
78289         line.
78290
78291 2005-10-15  Simon Josefsson  <jas@extundo.com>
78292
78293         * modules/rijndael-tests: New file.
78294
78295         * modules/rijndael: New file.
78296
78297 2005-10-15  Simon Josefsson  <jas@extundo.com>
78298
78299         * m4/rijndael.m4: New file.
78300
78301 2005-10-15  Simon Josefsson  <jas@extundo.com>
78302
78303         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
78304
78305         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
78306
78307 2005-10-14  Simon Josefsson  <jas@extundo.com>
78308
78309         * tests/test-arcfour.c: New file.
78310
78311         * modules/arcfour, modules/arcfour-tests: New files.
78312
78313 2005-10-14  Simon Josefsson  <jas@extundo.com>
78314
78315         * m4/arcfour.m4: New file.
78316
78317 2005-10-14  Simon Josefsson  <jas@extundo.com>
78318
78319         * lib/arcfour.h, lib/arcfour.c: New files.
78320
78321 2005-10-14  Roland McGrath  <roland@redhat.com>
78322
78323         Import from libc.  [BZ #1331]
78324         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
78325         macro argument.
78326         Reported by Matej Vela <vela@debian.org>.
78327
78328 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78329
78330         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
78331         include <wchar.h>; no longer needed.
78332
78333 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78334
78335         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
78336
78337 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
78338         and  Ulrich Drepper  <drepper@redhat.com>
78339
78340         Import from libc.
78341         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
78342         instead of inline stream orientation test and two separate
78343         function calls.  Pay no attention to USE_IN_LIBIO.
78344
78345 2005-10-13  Simon Josefsson  <jas@extundo.com>
78346
78347         * modules/gc-hmac-md5-tests: New file.
78348
78349         * tests/test-gc-hmac-sha1.c: New file.
78350
78351         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
78352
78353         * modules/gc-hmac-md5-tests: New file.
78354
78355         * tests/test-gc-md5.c: New file.
78356
78357         * modules/gc-md5-tests: New file.
78358
78359 2005-10-13  Simon Josefsson  <jas@extundo.com>
78360
78361         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
78362         Move memory allocation outside of loop.
78363
78364 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
78365
78366         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
78367         intermediate directory is in a read-only file system.  Problem
78368         reported by Eric Blake.
78369
78370 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
78371
78372         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
78373
78374 2005-10-12  Simon Josefsson  <jas@extundo.com>
78375
78376         * tests/test-hmac-sha1.c: New file.
78377
78378         * modules/hmac-sha1-tests: New file.
78379
78380         * modules/hmac-sha1: New file.
78381
78382 2005-10-12  Simon Josefsson  <jas@extundo.com>
78383
78384         * modules/gc-sha1: New file.
78385
78386 2005-10-12  Simon Josefsson  <jas@extundo.com>
78387
78388         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
78389
78390         * tests/test-gc-pbkdf2-sha1.c: New file.
78391
78392 2005-10-12  Simon Josefsson  <jas@extundo.com>
78393
78394         * modules/gc-md5, modules/gc-hmac-md5: New files.
78395
78396         * modules/gc (Files): Remove md5, memxor and hmac files.
78397
78398 2005-10-12  Simon Josefsson  <jas@extundo.com>
78399
78400         * m4/gc-pbkdf2-sha1.m4: New file.
78401
78402         * m4/gc-hmac-sha1.m4: New file.
78403
78404         * m4/gc-sha1: New file.
78405
78406         * m4/hmac-sha1.m4: New file.
78407
78408 2005-10-12  Simon Josefsson  <jas@extundo.com>
78409
78410         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
78411
78412         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
78413
78414 2005-10-12  Simon Josefsson  <jas@extundo.com>
78415
78416         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
78417         suggested by Bruno Haible <bruno@clisp.org>.
78418
78419 2005-10-12  Simon Josefsson  <jas@extundo.com>
78420
78421         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
78422
78423 2005-10-12  Simon Josefsson  <jas@extundo.com>
78424
78425         * lib/gc-pbkdf2-sha1.c: New file.
78426
78427         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
78428
78429 2005-10-12  Simon Josefsson  <jas@extundo.com>
78430
78431         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
78432
78433         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
78434
78435 2005-10-12  Simon Josefsson  <jas@extundo.com>
78436
78437         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
78438         GC_USE_HMAC_MD5, respectively.
78439
78440         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
78441         (gc_md5): Fix typo.
78442
78443         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
78444
78445         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
78446
78447         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
78448
78449 2005-10-12  Bruno Haible  <bruno@clisp.org>
78450
78451         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
78452         Reported by Stepan Kasal <kasal@ucw.cz>.
78453
78454 2005-10-11  Simon Josefsson  <jas@extundo.com>
78455
78456         * tests/test-crc.c: New file.
78457
78458         * modules/crc, modules/crc-tests: New files.
78459
78460 2005-10-11  Simon Josefsson  <jas@extundo.com>
78461
78462         * m4/crc.m4: New file.
78463
78464 2005-10-11  Simon Josefsson  <jas@extundo.com>
78465
78466         * lib/gc.h: Add gc_hash and gc_hash_buffer.
78467
78468         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
78469
78470         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
78471
78472 2005-10-11  Simon Josefsson  <jas@extundo.com>
78473
78474         * lib/crc.h, lib/crc.c: New files.
78475
78476         * lib/gc.h (gc_hash_buffer): Add doc.
78477
78478 2005-10-11  Bruno Haible  <bruno@clisp.org>
78479
78480         * modules/c-strcasestr: New file.
78481         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
78482
78483 2005-10-11  Bruno Haible  <bruno@clisp.org>
78484
78485         * modules/c-strcase: New file.
78486         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
78487
78488 2005-10-11  Bruno Haible  <bruno@clisp.org>
78489
78490         * lib/strcasecmp.c: Include limits.h.
78491         (strcasecmp): Avoid integer overflow on exotic platforms.
78492         * lib/strncasecmp.c: Include limits.h.
78493         (strncasecmp): Avoid integer overflow on exotic platforms.
78494         Reported by Paul Eggert.
78495
78496 2005-10-11  Bruno Haible  <bruno@clisp.org>
78497
78498         * lib/c-strcasestr.h: New file, from GNU gettext.
78499         * lib/c-strcasestr.c: New file, from GNU gettext.
78500
78501 2005-10-11  Bruno Haible  <bruno@clisp.org>
78502
78503         * lib/c-strcase.h: New file, from GNU gettext.
78504         * lib/c-strcasecmp.c: New file, from GNU gettext.
78505         * lib/c-strncasecmp.c: New file, from GNU gettext.
78506
78507 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78508
78509         * modules/mempcpy (License): GPL -> LGPL.
78510         * modules/strchrnul (License): Likewise.
78511         * modules/sysexits (License): Likewise.
78512
78513 2005-10-08  Simon Josefsson  <jas@extundo.com>
78514
78515         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
78516
78517 2005-10-07  Simon Josefsson  <jas@extundo.com>
78518
78519         * m4/memxor.m4: Remove gl_C_RESTRICT call.
78520
78521 2005-10-06  Simon Josefsson  <jas@extundo.com>
78522
78523         * tests/test-hmac-md5.c: New file.
78524
78525         * modules/hmac-md5-tests: New file.
78526
78527         * modules/hmac-md5: New file.
78528
78529 2005-10-06  Simon Josefsson  <jas@extundo.com>
78530
78531         * m4/hmac-md5.m4: New file.
78532
78533         * m4/memxor.m4: Require gl_C_RESTRICT.
78534
78535 2005-10-06  Simon Josefsson  <jas@extundo.com>
78536
78537         * lib/memxor.c (memxor): Avoid casts and warnings.
78538
78539 2005-10-06  Simon Josefsson  <jas@extundo.com>
78540
78541         * lib/hmac-md5.c: New file.
78542
78543         * lib/hmac.h: New file.
78544
78545 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78546
78547         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
78548         promotes to int, not unsigned int, to catch the AIX 5.3
78549         compiler bug.
78550
78551 2005-10-05  Simon Josefsson  <jas@extundo.com>
78552
78553         * modules/memxor: New file.
78554
78555         * modules/iconv (Files): Move config.rpath to havelib, it is used
78556         there.
78557
78558         * modules/havelib (Files): Add config.rpath.
78559
78560 2005-10-05  Simon Josefsson  <jas@extundo.com>
78561
78562         * m4/memxor.m4: New file.
78563
78564 2005-10-05  Simon Josefsson  <jas@extundo.com>
78565
78566         * lib/memxor.c (memxor): Fix compiler error.
78567
78568         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
78569         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
78570
78571         * lib/memxor.h, lib/memxor.c: New files.
78572
78573         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
78574         we assume all systems have it, suggested by Jim Meyering
78575         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
78576         any systems lack sys/socket.h; mingw32 is known to lack it, but we
78577         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
78578         same reasons.
78579
78580 2005-10-05  Simon Josefsson  <jas@extundo.com>
78581
78582         * config/srclist.txt: Add glibc bug 1423 for md5.h.
78583
78584 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78585
78586         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
78587         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
78588         needed, since the source code now assumes these .h files.
78589
78590 2005-10-05  Derek Price  <derek@ximbiot.com>
78591
78592         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
78593
78594 2005-10-05  Bruno Haible  <bruno@clisp.org>
78595
78596         * modules/stdint (License): Change to LGPL.
78597
78598 2005-10-04  Simon Josefsson  <jas@extundo.com>
78599
78600         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
78601         D. Baushke" <mdb@gnu.org>.
78602
78603 2005-10-04  Bruno Haible  <bruno@clisp.org>
78604
78605         * lib/verify.h (verify_true): Provide alternative definition for C++.
78606
78607 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
78608
78609         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
78610         (SSIZE_MAX): New macro, if not already defined.
78611         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
78612         than 2 GiB.
78613
78614 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78615
78616         Sync from coreutils.
78617         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
78618         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
78619         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
78620         ULLONG_MAX doesn't work with 2.7.2.1.
78621
78622 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78623
78624         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
78625         From Ben Pfaff.
78626
78627         * modules/exclude (Depends-on): Depend on verify.
78628         * modules/strtoimax (Depends-on): Likewise.
78629         * modules/utimecmp (Depends-on): Likewise.
78630
78631 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78632
78633         * lib/exclude.c: Include verify.h.
78634         (verify): Remove.  All callers changed to use verify.h's version.
78635         * lib/strtoimax.c: Likewise.
78636         * lib/utimecmp.c: Likewis.e
78637
78638         Sync from coreutils.
78639         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
78640         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
78641         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
78642         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
78643         bother returning ENOSYS if settimeofday or stime fails; just let
78644         them return whatever errno they want to return.
78645         * lib/utimens.c: Include unistd.h, for dup2.
78646         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
78647         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
78648
78649 2005-10-02  Jim Meyering  <jim@meyering.net>
78650
78651         Sync from coreutils.
78652         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
78653         from glibc-2.2.5 that fails for read-only files.
78654
78655 2005-10-02  Jim Meyering  <jim@meyering.net>
78656
78657         Sync from coreutils.
78658         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
78659         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
78660         `#if HAVE_CONFIG_H'.
78661         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
78662         Remove AT_FDCWD test.
78663         Do not consume the fd unless successful.
78664         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
78665         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
78666         block, so that we don't even try to compile it if settimeofday is
78667         available.  This works around a compilation failure on OSF1 V5.1,
78668         due to stime requiring a `long int*' while tv_sec is `int'.
78669
78670 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
78671
78672         Sync from coreutils.
78673         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
78674         against `yes', rather than just testing for nonempty.
78675
78676 2005-10-01  Simon Josefsson  <jas@extundo.com>
78677
78678         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78679         and Darwin.
78680
78681         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78682         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78683         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78684         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78685         Check if struct addrinfo is declared.
78686
78687 2005-10-01  Simon Josefsson  <jas@extundo.com>
78688
78689         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78690         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78691         AI_* and EAI_* definitions.  Protect function declarations.
78692
78693 2005-10-01  Jim Meyering  <jim@meyering.net>
78694
78695         Sync from coreutils.
78696
78697         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78698         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78699         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78700         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78701         in the inet and nsl libraries.  Required on Solaris 5.7.
78702
78703 2005-10-01  Jim Meyering  <jim@meyering.net>
78704
78705         Sync from coreutils.
78706         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78707         in the inet and nsl libraries.  Required on Solaris 5.7.
78708
78709 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78710
78711         * lib/getdelim.c (getdelim): Remove unused variables.
78712
78713 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78714
78715         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78716         so that the code works even with ancient cpp.  Portability problem
78717         with GCC 2.7.2.1 reported by Thomas M.Ott.
78718
78719 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78720
78721         * modules/regex (Depends-on): Add strcase.
78722
78723         * modules/gethostname (Licence): Change from GPL to LGPL, since
78724         gethostname.c is a trivial implementation of a standard library
78725         function.
78726         * modules/poll (License): Change from GPL to LGPL, since it's
78727         derived from LGPL code.
78728
78729 2005-09-27  Jim Meyering  <jim@meyering.net>
78730
78731         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78732         HAVE_CONFIG_H.
78733
78734         * lib/intprops.h (signed_type_or_expr__): Define.
78735         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78736         for unsigned types.
78737
78738 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78739
78740         * lib/verify.h (verify_expr): Remove, replacing with:
78741         (verify_true): New macro that returns true instead of void.
78742         (verify_type__): Remove.
78743         (verify): Use verify_true rather than verify_type__.
78744
78745 2005-09-26  Bruno Haible  <bruno@clisp.org>
78746
78747         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78748         is necessary.
78749         (lib_SOURCES): Remove mbchar.c.
78750         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78751         (Files): Add m4/mbrtowc.m4.
78752         * modules/mbiter: Likewise.
78753         * modules/mbuiter: Likewise.
78754
78755 2005-09-26  Bruno Haible  <bruno@clisp.org>
78756
78757         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78758         compile mbchar.c if they are not both present.
78759         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78760         * m4/mbiter.m4 (gl_MBITER): Likewise.
78761         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78762         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78763         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78764
78765 2005-09-25  Jim Meyering  <jim@meyering.net>
78766
78767         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78768         also uses socklen_t.
78769
78770 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78771
78772         * lib/utimens.c (ENOSYS): Define if not already defined.
78773         (futimens): Support having a null PATH if the file descriptor
78774         is nonnegative.
78775
78776         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78777         Remove.
78778         (__attribute): Define to empty unless GCC 3.1 or later.
78779         This works around a core dump on OpenBSD 3.4, which has GCC
78780         2.95.3, which dumps core when given __attribute__(()).  It also
78781         simplifies other tests, since we really don't want to bother with
78782         worrying about which ancient version of GCC supported what.
78783         Original problem reported by Yoann Vandoorselaere, with part of
78784         the fix suggested by Derek Price.
78785
78786 2005-09-24  Jim Meyering  <jim@meyering.net>
78787
78788         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78789         so we can once again use a positive bitfield width of 1 -- now we
78790         don't have to explain why we were using a bitfield width of 2.
78791
78792 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78793
78794         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78795         and similarly for the other external symbols.  Problem reported
78796         by James Gallager.
78797
78798         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78799         bug reported by Jim Meyering.
78800
78801         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78802         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78803         not needed, since socklen is a prerequisite module.
78804
78805 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78806
78807         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78808         Problem reported by Eric Blake.
78809         (getaddrinfo): Initialize se so that it's not garbage.
78810         Redo internal storage allocation so that it doesn't make unportable
78811         assumptions about alignment.
78812         Fix a memory leak.
78813
78814         * lib/utimens.c (futimens): Use futimesat if available.
78815         Prefer it to futimes since it doesn't have the futimes bug.
78816
78817         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78818         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78819         Instead, declare a function that returns a pointer to an array,
78820         and use verify_type__ to declare the size of the array.
78821         Problem and germ of a solution reported by Bruno Haible.
78822         (verify_type__): Use 2, not 1, for bitfield size, to avoid
78823         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
78824
78825 2005-09-23  Jim Meyering  <jim@meyering.net>
78826
78827         Sync from coreutils.
78828         Correct build failure (socklen_t not defined) on at least
78829         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
78830         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
78831
78832 2005-09-23  Jim Meyering  <jim@meyering.net>
78833
78834         * modules/getaddrinfo (Depends-on): Add socklen.
78835
78836 2005-09-23  Bruno Haible  <bruno@clisp.org>
78837
78838         * tests/test-verify.c: New file.
78839
78840 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78841
78842         Sync from coreutils.
78843
78844         * modules/argmatch (Depends-on): Add verify.
78845         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78846         unistd-safer.
78847         * modules/save-cwd (Depends-on): Likewise.
78848
78849         * modules/openat (Files): Add lib/openat-die.c.
78850         (Depends-on): Remove error, exitfail.
78851         Add dirname.
78852
78853         * modules/verify: New file.
78854         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78855         with "verify" module.
78856
78857 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78858
78859         Sync from coreutils.
78860
78861         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78862         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78863         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78864         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78865         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78866         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78867         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78868         Don't bother checking for string.h, stdlib.h, unistd.h.
78869         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78870         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78871         module's job.
78872         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78873         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78874
78875         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78876         (gl_GETDATE): Use it.
78877
78878         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78879
78880 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78881
78882         Sync from coreutils.
78883
78884         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78885         stat-time.h.
78886         * lib/argmatch.h: Include verify.h
78887         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78888         (ARGMATCH_ASSERT): Remove; unused.
78889         * lib/canonicalize.c: Assume STDC_HEADERS.
78890         * lib/exclude.c: Include "strcase.h".
78891         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78892         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78893         and stdio-safer.h.
78894         (getusershell): Call fopen, not fopen_safer.
78895         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78896         Do not include unistd-safer.h.
78897         (save_cwd): Don't call fd_safer; no longer needed
78898         now that we include fcntl--.h.
78899
78900         * lib/getdate.y (relative_time): New type.
78901         (RELATIVE_TIME_0): New constant.
78902         (parser_control): Use relative_time instead of doing it ourselves.
78903         (%union): Add new relative_time rel member.
78904         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78905         Now typeless.
78906         (relunit, relunit_snumber): Now of type rel.
78907         (zone, rel, relunit, get_date): Adjust to above changes.
78908
78909         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78910         Do not include unistd-safer.h.
78911         (getloadavg): Don't call fd_safer; no longer needed
78912         now that we include fcntl--.h.
78913
78914         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78915         (make_dir_parents): Treat ENOSYS like EEXIST.
78916
78917         Improve quality of diagnostics on restore_cwd failure.
78918         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78919         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78920         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78921         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78922         each time through the loop.  Do not diagnose restore_cwd failure;
78923         that is the caller's job (and perhaps the caller does not care).
78924
78925         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78926         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78927         If the file already exists but is not a directory, don't bother
78928         to try to make its parents.
78929         Close potential file descriptor leak if we can't chdir("/") (!).
78930         Don't always return true if chdir($PWD) fails; return true only
78931         if the requested action was done successfully (except for the
78932         chdir($PWD)).
78933         Don't log final directory unless we actually made it.
78934         Refactor to avoid duplicate code to fix up permissions.
78935         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78936
78937         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78938         to make it a bit faster and (I hope) clearer.
78939         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78940         Fix bug in formats like %2N.
78941
78942         * lib/verify.h: New file.
78943
78944 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78945
78946         Sync from coreutils.
78947         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78948
78949 2005-09-22  Jim Meyering  <jim@meyering.net>
78950
78951         Sync from coreutils.
78952
78953         * m4/lstat.m4 (gl_FUNC_LSTAT):
78954         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78955         Remove obsolete comment.
78956         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78957         * m4/xstrtod.m4: Likewise.
78958
78959         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
78960
78961 2005-09-22  Jim Meyering  <jim@meyering.net>
78962
78963         Sync from coreutils.
78964
78965         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
78966
78967         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
78968         the .tm_year member, since otherwise gcc-4.0 would now warn about
78969         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
78970
78971         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
78972         order to avoid an unsuppressible warning from gcc on 64-bit systems.
78973
78974         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
78975         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
78976         when run in a time zone for which daylight savings time is in effect
78977         for the starting date.
78978
78979         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
78980         stop us from restricting permissions of just-created absolute-named
78981         directories.
78982         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
78983         to restore initial working directory.
78984         * lib/mkdir-p.c (make_dir_parents): New parameter:
78985         different_working_dir, to tell caller if/when we change the working
78986         directory and are unable to return to the initial one.
78987         * lib/mkdir-p.h (make_dir_parents): Update prototype.
78988         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
78989         `return false'.  This fixes a bug introduced on 2004-07-30.
78990
78991         * lib/openat.c (fdopendir): Be sure to close the supplied
78992         file descriptor before returning.  This makes our replacement
78993         implementation a little closer to Solaris's, where fdopendir
78994         ties the file descriptor to the returned DIR* pointer.
78995         * lib/openat.c (unlinkat): New function.
78996         * lib/openat.h (unlinkat): Add prototype.
78997         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
78998         (openat_restore_fail): Rename from openat_restore_die.
78999         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
79000
79001         Provide an alternative to exiting immediately upon save_cwd or
79002         restore_cwd failure.  Now, an application can arrange e.g.,
79003         to perform a longjump in that case.
79004         * lib/openat.c: Include dirname.h.
79005         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
79006         (rpl_openat, fdopendir, fstatat): Call openat_save_die
79007         and openat_restore_die rather than calling error directly.
79008         Don't include "error.h" or "exitfail.h"; they're no longer needed.
79009
79010         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
79011         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
79012         define.
79013
79014         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
79015         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
79016                             int utc, int nanoseconds);
79017         Background:
79018         date should not have to allocate a megabyte of virtual memory to
79019         handle a format argument like +%1048575T.  When implemented with
79020         strftime, it must allocate such a buffer, use strftime to fill it
79021         in, print it, then free it.
79022         With fprintftime, it simply prints everything and exits.
79023         With no need for memory allocation, that's one fewer way to fail.
79024         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
79025         optional field width, not before, so we accept %9:z, not %:9z.
79026         (my_strftime): Be sure to use L_('x') for literals.
79027
79028         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
79029         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
79030         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
79031         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
79032         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
79033         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
79034         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
79035         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
79036         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
79037         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
79038         * lib/xgethostname.c, lib/xreadlink.c:
79039         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
79040
79041         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
79042         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
79043         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
79044         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79045         and don't include <sys/file.h>).
79046
79047 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
79048
79049         Sync from coreutils.
79050
79051         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
79052         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
79053         [!LDAV_DONE]: Avoid unused variable warning.
79054
79055 2005-09-21  Bruno Haible  <bruno@clisp.org>
79056
79057         * lib/unicodeio.h (unicode_to_mb): New declaration.
79058
79059 2005-09-20  Derek Price  <derek@ximbiot.com>
79060
79061         * lib/getaddrinfo.c: Don't include <netdb.h> included from
79062         getaddrinfo.h.
79063
79064 2005-09-20  Bruno Haible  <bruno@clisp.org>
79065
79066         * gnulib-tool: Remove trailing slashes from the values specified for
79067         --source-base, --m4-base, --tests-base, --aux-dir.
79068         Suggested by Simon Josefsson <jas@extundo.com>.
79069
79070 2005-09-20  Bruno Haible  <bruno@clisp.org>
79071
79072         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
79073         func_modules_to_filelist, func_import, func_create_testdir): Make all
79074         sorting results locale-independent, so that gnulib-cache.m4 doesn't
79075         change when gnulib-tool is invoked in a different locale.
79076
79077 2005-09-19  Simon Josefsson  <jas@extundo.com>
79078
79079         * m4/socklen.m4: Fix typo.
79080
79081 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79082
79083         Use a consistent style for including <config.h>.
79084         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
79085         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
79086         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
79087         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
79088         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
79089         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
79090         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
79091         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
79092         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
79093         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
79094         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
79095         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
79096         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
79097         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
79098         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
79099         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
79100         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
79101         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
79102         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
79103         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
79104         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
79105         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
79106         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
79107         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
79108         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
79109         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
79110         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
79111         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
79112         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
79113         lib/xstrtoumax.c, lib/yesno.c:
79114         Standardize inclusion of config.h.
79115         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
79116         lib/inttostr.h:  Removed inclusion of config.h from header files.
79117         * lib/inttostr.c:  Adjusted in-tree users.
79118         * lib/timespec.h: Remove superfluous warning to include config.h.
79119         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
79120         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
79121         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
79122         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
79123         config.h with HAVE_CONFIG_H.
79124
79125 2005-09-19  Jim Meyering  <jim@meyering.net>
79126
79127         * modules/pathmax (License): Change to LGPL.
79128
79129 2005-09-19  Derek Price  <derek@ximbiot.com>
79130
79131         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
79132
79133 2005-09-19  Bruno Haible  <bruno@clisp.org>
79134
79135         * gnulib-tool (import): Provide default for --tests-base.
79136
79137 2005-09-19  Bruno Haible  <bruno@clisp.org>
79138
79139         * doc/quote.texi: New file, extracted from gnulib.texi.
79140         * doc/ctime.texi: New file, extracted from gnulib.texi.
79141         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
79142         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
79143         * doc/gnulib.texi: Include them.
79144
79145 2005-09-18  Bruno Haible  <bruno@clisp.org>
79146
79147         Portability fix.
79148         * gnulib-tool (func_readlink): New function.
79149         (func_ln_if_changed): Use it.
79150
79151 2005-09-18  Bruno Haible  <bruno@clisp.org>
79152
79153         * gnulib-tool: Support --with-tests also with --import.
79154         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
79155         (func_import): Use variables $testsbase and $inctests. Emit a
79156         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
79157         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
79158         SUBDIRS += $testsdir.
79159         (func_create_testdir): Update.
79160
79161 2005-09-18  Bruno Haible  <bruno@clisp.org>
79162
79163         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
79164         instead of $dry_run.
79165         (func_cp_if_changed, func_mv_if_changed): Remove functions.
79166         (func_ln_if_changed): Don't handle dry-run here.
79167         (func_import): In dry-run mode, detect more precisely which actions
79168         would be performed, and don't use "...ing" verbs.
79169
79170 2005-09-18  Bruno Haible  <bruno@clisp.org>
79171
79172         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
79173         (func_import): Use join on two temporary files instead of three nested
79174         loops, in order to determine which files are new or old.
79175
79176 2005-09-18  Bruno Haible  <bruno@clisp.org>
79177
79178         * gnulib-tool (func_import): Comment out code that spits out the
79179         new files with --dry-run.
79180
79181 2005-09-18  Bruno Haible  <bruno@clisp.org>
79182
79183         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
79184
79185 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79186
79187         * lib/stat-time.h: New file.
79188         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
79189         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
79190         in a different way.
79191         (timespec_cmp): New function.
79192         * lib/utimecmp.c: Include stat-time.h.
79193         (SYSCALL_RESOLUTION): Depend on whether various struct stat
79194         members exist, not on the obsolescent ST_MTIM_NSEC.
79195         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
79196
79197 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79198
79199         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
79200
79201 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79202
79203         * MODULES.html.sh (File system functions): Add stat-time.
79204         * modules/stat-time: New file.
79205         * modules/timespec (Files): Remove m4/st_mtim.m4; this
79206         is now done in a different way, by the stat-time module.
79207         * modules/utimecmp (Depends-on): Add stat-time.
79208
79209 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79210
79211         * m4/st_mtim.m4: Remove.  Superseded by...
79212         * m4/stat-time.m4: New file.
79213         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
79214         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
79215
79216 2005-09-15  Derek Price  <derek@ximbiot.com>
79217
79218         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
79219
79220 2005-09-15  Derek Price  <derek@ximbiot.com>
79221
79222         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
79223         * lib/regex_internal.c: Ditto, using this...
79224         (__GNUC_PREREQ): ...new macro.
79225         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
79226         using...
79227         (__GNUC_PREREQ): ...this new macro.
79228
79229         * lib/strstr.h: Include string.h. Define strstr as a macro here.
79230
79231 2005-09-15  Derek Price  <derek@ximbiot.com>
79232             Paul Eggert  <eggert@cs.ucla.edu>
79233
79234         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
79235         changes, consolidating in...
79236         * lib/regex_internal.h: ...this file.
79237
79238 2005-09-13  Jim Meyering  <jim@meyering.net>
79239
79240         * lib/canon-host.c: Filter through gnu indent and reword comments
79241         slightly.
79242         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
79243
79244 2005-09-13  Derek Price  <derek@ximbiot.com>
79245
79246         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
79247         failure.
79248         Reported by Jim Meyering  <jim@meyering.net>.
79249
79250 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79251
79252         * lib/base64.c: Typo.
79253         (base64_encode): Put b64str in initialized data section.
79254
79255 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
79256
79257         Merge glibc and coreutils changes into gnulib, plus a few
79258         extra fixes.
79259         * lib/md5.c: Use #error rather than a string.
79260         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
79261         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
79262         (__attribute__): Define to empty for non recent-GCC.
79263         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
79264         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
79265         Renamed from their non-__ counterparts, with new macros replacing
79266         them if not _LIBC.  Add __THROW attribute.
79267         (rol): Remove.
79268         (struct md5_ctx): Align buffer if using GCC.
79269         * lib/sha1.h (struct sha1_ctx): Likewise.
79270         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
79271         The old name was backwards.
79272         (NOTSWAP): Remove; not used.
79273         (rol): New macro, moved here from md5.h.
79274         (sha1_process_block): Remove a FIXME that doesn't make sense.
79275
79276 2005-09-12  Derek Price  <derek@ximbiot.com>
79277
79278         Return usable errors from canon-host.
79279         * lib/canon-host.h: New file.
79280         * lib/canon-host.c (canon_host): Wrap...
79281         (canon_host_r): ...this new function, which now relies exclusively on
79282         getaddrinfo.
79283         (ch_strerror): New function.
79284         (last_cherror): New global.
79285         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
79286         interface.
79287         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
79288         void *.
79289         (freeaddrinfo): Free ai->ai_canonname when set.
79290
79291 2005-09-12  Derek Price  <derek@ximbiot.com>
79292
79293         Make canon-host require getaddrinfo.
79294         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
79295         AC_LIBSOURCE canon-host.h.  Call...
79296         (gl_PREREQ_CANON_HOST): ...this new function, which requires
79297         gl_GETADDRINFO.
79298         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
79299
79300 2005-09-12  Derek Price  <derek@ximbiot.com>
79301
79302         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
79303         LGPL.
79304         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
79305
79306 2005-09-12  Derek Price  <derek@ximbiot.com>
79307
79308         * lib/gai_strerror.c: Include config.h when available.  Include
79309         getaddrinfo.h before other headers to test interface.
79310         Reported by Larry Jones <lawrence.jones@ugs.com>.
79311
79312 2005-09-12  Derek Price  <derek@ximbiot.com>
79313             Paul Eggert  <eggert@cs.ucla.edu>
79314
79315         * modules/glob (Files): Add glob-libc.h.
79316
79317 2005-09-12  Derek Price  <derek@ximbiot.com>
79318             Paul Eggert  <eggert@cs.ucla.edu>
79319
79320         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
79321         glob_.h, glob-libc.h.
79322         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
79323
79324 2005-09-12  Derek Price  <derek@ximbiot.com>
79325             Paul Eggert  <eggert@cs.ucla.edu>
79326
79327         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
79328         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
79329         protecting things that should be done only in gnulib contexts.
79330         * lib/glob_.h: New file, containing only the glob things needed for
79331         gnulib.
79332         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
79333         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
79334         (glob, globfree, glob_pattern_p): Now defined simply in terms of
79335         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
79336         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
79337         and to respect the namespace rules better.
79338
79339 2005-09-08  Simon Josefsson  <jas@extundo.com>
79340
79341         * modules/socklen: New file.
79342
79343 2005-09-08  Simon Josefsson  <jas@extundo.com>
79344
79345         * m4/socklen.m4: New file.
79346
79347 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79348
79349         * modules/utimens (Files): Add m4/utimbuf.m4, since
79350         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
79351         Reported by Sergey Poznyakoff.
79352
79353 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79354
79355         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
79356         definitions, since that's the preferred style in glibc.
79357         Fix a minor spacing issue, and update copyright notice to match
79358         glibc's.
79359
79360 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79361
79362         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
79363
79364 2005-09-06  Simon Josefsson  <jas@extundo.com>
79365
79366         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
79367         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
79368
79369 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79370
79371         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
79372         warning.
79373
79374 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79375
79376         * config/srclist.txt: Add glibc bug 1302.
79377
79378 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
79379
79380         Change bitset word type from unsigned int to unsigned long int,
79381         as this has better performance on typical 64-bit hosts.
79382         Port bitset code to hosts with unusual word sizes.
79383         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
79384         (build_collating_symbol):
79385         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
79386         argument is a bitset.  This is merely a style issue, but it makes
79387         it clearer that an entire array is expected.
79388         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
79389         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
79390         Port to the case where bitset_word is not the same as unsigned int.
79391         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79392         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
79393         Likewise.
79394         * lib/regexec.c (check_dst_limits_calc_pos_1,
79395         check_subexp_matching_top):
79396         (build_trtable, group_nodes_into_DFAstates):
79397         Likewise.
79398         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
79399         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
79400         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
79401         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
79402         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
79403         * lib/regcomp.c (optimize_subexps, lower_subexp):
79404         Work even if bitset_word has holes in its bitwise representation.
79405         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
79406         * lib/regexec.c (check_dst_limits_calc_pos_1,
79407         check_subexp_matching_top):
79408         Likewise.
79409         * lib/regex_internal.c (re_string_reconstruct):
79410         Don't assume UCHAR_MAX == 255.
79411         * lib/regex_internal.h (bitset_set_all): Likewise.
79412         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
79413         All uses changed.
79414         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
79415         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
79416         All uses changed.
79417         (BITSET_WORD_MAX): New macro.
79418         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
79419         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
79420         (bitset_empty, bitset_copy):
79421         Prefer sizeof (bitset) to multiplying it out ourselves.
79422         (bitset_not_merge): Remove; unused.
79423         (bitset_contain): Return bool, not unsigned int with one bit on.
79424         All callers changed.
79425         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
79426         alignment than re_node_set; do this by defining a new internal
79427         type struct dests_alloc and using it to allocate memory.
79428
79429 2005-09-05  Bruno Haible  <bruno@clisp.org>
79430
79431         * gnulib-tool (func_import): Fix comparison in handling of symbolic
79432         links.
79433
79434 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
79435
79436         * modules/size_max (Makefile.am): Add size_max.h
79437
79438 2005-09-04  Derek Price  <derek@ximbiot.com>
79439
79440         * gnulib-tool (func_import): Fix reversed $symbolic logic.
79441
79442 2005-09-03  Simon Josefsson  <jas@extundo.com>
79443
79444         * gnulib-tool: Fix typo.
79445
79446 2005-09-03  Simon Josefsson  <jas@extundo.com>
79447
79448         * config/srclist.txt: Add glibc bug 1293.
79449
79450 2005-09-03  Derek Price  <derek@ximbiot.com>
79451
79452         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
79453         From Larry Jones <lawrence.jones@ugs.com>.
79454
79455 2005-09-02  Simon Josefsson  <jas@extundo.com>
79456
79457         * modules/socklen: New file.
79458
79459 2005-09-02  Simon Josefsson  <jas@extundo.com>
79460
79461         * modules/havelib: New module.
79462
79463         * modules/gettext, modules/iconv, modules/lock, modules/readline:
79464         Use havelib.
79465
79466 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79467
79468         Check for arithmetic overflow when calculating sizes, to prevent
79469         some buffer-overflow issues.  These patches are conservative, in the
79470         sense that when I couldn't determine whether an overflow was possible,
79471         I inserted a run-time check.
79472         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
79473         macros.
79474         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
79475         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
79476         (re_xnrealloc, re_x2nrealloc): New inline functions.
79477         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
79478         parse_bracket_exp):
79479         (build_equiv_class, build_charclass): Check for arithmetic overflow
79480         in size expression calculations.
79481         * lib/regex_internal.c (re_string_realloc_buffers):
79482         (build_wcs_upper_buffer, re_node_set_add_intersect):
79483         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
79484         (re_dfa_add_node, register_state): Likewise.
79485         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
79486         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
79487         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
79488         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
79489
79490 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79491
79492         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79493         m4/ulonglong.m4.  Problem reported by Martin Lambers.
79494
79495 2005-09-02  Bruno Haible  <bruno@clisp.org>
79496
79497         Support for lib vs. lib64 distinction on biarch platforms.
79498         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
79499         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
79500         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
79501
79502 2005-09-02  Bruno Haible  <bruno@clisp.org>
79503
79504         * gnulib-tool (import): In the other first-use case, provide defaults
79505         as well.
79506
79507 2005-09-02  Bruno Haible  <bruno@clisp.org>
79508
79509         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
79510         patches not yet found in the latest gettext release.
79511
79512 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79513
79514         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
79515         to avoid a collision with bits/local_lim.h in glibc.
79516         All uses changed.  Problem reported by Dmitry V. Levin in
79517         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
79518
79519         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
79520         bugs in int versus size_t comparisons.
79521         (re_string_context_at): Fix bug where the code assumed that
79522         Idx is signed.
79523
79524         Use bool where appropriate.
79525         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
79526         All callers changed.
79527         (calc_eclosure_iter): Likewise, for ROOT arg.
79528         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
79529         (build_charclass_op): Likewise, for NON_MATCH arg.
79530         * lib/regex_internal.c (re_string_allocate, re_string_construct):
79531         (re_string_construct_common): Likewise, for ICASE arg.
79532         * lib/regexec.c (re_search_2_stub, re_search_stub):
79533         Likewise, for RET_LEN arg.
79534         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
79535         (set_regs): Likewise, for FL_BACKTRACK arg.
79536         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
79537         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
79538         (calc_eclosure_iter, parse_bracket_exp):
79539         Use bool for internal variables that are booleans.
79540         * lib/regexec.c (re_search_internal, check_matching,
79541         proceed_next_node):
79542         (set_regs, build_sifted_states, sift_states_bkref):
79543         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
79544         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79545         (find_collation_sequence_value):
79546         Likewise.
79547         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
79548         (re_node_set_compare):
79549         Return bool, not int. All callers changed.
79550         * lib/regexec.c (check_halt_node_context, check_dst_limits):
79551         (build_trtable, check_node_accept): Likewise.
79552         * lib/regex_internal.h: Include stdbool.h.
79553
79554         Fix bugs uncovered when converting to bool.
79555         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
79556         failure instead of charging ahead blindly.
79557         * lib/regex_internal.c (register_state): Likewise.
79558         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
79559         for freeing internal storage.
79560         (group_nodes_into_DFA_states): Use unsigned int, not int, for
79561         bitset pieces used as boolean, to avoid undefined behavior
79562         on hosts that do int overflow checking.
79563
79564 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79565
79566         * config/srclist.txt: Add glibc bugs 1285-1287.
79567
79568 2005-09-01  Jim Meyering  <jim@meyering.net>
79569
79570         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
79571         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
79572         Require gl_STAT_MACROS, too.
79573
79574 2005-09-01  Bruno Haible  <bruno@clisp.org>
79575
79576         * gnulib-tool (import): In the first-use case, provide defaults.
79577
79578 2005-09-01  Bruno Haible  <bruno@clisp.org>
79579
79580         * gnulib-tool (func_import): Remove the .tmp files.
79581
79582 2005-09-01  Bruno Haible  <bruno@clisp.org>
79583
79584         * gnulib-tool (func_import): Fix handling of symbolic links.
79585
79586 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79587
79588         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
79589         old glibc regex code mishandles strings longer than 2**31 bytes.
79590         This patch fixes this when the regex code is used in gnulib
79591         (i.e., outside glibc).
79592
79593         This patch should not affect the use of the regex code inside
79594         glibc.  No doubt this problem also needs to be handled for glibc
79595         as well, but the result will be an incompatible change to the
79596         glibc ABI, and the old ABI will have to be supported too.  That
79597         can be the the subject for another patch.
79598
79599         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
79600         governing whether the rest of this patch is active.  By default,
79601         the macro is disabled and the patch has no effect.
79602         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
79603         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
79604         (struct re_pattern_buffer, re_search, re_search_2, re_match):
79605         (re_match_2, re_set_registers): Use the new types.
79606         * lib/regex_internal.h (Idx, re_hashval_t): New types.
79607         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
79608         New macros.
79609         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
79610         (re_string_context_at, bin_tree_t, re_dfastate_t):
79611         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
79612         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
79613         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
79614         (re_string_char_size_at, re_string_wchar_at):
79615         (re_string_elem_size_at):
79616         Use the new types and macros to port to 64-bit hosts.
79617         Use unsigned types for internal values, so that the code
79618         mostly works even for arrays larger than SSIZE_MAX.
79619         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
79620         (search_duplicated_node, calc_eclosure_iter, fetch_number):
79621         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
79622         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
79623         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
79624         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
79625         (calc_inveclosure, parse_dup_op, build_range_exp):
79626         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
79627         (fetch_number, create_token_tree, mark_opt_subexp):
79628         Likewise.
79629         * lib/regex_internal.c (re_string_construct_common,
79630         create_ci_newstate):
79631         (create_cd_newstate, re_string_allocate, re_string_construct):
79632         (re_string_realloc_buffers, build_wcs_upper_buffer):
79633         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79634         (re_string_reconstruct, re_string_peek_byte_case):
79635         (re_string_fetch_byte_case, re_string_context_at):
79636         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79637         (re_node_set_init_copy, re_node_set_add_intersect):
79638         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79639         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79640         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79641         (re_acquire_state, re_acquire_state_context, register_state):
79642         Likewise.
79643         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
79644         search_cur_bkref_entry):
79645         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
79646         (re_search_internal, re_search_2_stub, re_search_stub)
79647         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
79648         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
79649         (update_cur_sifted_state, check_dst_limits):
79650         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79651         (check_subexp_limits, sift_states_bkref, merge_state_array):
79652         (check_subexp_matching_top, get_subexp, get_subexp_sub):
79653         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
79654         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79655         (expand_bkref_cache, check_node_accept_bytes):
79656         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
79657         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
79658         (acquire_init_state_context, check_halt_node_context):
79659         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
79660         (sift_states_backward, clean_state_log_if_needed):
79661         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
79662         (find_recover_state, transit_state_sb, transit_state_mb):
79663         (transit_state_bkref, build_trtable, match_ctx_clean):
79664         Likewise.
79665         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
79666         to work around an assumption that REG_MISSING is negative.
79667
79668         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
79669         (seek_collating_symbol_entry) [defined _LIBC]:
79670         (lookup_collation_sequence_value) [defined _LIBC]:
79671         (build_range_exp, build_collating_symbol) [defined _LIBC]:
79672         Use prototypes rather than old-style function definitions.
79673         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
79674         (transit_state_sb) [0]:
79675         (find_collation_sequence_value) [defined _LIBC]: Likewise.
79676
79677         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
79678         rm_eo.
79679
79680         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79681         (optimize_subexps, lower_subexp):
79682         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79683         since the signed shift might overflow.  Use 1u<<31 instead.
79684         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79685         Likewise.
79686         * lib/regexec.c (check_dst_limits_calc_pos_1,
79687         check_subexp_matching_top): Likewise.
79688
79689         * lib/regcomp.c (optimize_subexps, lower_subexp):
79690         Use CHAR_BIT rather than 8, for clarity.
79691         * lib/regexec.c (check_dst_limits_calc_pos_1):
79692         (check_subexp_matching_top): Likewise.
79693         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79694         have to worry about portability issues when shifting it left.
79695         Remove no-longer-needed test for table_size > 0.
79696         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79697         in a word, as the resulting behavior is undefined.
79698         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79699         in one case, a <= should have been an <, and in another case the
79700         whole test was missing.
79701         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79702         the standard name CHAR_BIT.
79703         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79704         this is not true on one's complement and signed-magnitude hosts.
79705
79706         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79707         next_last_offset.
79708         (struct re_dfa_t): Remove unused member states_alloc.
79709         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79710
79711 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79712
79713         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79714         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79715         and large-file glibc and in 32-bit large-file Solaris.
79716
79717 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79718
79719         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79720         lengths fit in regoff_t; this isn't true if regoff_t is the same
79721         width as size_t.
79722         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79723         (= START + RANGE) instead of RANGE.  This avoids overflow
79724         problems when regoff_t is the same width as size_t.
79725         All callers changed.
79726         (re_search_2_stub): Check for overflow when adding the
79727         sizes of the two strings.
79728         (re_search_stub): Check for overflow when adding START
79729         to RANGE; if it occurs, substitute the extreme value.
79730
79731 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79732
79733         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79734
79735 2005-08-31  Jim Meyering  <jim@meyering.net>
79736
79737         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79738         a pointer-to-const.
79739         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79740         (register_state): Likewise.
79741         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79742         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79743         (group_nodes_into_DFAstates): Likewise.
79744
79745 2005-08-31  Jim Meyering  <jim@meyering.net>
79746
79747         * check-module: Add a FIXME comment.
79748
79749 2005-08-31  Eric Blake  <ebb9@byu.net>
79750
79751         * modules/unistd-safer (Files): Add unistd--.h.
79752         * modules/stdio-safer (Files): Add stdio--.h.
79753
79754 2005-08-31  Derek Price  <derek@ximbiot.com>
79755
79756         * lib/getdelim.c (getdelim): Return EOF on EOF.
79757         Reported by Larry Jones <lawrence.jones@ugs.com>.
79758
79759 2005-08-31  Bruno Haible  <bruno@clisp.org>
79760
79761         Avoid unnecessary diffs in the generated lib/Makefile.am.
79762         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79763         the generated files.
79764         (func_import): Don't set cmd.
79765
79766 2005-08-31  Bruno Haible  <bruno@clisp.org>
79767
79768         * lib/strstr.c: Include <stddef.h>, for NULL.
79769         * lib/strcasestr.c: Likewise.
79770         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79771
79772 2005-08-31  Bruno Haible  <bruno@clisp.org>
79773
79774         * gnulib-tool: New option --macro-prefix.
79775         (func_import): Use macro_prefix.
79776         (import): Handle option --macro-prefix.
79777
79778 2005-08-31  Bruno Haible  <bruno@clisp.org>
79779
79780         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79781         Also use new variables cached_lgpl, cached_libtool.
79782
79783 2005-08-31  Bruno Haible  <bruno@clisp.org>
79784
79785         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79786         always instantiating them.
79787
79788 2005-08-31  Bruno Haible  <bruno@clisp.org>
79789
79790         * gnulib-tool (func_import): Read the previous cached settings
79791         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79792         earlier added by gnulib but are now dropped. Warn when a gnulib file
79793         overwrites a non-gnulib file.
79794
79795 2005-08-31  Bruno Haible  <bruno@clisp.org>
79796
79797         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79798         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79799         projects that don't keep autogenerated files in CVS. Put into
79800         actioncmd only the specified modules, not the transitive closure.
79801
79802 2005-08-31  Bruno Haible  <bruno@clisp.org>
79803
79804         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79805         Create directories that shall be filled.
79806         (import): Don't look for gl_* macros in configure.ac. Recurse across
79807         all directories containing a gnulib-cache.m4 files, if meaningful.
79808
79809 2005-08-31  Bruno Haible  <bruno@clisp.org>
79810
79811         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79812         (import): Set seen_libtool when we see gl_LIBTOOL.
79813
79814 2005-08-31  Bruno Haible  <bruno@clisp.org>
79815
79816         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79817         declaration macro definitions from generated gnulib.m4.
79818
79819 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
79820
79821         * lib/iconvme.h: Add prototype for iconv_alloc.
79822
79823 2005-08-29  Simon Josefsson  <jas@extundo.com>
79824
79825         * lib/iconvme.c: Fix errno.
79826
79827 2005-08-29  Bruno Haible  <bruno@clisp.org>
79828
79829         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
79830         that it works when the directory contains spaces.
79831
79832 2005-08-29  Bruno Haible  <bruno@clisp.org>
79833
79834         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
79835
79836 2005-08-29  Bruno Haible  <bruno@clisp.org>
79837
79838         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
79839         Emit more advice.
79840
79841 2005-08-29  Bruno Haible  <bruno@clisp.org>
79842         and Stepan Kasal  <kasal@ucw.cz>
79843
79844         * check-module: If more parameters are given, check each of them
79845         separately; add more exceptions, as noted by Jim Meyering.
79846         (check_module): New procedure.
79847         (%exempt_header): Now contains all exceptions.
79848
79849 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79850
79851         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79852
79853 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79854
79855         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79856
79857 2005-08-28  Bruno Haible  <bruno@clisp.org>
79858
79859         * m4/gnulib-tool.m4: New file.
79860
79861 2005-08-27  Jim Meyering  <jim@meyering.net>
79862
79863         * modules/unistd-safer (Files): Add pipe-safer.c.
79864         * modules/fcntl-safer (Files): Add creat-safer.c.
79865
79866 2005-08-27  Jim Meyering  <jim@meyering.net>
79867
79868         * m4/stdlib-safer.m4: New file.  From coreutils.
79869         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79870         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79871         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79872         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79873         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79874
79875 2005-08-27  Jim Meyering  <jim@meyering.net>
79876
79877         * lib/fopen-safer.c: Merge minor changes from coreutils.
79878         * lib/dup-safer.c: Likewise.
79879         * lib/fd-safer.c: Likewise.
79880
79881         Merge from coreutils.
79882         * lib/stdio--.h: New file.
79883         * lib/stdlib--.h: New file.
79884         * lib/mkstemp-safer.c: New file.
79885
79886         GNU tar needs these.
79887         * lib/pipe-safer.c: New file.
79888         * lib/creat-safer.c: New file.
79889         * lib/fcntl--.h (creat): Define to creat_safer.
79890         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79891         * lib/unistd--.h (pipe): Define to pipe_safer.
79892         * lib/unistd-safer.h: Declare pipe_safer.
79893
79894 2005-08-26  Simon Josefsson  <jas@extundo.com>
79895
79896         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79897         Haible <bruno@clisp.org>.
79898
79899 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79900
79901         * lib/regex_internal.h: Remove all references to
79902         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79903         or better.
79904         (bitset_not, bitset_merge, bitset_not_merge):
79905         (bitset_mask, re_string_allocate, re_string_construct):
79906         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79907         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79908         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79909         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79910         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79911         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79912         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79913         (re_acquire_state_context):
79914         Remove unnecessary forward decls.
79915         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79916         Put __attribute at function definition,
79917         now that the function decl has been removed.
79918         * lib/regex_internal.c (re_string_peek_byte_case):
79919         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79920         Likewise.
79921
79922 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79923
79924         * m4/regex.m4: Add AC_PREREQ(2.50).
79925         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79926
79927 2005-08-25  Simon Josefsson  <jas@extundo.com>
79928
79929         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79930         __fsetlocking.
79931
79932 2005-08-25  Simon Josefsson  <jas@extundo.com>
79933
79934         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79935         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79936         GLIBC specific code.
79937
79938 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79939
79940         Make regex safe for g++.  This fixes one real bug (an "err"
79941         that should have been "*err").  g++ problem reported by
79942         Sam Steingold.
79943         * lib/regex_internal.h (re_calloc): New macro, consistent with
79944         re_malloc etc.  All callers of calloc changed to use re_calloc.
79945         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79946         not int.  All callers changed.
79947         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79948         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79949         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79950         (find_recover_state): Change "err" to "*err"; this fixes what
79951         appears to be a real bug.
79952         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79953         versus int.
79954
79955 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79956
79957         * modules/regex (Depends-on): Add malloc, since the code
79958         assumes that !malloc(0) means failure.
79959
79960 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79961
79962         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
79963
79964         alloca modernization/simplification for regex.
79965         * lib/regex.c: Remove portability cruft for alloca.  This no longer
79966         needs to be at the start of the file, and can be moved into
79967         regex_internal.h and simplified.
79968         * lib/regex_internal.h: Include <alloca.h>.
79969         (__libc_use_alloca) [!defined _LIBC]: New macro.
79970         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
79971         now works outside glibc.
79972
79973 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79974
79975         * config/srclist.txt: Add glibc bugs 1241, 1245.
79976
79977 2005-08-25  Jim Meyering  <jim@meyering.net>
79978
79979         * lib/open-safer.c: Include <config.h>.
79980         Otherwise, we'd lose LARGEFILE support in any file using
79981         e.g. "fcntl--.h"
79982
79983 2005-08-25  Bruno Haible  <bruno@clisp.org>
79984
79985         * m4/minmax.m4: Require autoconf 2.52.
79986         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
79987         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
79988         alternatives of translit over the alphabet.
79989         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
79990
79991 2005-08-24  Simon Josefsson  <jas@extundo.com>
79992
79993         * tests/test-getpass.c: New file.
79994
79995 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79996
79997         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
79998         for GNU regex features.
79999
80000 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80001
80002         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
80003         * lib/regex.h (regerror): Likewise.
80004
80005         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
80006         requires this.  (The code never needed it.)
80007
80008         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
80009         All uses of recently-renamed identifiers changed to use the new,
80010         POSIX-compliant names.  The code will build and run just fine
80011         without these changes, but it's better to eat our own dog food
80012         and use the standard-conforming names.
80013
80014         * lib/regex.h: Fix a multitude of POSIX name space violations.
80015         These changes have an effect only for programs that define
80016         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
80017         do not change anything for programs compiled in the normal way.
80018         Also, there is no effect on the ABI.
80019
80020         (_REGEX_SOURCE): New macro.
80021         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
80022         defined and _GNU_SOURCE is not; this fixes a name space violation.
80023
80024         Rename the following macros to obey POSIX requirements.
80025         The old names are still visible as macros if _REGEX_SOURCE is defined.
80026         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
80027         RE_BACKSLASH_ESCAPE_IN_LISTS.
80028         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
80029         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
80030         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
80031         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
80032         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
80033         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
80034         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
80035         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
80036         (REG_INTERVALS): renamed from RE_INTERVALS.
80037         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
80038         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
80039         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
80040         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
80041         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
80042         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
80043         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
80044         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
80045         RE_UNMATCHED_RIGHT_PAREN_ORD.
80046         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
80047         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
80048         (REG_DEBUG): renamed from RE_DEBUG.
80049         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
80050         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
80051         unusual, since we can't clash with the POSIX REG_ICASE.
80052         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
80053         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
80054         (REG_NO_SUB): renamed from RE_NO_SUB.
80055         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
80056         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
80057         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
80058         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
80059         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
80060         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
80061         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
80062         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
80063         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
80064         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
80065         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
80066         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
80067         RE_SYNTAX_POSIX_MINIMAL_BASIC.
80068         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
80069         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
80070         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
80071         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
80072         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
80073         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
80074         (REG_FIXED): Renamed from REGS_FIXED.
80075         (REG_NREGS): Renamed from RE_NREGS.
80076
80077         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
80078         of other REG_* macros, since POSIX says the user is allowed to
80079         #undef these macros selectively.
80080
80081         (reg_errcode_t): Update comment stating what other tables need
80082         to be consistent.
80083
80084         Rename the following enum values to obey POSIX requirements.
80085         The old names are still visible as macros.
80086         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
80087         is not defined, since GNU is supposed to be a superset of POSIX as
80088         much as possible, and since we want reg_errcode_t to be a signed
80089         type for implementation consistency.
80090         (_REG_NOERROR): Renamed from REG_NOERROR.
80091         (_REG_NOMATCH): Renamed from REG_NOMATCH.
80092         (_REG_BADPAT): Renamed from REG_BADPAT.
80093         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
80094         (_REG_ECTYPE): Renamed from REG_ECTYPE.
80095         (_REG_EESCAPE): Renamed from REG_EESCAPE.
80096         (_REG_ESUBREG): Renamed from REG_ESUBREG.
80097         (_REG_EBRACK): Renamed from REG_EBRACK.
80098         (_REG_EPAREN): Renamed from REG_EPAREN.
80099         (_REG_EBRACE): Renamed from REG_EBRACE.
80100         (_REG_BADBR): Renamed from REG_BADBR.
80101         (_REG_ERANGE): Renamed from REG_ERANGE.
80102         (_REG_ESPACE): Renamed from REG_ESPACE.
80103         (_REG_BADRPT): Renamed from REG_BADRPT.
80104         (_REG_EEND): Renamed from REG_EEND.
80105         (_REG_ESIZE): Renamed from REG_ESIZE.
80106         (_REG_ERPAREN): Renamed from REG_ERPAREN.
80107         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
80108         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
80109         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
80110         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
80111
80112         (_REG_RE_NAME, _REG_RM_NAME): New macros.
80113         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
80114         changed.  But support the old name if the new one is not defined
80115         and if _REGEX_SOURCE.
80116
80117         Change the following member names in struct re_pattern_buffer.
80118         The old names are still supported if !_REGEX_SOURCE.
80119         The new names are always supported, regardless of _REGEX_SOURCE.
80120         (re_buffer): Renamed from buffer.
80121         (re_allocated): Renamed from allocated.
80122         (re_used): Renamed from used.
80123         (re_syntax): Renamed from syntax.
80124         (re_fastmap): Renamed from fastmap.
80125         (re_translate): Renamed from translate.
80126         (re_can_be_null): Renamed from can_be_null.
80127         (re_regs_allocated): Renamed from regs_allocated.
80128         (re_fastmap_accurate): Renamed from fastmap_accurate.
80129         (re_no_sub): Renamed from no_sub.
80130         (re_not_bol): Renamed from not_bol.
80131         (re_not_eol): Renamed from not_eol.
80132         (re_newline_anchor): Renamed from newline_anchor.
80133
80134         Change the following member names in struct re_registers.
80135         The old names are still supported if !_REGEX_SOURCE.
80136         The new names are always supported, regardless of _REGEX_SOURCE.
80137         (rm_num_regs): Renamed from num_regs.
80138         (rm_start): Renamed from start.
80139         (rm_end): Renamed from end.
80140
80141         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
80142         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
80143         Prepend __ to parameter names.
80144
80145         Undo yesterday's changes.
80146
80147 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80148
80149         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
80150         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
80151         lib/regex.c.
80152
80153 2005-08-24  Jim Meyering  <jim@meyering.net>
80154
80155         Sync from coreutils.
80156         * m4/fcntl-safer.m4: New file.
80157
80158         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
80159         and object files for this module.
80160
80161 2005-08-24  Jim Meyering  <jim@meyering.net>
80162
80163         Sync from coreutils.
80164         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
80165
80166 2005-08-24  Jim Meyering  <jim@meyering.net>
80167
80168         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
80169         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
80170
80171 2005-08-24  Jim Meyering  <jim@meyering.net>
80172
80173         * modules/fcntl-safer: New module.
80174         * modules/fts (Depends-on): Add fcntl-safer.
80175         * MODULES.html.sh (File descriptor based Input/Output):
80176         Add fcntl-safer.
80177
80178 2005-08-24  Bruno Haible  <bruno@clisp.org>
80179
80180         Support for unit test modules.
80181         * modules/README: Mention tests modules.
80182         * modules/TEMPLATE-TESTS: New file.
80183         * gnulib-tool: New options --extract-tests-module, --with-tests and
80184         --tests-base (unused for the moment).
80185         (testsbase, inctests): New variables.
80186         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
80187         (func_verify_module): Exclude TEMPLATE-TESTS.
80188         (func_verify_nontests_module, func_verify_tests_module): New functions.
80189         (func_get_dependencies): Add implicit dependency for tests modules.
80190         (func_get_tests_module): New function.
80191         (func_modules_transitive_closure): When --with-tests was specified,
80192         include the unit tests as well, unless explicitly avoided.
80193         (func_emit_lib_Makefile_am): Ignore the tests modules here.
80194         (func_emit_tests_Makefile_am): New function.
80195         (func_create_testdir): When --with-tests was specified, emit a
80196         tests/ directory.
80197         * MODULES.html.sh (Future developments): Update.
80198
80199 2005-08-24  Bruno Haible  <bruno@clisp.org>
80200
80201         * modules/tls-tests: New file.
80202         * tests/test-tls.c: New file, from GNU gettext.
80203
80204 2005-08-24  Bruno Haible  <bruno@clisp.org>
80205
80206         * modules/lock-tests: New file.
80207         * tests/test-lock.c: New file, from GNU gettext.
80208
80209 2005-08-24  Bruno Haible  <bruno@clisp.org>
80210
80211         * lib/lock.h: Add multiple inclusion guard.
80212         * lib/tls.h: Add multiple inclusion guard.
80213
80214 2005-08-24  Bruno Haible  <bruno@clisp.org>
80215
80216         * gnulib-tool: Add support for the --aux-dir option to
80217         --create-testdir, --create-megatestdir, --test, --megatest.
80218         (func_create_testdir, func_create_megatestdir): Optionally emit a
80219         AC_CONFIG_AUX_DIR directive.
80220         (create-testdir, create-megatestdir, test, megatest): Provide a
80221         default value for $auxdir.
80222
80223 2005-08-24  Bruno Haible  <bruno@clisp.org>
80224
80225         * gnulib-tool (import): Use compound statement instead of subshell
80226         where possible.
80227
80228 2005-08-24  Bruno Haible  <bruno@clisp.org>
80229
80230         * gnulib-tool (import): Change --aux-dir default to "build-aux".
80231
80232 2005-08-24  Bruno Haible  <bruno@clisp.org>
80233
80234         * gnulib-tool (func_version): Update.
80235
80236 2005-08-24  Bruno Haible  <bruno@clisp.org>
80237
80238         * gnulib-tool (func_import, func_create_testdir,
80239         func_create_megatestdir): Quote all autoconf macro arguments.
80240
80241 2005-08-24  Bruno Haible  <bruno@clisp.org>
80242
80243         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
80244         option --force, because --force causes the aclocal.m4 of each
80245         subdirectory to be newer than the corresponding config.h.in.
80246
80247 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80248
80249         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
80250         All contents moved to gl_REGEX.
80251         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
80252         assume that it does.
80253
80254 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80255
80256         * lib/regex.h (REG_NOSYS)
80257         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
80258         Define, since POSIX requires it as of 2001.
80259         (_REG_ENOSYS)
80260         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
80261         New private symbol, used to keep the enum signed in all cases.
80262         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
80263         Youngman in
80264         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
80265
80266         * lib/regex_internal.c (re_string_skip_chars, register_state):
80267         (calc_state_hash):
80268         Remove forward decls; no longer needed now that we use prototypes.
80269         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
80270         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
80271         (clean_state_log_if_needed): Likewise.
80272
80273 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80274
80275         * config/srclist.txt: Add glibc bugs 1231-1233.
80276
80277 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80278
80279         Fix problems reported by Sam Steingold in
80280         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
80281         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
80282         assumed that reg_errcode_t is a signed type, which is not
80283         necessarily true if _XOPEN_SOURCE is not defined.
80284         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
80285         since some compilers warn about it otherwise.
80286
80287 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80288
80289         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
80290         (init_word_char, create_initial_state, duplicate_node_closure):
80291         (fetch_token, peek_token_bracket, build_range_exp):
80292         (build_collating_symbol): Remove forward decls; no longer needed
80293         now that we use prototypes.
80294
80295         * lib/regcomp.c:
80296         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
80297         (re_compile_fastmap_iter, regcomp, regerror, regfree):
80298         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
80299         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
80300         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
80301         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
80302         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
80303         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
80304         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
80305         (build_range_exp, build_collating_symbol, parse_bracket_exp):
80306         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
80307         (build_charclass, build_charclass_op, fetch_number, create_tree):
80308         (create_token_tree, mark_opt_subexp, duplicate_tree):
80309         Use prototypes rather than old-style definitions.
80310
80311         * lib/regex_internal.c:
80312         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
80313         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
80314         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80315         (re_string_reconstruct, re_string_peek_byte_case):
80316         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
80317         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80318         (re_node_set_init_copy, re_node_set_add_intersect):
80319         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80320         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80321         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80322         (re_acquire_state, re_acquire_state_context, register_state):
80323         (create_ci_newstate, create_cd_newstate, free_state):
80324         Likewise.
80325         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
80326         re_search_2):
80327         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
80328         (re_search_internal, prune_impossible_nodes):
80329         (acquire_init_state_context, check_matching, static):
80330         (check_halt_node_context, check_halt_state_context, proceed_next_node):
80331         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
80332         (update_regs, sift_states_backward, build_sifted_states):
80333         (clean_state_log_if_needed, merge_state_array):
80334         (update_cur_sifted_state, add_epsilon_src_nodes):
80335         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
80336         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
80337         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
80338         (find_recover_state, check_subexp_matching_top, transit_state_mb):
80339         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
80340         (check_arrival, check_arrival_add_next_nodes):
80341         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80342         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80343         (check_node_accept_bytes, check_node_accept, extend_buffers):
80344         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
80345         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
80346         (sift_ctx_init):
80347         Likewise.
80348
80349         * lib/regex_internal.h:
80350         (re_string_allocate, re_string_construct, re_string_reconstruct):
80351         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
80352         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
80353         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
80354         (re_string_context_at, re_string_peek_byte_case):
80355         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
80356         is defined, since we now use prototypes always.
80357
80358         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
80359         C89 or better.  All uses removed.
80360
80361 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80362
80363         * config/srclist.txt: Add glibc bugs 1220-1227.
80364
80365 2005-08-20  Jim Meyering  <jim@meyering.net>
80366
80367         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
80368         of unused local, dfa.
80369
80370 2005-08-20  Bruno Haible  <bruno@clisp.org>
80371
80372         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
80373
80374 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80375
80376         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
80377         (re_node_set_insert_last, re_dfa_add_node):
80378         Rename local variables to avoid GCC shadowing warnings.
80379
80380 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80381
80382         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
80383         [defined lint]: Suppress bogus uninitialized-variable warnings.
80384
80385         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
80386         and let the caller return REG_ESPACE if out of space.  This
80387         removes an uninitialied-variable warning with GCC 4.0.1, and also
80388         avoids taking the address of a local variable.  All callers
80389         changed.
80390
80391 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80392
80393         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
80394         $LIBCSRC/posix/regexec.c.
80395         Add glibc bug 1217 for regcomp.c.
80396
80397 2005-08-19  Jim Meyering  <jim@meyering.net>
80398
80399         * lib/regexec.c (proceed_next_node): Redo local variables to
80400         avoid GCC shadowing warnings.
80401
80402 2005-08-18  Bruno Haible  <bruno@clisp.org>
80403
80404         * lib/strstr.c (strstr): Fix return value in multibyte case.
80405         * lib/strcasestr.c (strcasestr): Likewise.
80406
80407 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80408
80409         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
80410
80411 2005-08-17  Jim Meyering  <jim@meyering.net>
80412
80413         Make the %s format (seconds since the epoch) work for a negative
80414         number and when used with a zero-padded field width, e.g. %015s.
80415
80416         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
80417         label so that it precedes the code to set `digits'.  Otherwise,
80418         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
80419         print `00-22'.  Now, it prints `-0022', as it should.
80420
80421 2005-08-17  Bruno Haible  <bruno@clisp.org>
80422
80423         * modules/strstr (Files): Add m4/mbrtowc.m4.
80424         (Depends-on): Add mbuiter.
80425
80426 2005-08-17  Bruno Haible  <bruno@clisp.org>
80427
80428         * modules/strcasestr: New file.
80429         * MODULES.html.sh (String handling, based on ANSI C 89): Add
80430         strcasestr.
80431
80432 2005-08-17  Bruno Haible  <bruno@clisp.org>
80433
80434         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
80435
80436 2005-08-17  Bruno Haible  <bruno@clisp.org>
80437
80438         * modules/mbuiter: New file.
80439         * MODULES.html.sh (Extended multibyte and wide character utilities):
80440         Add mbuiter.
80441
80442 2005-08-17  Bruno Haible  <bruno@clisp.org>
80443
80444         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
80445         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
80446
80447 2005-08-17  Bruno Haible  <bruno@clisp.org>
80448
80449         * m4/strcasestr.m4: New file.
80450
80451 2005-08-17  Bruno Haible  <bruno@clisp.org>
80452
80453         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
80454         * lib/strstr.c: Completely rewritten, with multibyte locale support.
80455
80456 2005-08-17  Bruno Haible  <bruno@clisp.org>
80457
80458         * lib/strcasestr.h: New file.
80459         * lib/strcasestr.c: New file.
80460
80461 2005-08-17  Bruno Haible  <bruno@clisp.org>
80462
80463         * lib/strcasecmp.c: Use mbuiter.h.
80464
80465 2005-08-17  Bruno Haible  <bruno@clisp.org>
80466
80467         * lib/mbuiter.h: New file.
80468
80469 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80470
80471         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
80472         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
80473         and gl_GETOPT are both invoked via different paths (as happens
80474         with GNU tar CVS because it uses both argp and getopt), the former
80475         wins.
80476
80477 2005-08-16  Bruno Haible  <bruno@clisp.org>
80478
80479         * modules/tls: New file.
80480         * MODULES.html.sh (Multithreading): Add tls.
80481
80482 2005-08-16  Bruno Haible  <bruno@clisp.org>
80483
80484         * modules/strnlen1: New file.
80485         * MODULES.html.sh (String handling): Add strnlen1.
80486
80487 2005-08-16  Bruno Haible  <bruno@clisp.org>
80488
80489         * modules/strcase (Files): Add m4/mbrtowc.m4.
80490         (Depends-on): Add strnlen1, mbchar.
80491
80492 2005-08-16  Bruno Haible  <bruno@clisp.org>
80493
80494         * modules/mbiter: New file.
80495         * MODULES.html.sh (Extended multibyte and wide character utilities):
80496         Add mbiter.
80497
80498 2005-08-16  Bruno Haible  <bruno@clisp.org>
80499
80500         * modules/mbfile: New file.
80501         * MODULES.html.sh (Extended multibyte and wide character utilities):
80502         Add mbfile.
80503
80504 2005-08-16  Bruno Haible  <bruno@clisp.org>
80505
80506         * modules/mbchar: New file.
80507         * MODULES.html.sh (Extended multibyte and wide character utilities):
80508         New section.
80509
80510 2005-08-16  Bruno Haible  <bruno@clisp.org>
80511
80512         * m4/tls.m4: New file, from GNU gettext.
80513
80514 2005-08-16  Bruno Haible  <bruno@clisp.org>
80515
80516         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
80517         always.
80518         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
80519
80520 2005-08-16  Bruno Haible  <bruno@clisp.org>
80521
80522         * m4/mbiter.m4: New file.
80523
80524 2005-08-16  Bruno Haible  <bruno@clisp.org>
80525
80526         * m4/mbfile.m4: New file.
80527
80528 2005-08-16  Bruno Haible  <bruno@clisp.org>
80529
80530         * m4/mbchar.m4: New file.
80531
80532 2005-08-16  Bruno Haible  <bruno@clisp.org>
80533
80534         * lib/tls.h: New file, from GNU gettext.
80535         * lib/tls.c: New file, from GNU gettext.
80536
80537 2005-08-16  Bruno Haible  <bruno@clisp.org>
80538
80539         * lib/strnlen1.h: New file.
80540         * lib/strnlen1.c: New file.
80541
80542 2005-08-16  Bruno Haible  <bruno@clisp.org>
80543
80544         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
80545         (mbi_init): Update.
80546         (mbi_avail, mbi_advance): Let the iteration end before the terminating
80547         NUL byte, not after it.
80548
80549 2005-08-16  Bruno Haible  <bruno@clisp.org>
80550
80551         * lib/strcase.h (strcasecmp): Add note in comments.
80552         * lib/strncasecmp.c: Use code from strcasecmp.c.
80553         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
80554         (strcasecmp): Work correctly in multibyte locales.
80555
80556 2005-08-16  Bruno Haible  <bruno@clisp.org>
80557
80558         * lib/mbiter.h: New file.
80559
80560 2005-08-16  Bruno Haible  <bruno@clisp.org>
80561
80562         * lib/mbfile.h: New file.
80563
80564 2005-08-16  Bruno Haible  <bruno@clisp.org>
80565
80566         * lib/mbchar.h: New file.
80567         * lib/mbchar.c: New file.
80568
80569 2005-08-16  Bruno Haible  <bruno@clisp.org>
80570
80571         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
80572         the valid ones. Makes the comparison operations transitive:
80573         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
80574         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
80575
80576 2005-08-15  Simon Josefsson  <jas@extundo.com>
80577
80578         * modules/ssize_t (License): Change to 'unlimited'.
80579
80580         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
80581
80582 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80583
80584         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
80585         Add comments for each pending glibc patch.
80586
80587 2005-08-15  Bruno Haible  <bruno@clisp.org>
80588
80589         * lib/regex.h (__restrict_arr): Don't define to __restrict if
80590         __cplusplus is defined.
80591
80592 2005-08-14  Jim Meyering  <jim@meyering.net>
80593
80594         Sync from coreutils.
80595
80596         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
80597         Use the hash-table-based cycle-detection code not just when
80598         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
80599         Reported by James Youngman in
80600         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
80601         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
80602         FTS_TIGHT_CYCLE_CHECK.
80603         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
80604         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
80605         once again.
80606         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
80607         * lib/fts.c (fd_safer): Remove decl.
80608         Include fcntl--.h rather than unistd-safer.h
80609         (fts_safe_changedir): Don't call fd_safer; no longer needed
80610         now that we include fcntl--.h.
80611
80612 2005-08-12  Simon Josefsson  <jas@extundo.com>
80613
80614         * modules/getndelim2: Use ssize_t module.
80615         * modules/getnline: Likewise.
80616         * modules/safe-read: Likewise.
80617         * modules/xreadlink: Likewise.
80618
80619         * modules/ssize_t: New file.
80620
80621 2005-08-12  Simon Josefsson  <jas@extundo.com>
80622
80623         * m4/readline.m4: Look for termcap, curses or ncurses if required.
80624
80625 2005-08-12  Simon Josefsson  <jas@extundo.com>
80626
80627         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80628         ssize_t.
80629
80630 2005-08-12  Simon Josefsson  <jas@extundo.com>
80631
80632         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
80633         readline, getdelim and check_version.
80634         (Support for systems lacking ISO C 99: Sizes of integer types):
80635         Add size_max.
80636
80637 2005-08-12  Bruno Haible  <bruno@clisp.org>
80638
80639         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
80640
80641 2005-08-11  Simon Josefsson  <jas@extundo.com>
80642
80643         * modules/readline: New file.
80644
80645         * modules/strnlen (Files): Add strnlen.h.
80646
80647 2005-08-11  Simon Josefsson  <jas@extundo.com>
80648
80649         * m4/readline.m4: New file.
80650
80651 2005-08-11  Simon Josefsson  <jas@extundo.com>
80652
80653         * lib/readline.h, readline.c: New file.
80654
80655 2005-08-11  Simon Josefsson  <jas@extundo.com>
80656
80657         * doc/gnulib.texi (Initial import, Finishing touches): Mention
80658         gl_AVOID.
80659
80660 2005-08-11  Bruno Haible  <bruno@clisp.org>
80661
80662         * lib/strnlen.h (strnlen): Change parameter name to match comment.
80663
80664 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
80665
80666         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
80667
80668 2005-08-10  Simon Josefsson  <jas@extundo.com>
80669
80670         * tests/test-iconvme.c: New file.
80671
80672 2005-08-10  Simon Josefsson  <jas@extundo.com>
80673
80674         * m4/strnlen.m4: New file.
80675
80676         * m4/strndup.m4: Don't check for strnlen declaration, done in
80677         strnlen.m4.
80678
80679 2005-08-10  Simon Josefsson  <jas@extundo.com>
80680
80681         * lib/strndup.c: Use strnlen.h.
80682
80683         * lib/strnlen.h: New file.
80684
80685 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80686
80687         * README: Typos.
80688
80689 2005-08-02  Simon Josefsson  <jas@extundo.com>
80690
80691         * modules/readline: New file.
80692
80693 2005-08-02  Simon Josefsson  <jas@extundo.com>
80694
80695         * modules/getdelim: New file.
80696
80697         * modules/getline: Rewrite, don't use getndelim2.
80698
80699 2005-08-02  Simon Josefsson  <jas@extundo.com>
80700
80701         * m4/getline.m4: Separate out getdelim stuff into separate module.
80702
80703         * m4/getdelim.m4: New file.
80704
80705 2005-08-02  Simon Josefsson  <jas@extundo.com>
80706
80707         * lib/getline.h, getline.c: Rewrite.
80708
80709         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80710
80711 2005-07-31  Bruno Haible  <bruno@clisp.org>
80712
80713         * lib/lock.h (gl_lock_initializer): New macro.
80714         (gl_lock_define_initialized): Use it.
80715         (gl_rwlock_initializer): New macro.
80716         (gl_rwlock_define_initialized): Use it.
80717         (gl_recursive_lock_initializer): New macro.
80718         (gl_recursive_lock_define_initialized): Use it.
80719
80720 2005-07-30  Karl Berry  <karl@gnu.org>
80721
80722         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80723         Report from Ben Pfaff, regarding getopt.
80724
80725 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80726
80727         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80728         normal way.
80729         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80730         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80731         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80732         (gl_GETOPT): Use the new macros.  Most of the implementation
80733         is moved to the new macros.  This is for programs like Emacs
80734         that don't want all the functionality of gl_GETOPT.
80735
80736 2005-07-26  Bruno Haible  <bruno@clisp.org>
80737
80738         * m4/lock.m4: Update from GNU gettext.
80739
80740 2005-07-26  Bruno Haible  <bruno@clisp.org>
80741
80742         * lib/lock.h: Update from GNU gettext.
80743         * lib/lock.c: Update from GNU gettext.
80744
80745 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80746
80747         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80748         obsolescent AC_TRY_RUN.  Include the default includes files, for
80749         'exit'.
80750
80751 2005-07-24  Bruno Haible  <bruno@clisp.org>
80752
80753         * modules/visibility: New file.
80754         * MODULES.html.sh (Misc): Add visibility.
80755
80756 2005-07-24  Bruno Haible  <bruno@clisp.org>
80757
80758         * m4/visibility.m4: New file.
80759
80760 2005-07-24  Bruno Haible  <bruno@clisp.org>
80761
80762         * doc/visibility.texi: New file.
80763
80764 2005-07-22  Bruno Haible  <bruno@clisp.org>
80765
80766         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80767         $(ALLOCA_H), redundant through BUILT_SOURCES.
80768         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80769         redundant through BUILT_SOURCES.
80770         * modules/byteswap (Makefile.am): Remove explicit dependency on
80771         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80772         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80773         $(FNMATCH_H), redundant through BUILT_SOURCES.
80774         * modules/getopt (Makefile.am): Remove explicit dependency on
80775         $(GETOPT_H), redundant through BUILT_SOURCES.
80776         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80777         redundant through BUILT_SOURCES.
80778         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80779         redundant through BUILT_SOURCES.
80780         * modules/stdbool (Makefile.am): Remove explicit dependency on
80781         $(STDBOOL_H), redundant through BUILT_SOURCES.
80782         * modules/stdint (Makefile.am): Remove explicit dependency on
80783         $(STDINT_H), redundant through BUILT_SOURCES.
80784         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80785         Remove explicit dependency on $(SYSEXITS_H).
80786         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80787
80788 2005-07-18  Simon Josefsson  <jas@extundo.com>
80789
80790         * lib/check-version.c (check_version): Accept identical versions too.
80791
80792 2005-07-18  Bruno Haible  <bruno@clisp.org>
80793
80794         * modules/lock: New file.
80795         * MODULES.html.sh (Multithreading): New section.
80796
80797 2005-07-18  Bruno Haible  <bruno@clisp.org>
80798
80799         * m4/lock.m4: New file, from GNU gettext.
80800
80801 2005-07-18  Bruno Haible  <bruno@clisp.org>
80802
80803         * lib/lock.h: New file, from GNU gettext.
80804         * lib/lock.c: New file, from GNU gettext.
80805
80806 2005-07-18  Bruno Haible  <bruno@clisp.org>
80807
80808         * lib/lock.h (gl_once_t): New type.
80809         (gl_once_define, gl_once): New macros.
80810         * lib/lock.c (fresh_once): New variable.
80811         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80812         functions.
80813
80814 2005-07-16  Simon Josefsson  <jas@extundo.com>
80815
80816         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80817         workaround, suggested by Bruno.
80818
80819 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80820
80821         * modules/xalloc (Depends-on): Add xalloc-die.
80822         * modules/xvasprintf (Depends-on): Add xalloc-die.
80823
80824 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80825
80826         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
80827         with a minor change.
80828
80829 2005-07-15  Bruno Haible  <bruno@clisp.org>
80830
80831         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
80832         When using lib/poll.c, define poll as rpl_poll.
80833
80834 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
80835
80836         * modules/argp (Depends-on): Remove unlocked-io.
80837
80838 2005-07-14  Derek Price  <derek@ximbiot.com>
80839
80840         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
80841         for glob symlink bug.
80842
80843 2005-07-14  Bruno Haible  <bruno@clisp.org>
80844
80845         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80846         Instead, test for *_unlocked function declarations directly.
80847
80848 2005-07-11  Simon Josefsson  <jas@extundo.com>
80849
80850         * modules/size_max: New file.
80851
80852         * modules/xsize: Depend on size_max module for size_max.m4.
80853
80854 2005-07-11  Simon Josefsson  <jas@extundo.com>
80855
80856         * lib/size_max.h: New file.
80857
80858 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80859
80860         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80861         copyright symbol and the year.
80862         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80863         (version_etc_va): Use parameterized copyright notice.
80864         Reword to conform to the current GNU coding standards.
80865
80866 2005-07-11  Karl Berry  <karl@gnu.org>
80867
80868         * doc/gnulib.texi (Quoting): new node.
80869         (Initial import): more info, from Patrice.
80870
80871 2005-07-11  Bruno Haible  <bruno@clisp.org>
80872
80873         * gnulib-tool (func_usage): Document option --avoid.
80874         (Command line options): Handle --avoid.
80875         (func_acceptable): New function.
80876         (func_modules_transitive_closure): Use it.
80877
80878 2005-07-11  Bruno Haible  <bruno@clisp.org>
80879
80880         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80881         Reported by Jim Meyering.
80882
80883 2005-07-10  Bruno Haible  <bruno@clisp.org>
80884
80885         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80886         Needed when size_t is smaller than 'unsigned int'.
80887         Reported by Paul Eggert.
80888
80889 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80890
80891         * modules/argp (Depends-on): Add unlocked-io
80892
80893 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80894
80895         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80896         block of defines.
80897
80898 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80899
80900         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80901         fix now.
80902
80903 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80904         and Paul Eggert  <eggert@cs.ucla.edu>
80905
80906         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80907         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80908
80909 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80910
80911         * modules/regex (Files): Add lib/regex_internal.c,
80912         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80913         (Depends-on): Add extensions.
80914         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80915
80916 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80917
80918         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80919         pathconf.
80920         * m4/same.m4 (gl_SAME): Likewise.
80921         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80922
80923         * m4/regex.m4: Adjust to new libc regex implementation.
80924         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80925         all the .c and .h parts of (the new) regex.
80926         Quote the m4 stuff better.
80927         Check for RE_ICASE bug of old gnulib.
80928         Check for REG_STARTEND of recent libc.
80929         Rename local variables from jm_* to gl_*.
80930         Quote operand of "test -f".
80931         Say "recent enough" version of libc, not "version 2".
80932         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80933         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80934         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80935         Remove check for btowc, isascii.
80936         Require AM_LANGINFO_CODESET.
80937
80938 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80939
80940         * lib/regex.c, regex.h: Sync from libc.
80941         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80942         * lib/regexec.c:
80943         New files, synced from libc, except that regex_internal.h
80944         currently has a small porting fix.
80945
80946 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80947
80948         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80949         regex_internal.c, regexec.c.
80950         Add regex_internal.h too, but as a comment, since the libc version
80951         is currently broken in gnulib mode.
80952
80953 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80954
80955         Support programs like Emacs that use gnulib but not gettext.
80956         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80957         * modules/gettext-h: New file.
80958         * modules/gettext (Files): Remove lib/gettext.h.
80959         (Depends-on): Add gettext-h.
80960         (Makefile.am): Remove lib_SOURCES.
80961         * modules/argmatch, modules/c-stack, modules/closeout:
80962         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
80963         * modules/execute, modules/file-type, modules/getaddrinfo:
80964         * modules/getopt, modules/human, modules/javacomp:
80965         * modules/javaexec, modules/mkdir-p, modules/obstack:
80966         * modules/openat, modules/pagealign_alloc, modules/pipe:
80967         * modules/quotearg, modules/regex, modules/rpmatch:
80968         * modules/unicodeio, modules/userspec, modules/version-etc:
80969         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
80970         * modules/xsetenv:
80971         Depend on gettext-h, not gettext.
80972
80973 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80974
80975         * gnulib-tool (func_import): Add support for 'public domain' license.
80976         * modules/alloca, modules/atexit, modules/memmove:
80977         Now public domain, not GPL.
80978         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
80979         * modules/realloc, modules/strerror, modules/strtod:
80980         Now LGPL, not GPL.
80981
80982 2005-07-05  Bruno Haible  <bruno@clisp.org>
80983
80984         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
80985         autoconf CVS. Needed for mingw.
80986
80987 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80988
80989         Remove the dependency of the strftime module on the tzset module.
80990         * modules/strftime (Depends-on): Remove dependency on tzset.
80991
80992 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80993
80994         Remove the dependency of the strftime module on the tzset module.
80995         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
80996         gl_FUNC_TZSET_CLOBBER.
80997
80998 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80999
81000         Remove the dependency of the strftime module on the tzset module.
81001         * lib/strftime.c (my_strftime)
81002         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
81003         Copy the input structure, to work around some of the bug with
81004         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
81005         Solaris releases, you should also use the tzset module, but we won't
81006         require it as a dependency any more since we don't want LGPLed code
81007         to depend on GPLed code.
81008
81009 2005-07-02  Jim Meyering  <jim@meyering.net>
81010
81011         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
81012         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
81013         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
81014         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
81015
81016 2005-07-02  Jim Meyering  <jim@meyering.net>
81017
81018         * lib/backupfile.c (backup_args): Change a `0' to NULL.
81019
81020 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81021
81022         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
81023         declares only 'struct timespec;' (!).
81024
81025 2005-07-01  Jim Meyering  <jim@meyering.net>
81026
81027         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
81028         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
81029         * lib/save-cwd.c, tempname.c:
81030         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81031         and don't include <sys/file.h>).
81032
81033 2005-06-29  Jim Meyering  <jim@meyering.net>
81034
81035         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
81036         type name.  Use the variable name instead.
81037         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
81038         Likewise.
81039
81040 2005-06-28  Simon Josefsson  <jas@extundo.com>
81041
81042         * modules/check-version (Files): Add check-version.m4.
81043
81044 2005-06-28  Simon Josefsson  <jas@extundo.com>
81045
81046         * m4/check-version.m4: New file, suggested by Jim Meyering
81047         <jim@meyering.net>.
81048
81049 2005-06-28  Simon Josefsson  <jas@extundo.com>
81050
81051         * lib/check-version.h, lib/check-version.c: New files.
81052
81053 2005-06-28  Simon Josefsson  <jas@extundo.com>
81054
81055         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
81056         collision with global variable.  Better indentation.  Don't
81057         increment buffer pointer beyond buffer end.  Based on comments
81058         from Paul Eggert <eggert@cs.ucla.edu>.
81059
81060         * lib/base64.h: Indent.
81061
81062 2005-06-28  Simon Josefsson  <jas@extundo.com>
81063
81064         * doc/gnulib.texi (Library version handling): New section.
81065
81066 2005-06-28  Jim Meyering  <jim@meyering.net>
81067
81068         * check-module (find_included_lib_files): Hard-code another
81069         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
81070         but modules/fts-lgpl (correctly) does not list those files.
81071
81072         * modules/canonicalize (Files): Add lib/pathmax.h.
81073
81074 2005-06-25  Simon Josefsson  <jas@extundo.com>
81075
81076         * modules/check-version: New file.
81077
81078 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
81079
81080         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
81081         initializer of struct addrinfo, as an indication that we don't
81082         care how many members the structure has.
81083
81084 2005-06-24  Derek Price  <derek@ximbiot.com>
81085         and Bruno Haible  <bruno@clisp.org>
81086
81087         Remove stat module & update lstat.
81088         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
81089         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81090         * m4/stat.m4: Remove this file.
81091
81092 2005-06-24  Derek Price  <derek@ximbiot.com>
81093         and Bruno Haible  <bruno@clisp.org>
81094
81095         Remove stat module & update lstat.
81096         * lib/stat.c: Remove this file...
81097         (slash_aware_lstat): ...moving this content and its support...
81098         * lib/lstat.c (rpl_lstat): ...into here.
81099         * lib/lstat.h: New file.
81100
81101 2005-06-24  Derek Price  <derek@ximbiot.com>
81102         and Bruno Haible  <bruno@clisp.org>
81103
81104         Remove stat module & update lstat.
81105         * config/srclist.txt (libc sources): Remove stat.
81106
81107 2005-06-24  Derek Price  <derek@ximbiot.com>
81108         and Bruno Haible  <bruno@clisp.org>
81109
81110         Remove stat module & update lstat.
81111         * MODULES.html.sh (stat): Remove.
81112         * MODULES.html: Regenerated.
81113         * modules/lstat (Description): Correct function name.
81114         (Files): Add "lstat.h".
81115         (Depends-on): Remove stat, add xalloc, stat-macros.
81116         * modules/stat: Remove this file.
81117         (Include): Add "lstat.h", remove <sys/stat.h>.
81118
81119 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
81120
81121         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
81122         (ranged_convert): Don't save conversion in a temporary struct.
81123         This causes a warning with GCC 4.0.0, and anyway in the typical
81124         case it's not worth the extra 100 bytes or so of code.
81125         (ranged_convert, __mktime_internal): When calling a function via a
81126         pointer P, use P () rather than (*P) (), as we now assume C89 or
81127         better.
81128
81129 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81130
81131         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
81132         "who -r" failed to give output.  Problem reported by Tim Waugh.
81133
81134         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
81135         (xcalloc): Use it to avoid needless tests.
81136         Problem reported by Jim Meyering.
81137
81138 2005-06-20  Derek Price  <derek@ximbiot.com>
81139
81140         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
81141         unnecessary for Autoconfs > 2.59c.
81142
81143 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81144
81145         * lib/argp.h (__option_is_short): Check upper limit of
81146         __key. Isprint() requires its argument to have the value
81147         of an unsigned char or EOF.
81148
81149 2005-06-16  Jim Meyering  <jim@meyering.net>
81150
81151         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
81152         when either N or S is zero.
81153
81154 2005-06-16  Derek Price  <derek@ximbiot.com>
81155
81156         * m4/bison.m4: Declare YACC & YFLAGS precious.
81157
81158 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
81159
81160         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
81161         multibyte string or pattern, fall back on unibyte matching.
81162         Problem reported by James Youngman.
81163
81164 2005-06-08  Bruno Haible  <bruno@clisp.org>
81165
81166         * modules/csharpcomp: New file.
81167         * MODULES.html.sh (C#): Add csharpcomp.
81168
81169 2005-06-08  Bruno Haible  <bruno@clisp.org>
81170
81171         * m4/csharpcomp.m4: New file, from GNU gettext.
81172
81173 2005-06-08  Bruno Haible  <bruno@clisp.org>
81174
81175         * lib/csharpcomp.h: New file, from GNU gettext.
81176         * lib/csharpcomp.c: New file, from GNU gettext.
81177         * lib/csharpcomp.sh.in: New file, from GNU gettext.
81178
81179 2005-06-08  Bruno Haible  <bruno@clisp.org>
81180
81181         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
81182         warning on mingw.
81183
81184 2005-06-07  Derek Price  <derek@ximbiot.com>
81185
81186         Sync from CVS.
81187         * lib/glob_.h: Indent nested #ifdef.
81188
81189 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81190
81191         Sync from coreutils.
81192         Use "file name" when talking about file names, instead of "filename"
81193         or "path", as per the GNU coding standards.
81194         * lib/mkdir-p.c: Renamed from makepath.c.
81195         (make_dir_parents): Renamed from make_path.  All callers changed.
81196         * lib/mkdir-p.h: Likewise.  All includers changed.
81197         * lib/filenamecat.c: Renamed from path-concat.c.
81198         (file_name_concat): Renamed from path_concat.  All callers changed.
81199         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
81200         * lib/filenamecat.h: Likewise.  All includers changed.
81201         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
81202         in comments or local variable names.
81203         * lib/basename.c: Likewise.
81204         * lib/canonicalize.c, canonicalize.h: Likewise.
81205         * lib/dirname.c, dirname.h: Likewise.
81206         * lib/euidaccess.c: Likewise.
81207         * lib/exclude.c: Likewise
81208         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
81209         * lib/fsusage.c, fsuage.h: Likewise.
81210         * lib/fts.c, fts_.h: Likewise.
81211         * lib/getcwd.c: Likewise.
81212         * lib/getloadavg.c: Likewise.
81213         * lib/mkstemp.c: Likewise.
81214         * lib/mountlist.c, mountlist.h: Likewise.
81215         * lib/openat.c, openat.h: Likewise.
81216         * lib/readlink-stub.c: Likewise.
81217         * lib/readutmp.c, readutmp.h: Likewise.
81218         * lib/rename.c: Likewise.
81219         * lib/rmdir.c: Likewise.
81220         * lib/same.c: Likewise.
81221         * lib/savedir.c: Likewise.
81222         * lib/stripslash.c: Likewise.
81223         * lib/tempname.c: Likewise.
81224         * lib/xreadlink.c: Likewise.
81225         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
81226         All uses changed.
81227         * lib/exclude.h: Likewise.
81228
81229         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
81230         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81231         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
81232         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81233         * lib/pathmax.h: Include <limits.h> unconditionally, since other
81234         files have been getting away with it for years (MORE/BSD 4.3
81235         is extinct now).
81236         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
81237         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81238
81239         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
81240         Define to 256, not 255, as per modern POSIX.
81241
81242 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81243
81244         Sync from coreutils.
81245         Use "file name" when talking about file names, instead of "filename"
81246         or "path", as per the GNU coding standards.
81247         * MODULES.html.sh: mkdir-p renamed from makepath.
81248         filenamecat renamed from path-concat.
81249         * modules/filenamecat: Renamed from modules/path-concat.
81250         (Files): filenamecat.h and filenamecat.c renamed from
81251         path-concat.h and path-concat.c.
81252         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
81253         (Include): filenamecat.h, not path-concat.h.
81254         * modules/mkdir-p: Renamed from modules/makepath.
81255         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
81256         makepath.c.
81257         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
81258         (Include): mkdir-p.h, not makepath.h.
81259
81260 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81261
81262         Sync from coreutils.
81263         * m4/mkdir-p.m4: Renamed from makepath.m4.
81264         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
81265         Rename files from makepath.c to mkdir-p.c, and from
81266         makepath.h to mkdir-p.h.
81267         * m4/filenamecat.m4: Renamed from path-concat.m4.
81268         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
81269         Rename files from path-concat.c to filenamecat.c,
81270         and from path-concat.h to filenamecat.h.
81271         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
81272         "file name" in local variables or comments.
81273         * m4/rename.m4: Likewise.
81274
81275 2005-06-01  Bruno Haible  <bruno@clisp.org>
81276
81277         * modules/csharpexec: New file.
81278         * MODULES.html.sh (C#): New section.
81279
81280 2005-06-01  Bruno Haible  <bruno@clisp.org>
81281
81282         * m4/csharp.m4: New file, from GNU gettext.
81283         * m4/csharpexec.m4: New file, from GNU gettext.
81284
81285 2005-06-01  Bruno Haible  <bruno@clisp.org>
81286
81287         * lib/csharpexec.h: New file, from GNU gettext.
81288         * lib/csharpexec.c: New file, from GNU gettext.
81289         * lib/csharpexec.sh.in: New file, from GNU gettext.
81290
81291 2005-05-31  Derek Price  <derek@ximbiot.com>
81292             Paul Eggert  <eggert@cs.ucla.edu>
81293
81294         Sync from cvs.
81295         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81296
81297 2005-05-31  Derek Price  <derek@ximbiot.com>
81298             Paul Eggert  <eggert@cs.ucla.edu>
81299
81300         Sync from cvs.
81301         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81302
81303 2005-05-29  Derek Price  <derek@ximbiot.com>
81304
81305         * config/srclist.txt (glob_.h, glob.c): Add these files.
81306
81307 2005-05-29  Derek Price  <derek@ximbiot.com>
81308
81309         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
81310         * modules/glob: New file.
81311         * modules/getlogin_r: Add link to POSIX spec in description.
81312
81313 2005-05-29  Derek Price  <derek@ximbiot.com>
81314             Paul Eggert  <eggert@cs.ucla.edu>
81315
81316         * m4/glob.m4: New file.
81317
81318 2005-05-29  Derek Price  <derek@ximbiot.com>
81319             Paul Eggert  <eggert@cs.ucla.edu>
81320
81321         * lib/glob_.h, lib/glob.c: New files.
81322
81323 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81324
81325         * modules/fts (Files): Remove m4/inttypes-pri.m4.
81326         * modules/fts-lgpl (Depends-on): Remove gettext.
81327
81328 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81329
81330         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
81331         and don't require gt_INTTYPES_PRI.
81332
81333 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81334
81335         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
81336
81337         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
81338         the configuration hassle isn't worth it.
81339         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
81340         (LONGEST_MODIFIER, PRIuMAX): Remove.
81341
81342 2005-05-27  Bruno Haible  <bruno@clisp.org>
81343
81344         * lib/getlogin_r.h: Remove second include of <stddef.h>.
81345
81346 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
81347
81348         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
81349         _POSIX_PTHREAD_SEMANTICS for Solaris.
81350
81351 2005-05-25  Derek Price  <derek@ximbiot.com>
81352
81353         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
81354
81355 2005-05-25  Derek Price  <derek@ximbiot.com>
81356             Paul Eggert  <eggert@cs.ucla.edu>
81357
81358         * modules/getlogin_r, m4/getlogin_r.m4: New files.
81359         * lib/getlogin_r.c, getlogin_r.h: New files.
81360
81361 2005-05-25  Bruno Haible  <bruno@clisp.org>
81362             Derek Price  <derek@ximbiot.com>
81363
81364         * lib/getlogin_r.h: Simplify API documentation.
81365
81366 2005-05-23  Derek Price  <derek@ximbiot.com>
81367
81368         * modules/minmax (Files): Add m4/minmax.m4.
81369         (configure.ac): Add gl_MINMAX.
81370
81371 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81372
81373         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
81374         so that unistd-safer.h (GPL'ed code) need not be included.
81375
81376 2005-05-22  Bruno Haible  <bruno@clisp.org>
81377
81378         * m4/minmax.m4: New file.
81379         Based on a patch by Derek Price <derek@ximbiot.com>.
81380
81381 2005-05-22  Bruno Haible  <bruno@clisp.org>
81382
81383         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
81384         (INT64_MIN): Fix definition.
81385         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
81386
81387         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
81388         NEED_SIGNED_INT_TYPES.
81389
81390         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
81391         HAVE_SYSTEM_INTTYPES.
81392
81393 2005-05-22  Bruno Haible  <bruno@clisp.org>
81394
81395         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
81396         Also include <sys/param.h> if it defines MIN, MAX.
81397         Based on a patch by Derek Price <derek@ximbiot.com>.
81398
81399 2005-05-21  Jim Meyering  <jim@meyering.net>
81400
81401         * modules/fts (Files): Add m4/inttypes-pri.m4.
81402         (Depends-on): Add lstat and remove gettext.  Alphabetize.
81403
81404 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81405
81406         New fts module.
81407         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
81408         (setup_dir, free_dir): New functions.
81409         (enter_dir, leave_dir): Define trivial
81410         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
81411         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
81412         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
81413         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
81414         Move to fts-cycle.c.
81415         (fts_open): Use setup_dir.
81416         (fts_close): Use free_dir.
81417         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
81418         This adds a label and some gotos, but the alternatives were messier.
81419         Check for memory allocation failure when entering a dir.
81420         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
81421         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
81422         (FTS): New member fts_cycle, that is a union that contains the
81423         old active_dir_ht and cycle_state.  All uses changed to mention
81424         fts_cycle.ht and fts_cycle.state.
81425         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
81426         fts.c, with the following changes:
81427         (setup_dir, free_dir): New functions.
81428         (enter_dir): Now returns bool.  Return true if successful, false
81429         if memory exhausted.  All callers changed.
81430         Do not bother partly cleaning up on
81431         memory allocation failure; that is free_dir's job.
81432         However, free ad if hash_insert fails, to avoid memory leak.
81433         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
81434         fts->fts_options to see which union member to use.
81435
81436 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81437
81438         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
81439         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
81440
81441 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81442
81443         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
81444
81445 2005-05-20  Jim Meyering  <jim@meyering.net>
81446
81447         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
81448         Now a macro, to pacify GCC.
81449
81450 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81451
81452         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
81453         of -1.
81454
81455 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81456
81457         * lib/chown.c (rpl_chown): Return -1 on failure.
81458
81459 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81460
81461         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
81462         Don't check for stddef.h.
81463         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
81464         don't use its results.
81465         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
81466         since we include them unconditionally.  Don't require
81467         AM_STDBOOL_H, since stdbool is a prerequisite.
81468         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
81469         since we assume C89 or better.
81470         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
81471         as we don't use their results.
81472         Don't check for fchdir, memmove, memset, strrchr, as we use
81473         them unconditionally.
81474         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
81475         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
81476
81477 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81478
81479         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
81480         Include <stddef.h> unconditionally, since we assume C89 now.
81481         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
81482         * lib/fts.c: Include fts_.h first, to check interface.
81483         Do not include intprops.h; no longer needed.
81484         Include cycle-check.h and hash.h, since fts_.h no longer does.
81485         Remove unnecessary casts of closedir to void.
81486         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
81487         decide whether to decrement nlinks.
81488         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
81489         (FTS): Use struct hash_table * instead of Hash_table, so that
81490         we no longer need to include hash.h here.
81491
81492 2005-05-18  Jim Meyering  <jim@meyering.net>
81493
81494         * modules/dirfd (License): Change to LGPL.  Most of the code
81495         is already in the public domain.
81496
81497 2005-05-18  Jim Meyering  <jim@meyering.net>
81498
81499         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
81500         Reported by Yoann Vandoorselaere.
81501
81502 2005-05-17  Jim Meyering  <jim@meyering.net>
81503
81504         * m4/fts.m4: New file, from coreutils.
81505
81506 2005-05-17  Jim Meyering  <jim@meyering.net>
81507
81508         * lib/fts.c, lib/fts_.h: New files, from coreutils.
81509
81510 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81511
81512         Sync from coreutils.
81513         * m4/unlinkdir.m4: New file.
81514
81515 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81516
81517         Sync from coreutils.
81518         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
81519         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
81520         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
81521         White space changes only.
81522         * lib/makepath.c (make_path): Port to hosts where leading "//" is
81523         special.
81524         * lib/yesno.c: Include getline.h, not ctype.h.
81525         (yesno): Don't remove leading white space; POSIX doesn't allow it.
81526         Use getline to remove arbitrary restriction on response length.
81527
81528 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81529
81530         * config/srclist-update: Spell out "Street" in FSF postal
81531         mail address; this is the style the FSF seems to prefer.
81532
81533         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
81534         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
81535         this updates FSF postal mail address.
81536
81537         Sync from coreutils.
81538         * modules/unlinkdir: New file.
81539         * modules/yesno (Depends-on): Add getline.
81540         * MODULES.html.sh (File system functions): Add unlinkdir.
81541
81542 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81543
81544         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
81545         lib/strsep.h:
81546         Change the initial comment to refer to GPL, not LGPL.
81547         gnulib-tool will change it to LGPL as needed.
81548
81549         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
81550         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
81551         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
81552         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
81553         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
81554         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
81555         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
81556         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
81557         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
81558         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
81559         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
81560         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
81561         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
81562         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
81563         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
81564         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
81565         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
81566         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
81567         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
81568         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
81569         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
81570         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
81571         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
81572         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
81573         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
81574         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
81575         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
81576         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
81577         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
81578         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
81579         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
81580         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
81581         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
81582         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
81583         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
81584         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
81585         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
81586         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
81587         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
81588         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
81589         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
81590         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
81591         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
81592         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
81593         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
81594         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
81595         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
81596         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
81597         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
81598         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
81599         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81600         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
81601         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
81602         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
81603         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
81604         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
81605         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
81606         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
81607         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
81608         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
81609         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
81610         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
81611         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
81612         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
81613         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
81614         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
81615         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
81616         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
81617         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
81618         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
81619         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
81620         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
81621         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
81622         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
81623         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
81624         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
81625         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
81626         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
81627         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
81628         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
81629         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
81630         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
81631         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
81632         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
81633         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
81634         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
81635         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
81636         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
81637         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
81638         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
81639         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
81640         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
81641         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
81642         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
81643         lib/yesno.c, lib/yesno.h:
81644         Update FSF postal mail address.
81645
81646 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81647
81648         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
81649         tests/test-memmem.c, tests/test-stpncpy.c:
81650         Update FSF postal mail address.
81651
81652 2005-05-13  Bruno Haible  <bruno@clisp.org>
81653
81654         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
81655         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
81656         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
81657         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
81658         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
81659         Add support for 64-bit integers in the MSVC compiler.
81660
81661 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81662
81663         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
81664
81665 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
81666
81667         * gnulib-tool (func_import): Sort and uniquify recommended includes.
81668
81669 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
81670
81671         * doc/getdate.texi (General date syntax): Don't say that date
81672         date --iso-8601=ns generates acceptable dates; it doesn't yet.
81673         Problem reported by Nic Ferrier.
81674
81675 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81676
81677         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
81678         specified in ai_socktype. Fix invalid ai_protocol
81679         check. ai_protocol is usually set to 0 or depending on
81680         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81681         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81682         ai_socktype / ai_protocol in the returned addrinfo structure.
81683
81684 2005-05-10  Simon Josefsson  <jas@extundo.com>
81685
81686         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81687         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81688
81689 2005-05-10  Karl Berry  <karl@gnu.org>
81690
81691         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81692         (from http://www.gnu.org/licenses).
81693         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81694         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81695         fdl.texi suffices.
81696
81697 2005-05-10  Karl Berry  <karl@gnu.org>
81698
81699         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81700         (COPYING.DOC): remove.
81701
81702         * config/srclist-update: new FSF address.
81703
81704 2005-05-10  Derek Price  <derek@ximbiot.com>
81705
81706         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81707         possible.
81708
81709 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81710             Bruno Haible  <bruno@clisp.org>
81711
81712         * modules/inet_ntop: New file.
81713         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81714         inet_ntop.
81715
81716 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81717             Bruno Haible  <bruno@clisp.org>
81718
81719         * m4/inet_ntop.m4: New file.
81720
81721 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81722             Bruno Haible  <bruno@clisp.org>
81723
81724         * lib/inet_ntop.h: New file.
81725         * lib/inet_ntop.c: New file, from glibc with modifications.
81726
81727 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81728
81729         * modules/time_r (License): Change to LGPL.
81730         * modules/extensions (License): Change to LGPL.  Actually,
81731         the license is more permissive than that, but currently gnulib-tool
81732         doesn't know how to handle more-permissive licenses.
81733
81734         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81735         Problem reported by Dave Love.
81736
81737 2005-05-08  Jim Meyering  <jim@meyering.net>
81738
81739         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81740         blank.
81741
81742 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81743
81744         * modules/argmatch (Depends-on): Add stdbool.
81745         * modules/backupfile (Depends-on): Likewise.
81746         * modules/chdir-long (Depends-on): Likewise.
81747         * modules/closeout (Depends-on): Likewise.
81748         * modules/cycle-check (Depends-on): Likewise.
81749         * modules/dirname (Depends-on): Likewise.
81750         * modules/fnmatch (Depends-on): Likewise.
81751         * modules/fsusage (Depends-on): Likewise.
81752         * modules/fwriteerror (Depends-on): Likewise.
81753         * modules/getcwd (Depends-on): Likewise.
81754         * modules/getloadavg (Depends-on): Likewise.
81755         * modules/hard-locale (Depends-on): Likewise.
81756         * modules/makepath (Depends-on): Likewise.
81757         * modules/mountlist (Depends-on): Likewise.
81758         * modules/nanosleep (Depends-on): Likewise.
81759         * modules/posixtm (Depends-on): Likewise.
81760         * modules/quotearg (Depends-on): Likewise.
81761         * modules/readtokens (Depends-on): Likewise.
81762         * modules/readtokens0 (Depends-on): Likewise.
81763         * modules/readutmp (Depends-on): Likewise.
81764         * modules/save-cwd (Depends-on): Likewise.
81765         * modules/strftime (Depends-on): Likewise.
81766         * modules/userspec (Depends-on): Likewise.
81767         * modules/utimecmp (Depends-on): Likewise.
81768         * modules/xgetcwd (Depends-on): Likewise.
81769         * modules/xnanosleep (Depends-on): Likewise.
81770         * modules/xstrtod (Depends-on): Likewise.
81771         * modules/yesno (Depends-on): Likewise.
81772
81773 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81774
81775         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81776         needless checks.
81777
81778 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81779
81780         Merge from coreutils.  Among other things,
81781         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81782         * lib/fd-safer.c: New file.
81783         * lib/fcntl-safer.h, open-safer.c: Remove.
81784         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81785         * lib/dup-safer.c: Include unistd-safer.h first.
81786         Don't include errno.h.
81787         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81788         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81789         * lib/file-type.c: Rely on file-type.h change.
81790         * lib/getloadavg.c: Include unistd-safer.h.
81791         (getloadavg): Use safer open.
81792         * lib/getusershell.c: Include "stdio-safer.h".
81793         (getusershell): Use safer fopen.
81794         * lib/long-options.c (long_options): Use NULL rather than 0.
81795         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81796         'free'.
81797         * lib/modechange.c: Likewise.
81798         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81799         (MODE_DONE): New constant.
81800         (struct mode_change): Remove 'next' member.
81801         (make_node_op_equals): New function; like the old one of the
81802         same name, except it allocates an array.
81803         (mode_compile, mode_create_from_ref): Use it.
81804         (mode_compile): Allocate result as an array, not a linked list.
81805         Parse octal string ourself, so that we catch mistakes like "+0".
81806         (mode_adjust): Arg is an array, not a linked list.
81807         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81808         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81809         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81810         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81811         Remove.  This is now stat-macros.h's job.
81812         (talloc): Remove.  All callers replaced by xalloc, so that
81813         our invokers don't have to worry about reporting memory failures.
81814         (make_node_op_equals): Remove.
81815         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81816         New constants.
81817         (struct mode_change): Moved here from modechange.h.
81818         (mode_append_entry): Remove.
81819         (mode_compile): Remove MASKED_OPS arg, since it encouraged
81820         apps to have incorrect behavior.  Use simpler algorithm for head
81821         and tail.  Don't futz with umask; that's now the job of mode_adjust.
81822         Detect more invalid usages rather than having somewhat-random behavior.
81823         Don't insert an "a=" action, as that leads to incorrect behavior.
81824         (mode_compile, mode_create_from_ref): Return NULL on error instead
81825         of an enum, since now there's only one way to have an error.  All
81826         callers changed.
81827         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
81828         at the correct time.  Simplify calculation of "+u" and its ilk.
81829         Don't mishandle "+X".
81830         (mode_free): Remove "register" and localize decls.
81831         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81832         (struct mode_change): Move to modechange.c; callers don't
81833         need to see this stuff.
81834         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
81835         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
81836         (mode_change, mode_adjust): Reflect the new signatures noted above.
81837         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
81838         that might redefine system include files.
81839         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
81840         (my_usleep): Use NULL rather than (void *) 0.
81841         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
81842         Use siginterrupt to specify that system calls should be interrupted.
81843         (rpl_nanosleep): Move initialization of suspended closer to call of
81844         my_usleep.
81845         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81846         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81847         (desirable_utmp_entry): New function.
81848         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81849         using x2nrealloc, to simplify logic.
81850         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81851         size calculation.  Do not assume utmp file is a regular file.
81852         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81853         (READ_UTMP_CHECK_PIDS): New constant.
81854         * lib/save-cwd.c: Include unistd-safer.h.
81855         (save_cwd): Use fd_safer.
81856         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81857         [!_LIBC] Include "stat-macros.h" instead.
81858         * lib/unistd-safer.h (fd_safer): New decl.
81859
81860 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81861
81862         * modules/getloadavg (Depends-on): Add unistd-safer.
81863         * modules/getusershell (Depends-on): Add stdio-safer.
81864         * modules/lstat (Depends-on): Remove xalloc.
81865         * modules/mkstemp (Depends-on): Add stat-macros.
81866         * modules/modechange (Depends-on): Remove xstrtol.
81867         Add stat-macros, xalloc.
81868         * modules/save-cwd (Depends-on): Add unistd-safer.
81869         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81870         * modules/unistd-safer (Files): Add lib/fd-safer.c
81871         (Makefile.am): Remove lib_SOURCES.
81872
81873         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81874         Remove fcntl-safer; unistd-safer supersedes it.
81875
81876 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81877
81878         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81879         AC_HEADER_STAT.
81880         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81881         (gl_PREREQ_CHOWN): Remove.
81882         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81883         it.  Don't require AC_HEADER_STAT.
81884         (gl_PREREQ_LSTAT): Remove.
81885         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81886         Don't require AC_HEADER_STAT.
81887         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81888         (gl_PREREQ_RMDIR): Remove.
81889         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81890         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81891         the stat-macros module a prerequisite.
81892         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81893         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81894         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81895         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81896         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81897         variable names.
81898         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81899         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81900         variable prefixes.
81901         * m4/fcntl-safer.m4: Remove.
81902         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81903         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81904         Invoke gl_PREREQ_FD_SAFER.
81905         (gl_PREREQ_FD_SAFER): New macro.
81906         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81907         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81908         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81909         Remove duplicate call to AC_LIBOBJ(readutmp).
81910         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81911
81912         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81913         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81914
81915 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81916
81917         * MODULES.html.sh (Misc): Add byteswap.
81918
81919 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81920
81921         * modules/getcwd (Depends-on): Add extensions.
81922         * modules/openat (Depends-on): Likewise.
81923
81924 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81925
81926         * modules/byteswap: New file.
81927
81928 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81929
81930         * m4/byteswap.m4: New file.
81931
81932 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81933
81934         * lib/byteswap_.h: New file.
81935
81936 2005-04-25  Karl Berry  <karl@gnu.org>
81937
81938         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81939
81940 2005-04-25  Albert Chin  <china@thewrittenword.com>
81941
81942         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81943         Toolkit C bug.
81944
81945 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81946
81947         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81948         (func_ln_if_changed): Remove forcibly for no error message
81949         in case file does not exist.
81950
81951 2005-04-19  Simon Josefsson  <jas@extundo.com>
81952
81953         * gnulib-tool (Options): Make --symlink mean --symbolic.
81954
81955 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81956
81957         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81958
81959 2005-04-16  Simon Josefsson  <jas@extundo.com>
81960
81961         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
81962
81963 2005-04-15  Simon Josefsson  <jas@extundo.com>
81964
81965         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
81966
81967 2005-04-15  Simon Josefsson  <jas@extundo.com>
81968
81969         * gnulib-tool: Rename --symlink to --symbolic.
81970
81971 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
81972
81973         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
81974         symbolic links to files instead of copying/moving.  Add --aux-dir,
81975         specifying directory relative --dir where auxiliary build tools
81976         are placed.
81977
81978 2005-04-14  Bruno Haible  <bruno@clisp.org>
81979
81980         * modules/allocsa (License): Change to LGPL.
81981         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81982
81983 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81984
81985         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
81986         that "UTC +1 second" continues to work.  Problem reported
81987         by Dmitry V. Levin.
81988         (relunit_snumber): New rule.
81989         (relunit): Use it.
81990
81991 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81992
81993         * lib/getdate.y (universal_time_zone_table): New constant.
81994         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
81995         universal_time_zone_table.
81996         (lookup_zone): Prefer universal_time_zone_table to
81997         local_time_zone_table, so that "GMT" time stamps are allowed in
81998         London during the summer.  Problem reported by Ian Abbott.
81999
82000 2005-04-12  Jim Meyering  <jim@meyering.net>
82001
82002         * lib/human.c (humblock): Set *options even when returning due to
82003         xstrtoumax conversion failure.  Thanks to a used-uninitialized
82004         warning from gcc-4.
82005
82006 2005-04-09  Jim Meyering  <jim@meyering.net>
82007
82008         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
82009         -Wuninitialized: initialize tm0.tm_year.
82010
82011 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
82012
82013         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
82014         count, since there's no maximum.  All uses changed.
82015         Add member dsts_seen.
82016         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
82017         not being INT_MAX.
82018         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
82019         Use pc_rels_seen to decide whther a date is absolute.
82020
82021         * lib/getdate.y (number): Don't overwrite year.
82022         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
82023         check.
82024
82025 2005-04-02  Simon Josefsson  <jas@extundo.com>
82026
82027         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
82028         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
82029
82030 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
82031
82032         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
82033         where no absolute path name can be longer than PATH_MAX.
82034
82035 2005-03-27  Jim Meyering  <jim@meyering.net>
82036
82037         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
82038
82039 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
82040
82041         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
82042         "one's complement" -> "ones' complement" in comment, as per Knuth.
82043         "value of type" -> "type or expression" in comment.
82044         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
82045
82046 2005-03-26  Jim Meyering  <jim@meyering.net>
82047
82048         Comment nits.
82049         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
82050         Correct typos: s/or/of/.
82051
82052 2005-03-26  Jim Meyering  <jim@meyering.net>
82053
82054         * modules/check-include-files: Move to ../ and rename to...
82055         * check-module: ...this.
82056
82057 2005-03-25  Jim Meyering  <jim@meyering.net>
82058
82059         * modules/xvasprintf (Files): Add xalloc.h.
82060
82061 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
82062
82063         * modules/gettext (Files): config/config.rpath ->
82064         build-aux/config.rpath
82065         * modules/iconv (Files): Likewise.
82066         Problem reported by Oskar Liljeblad.
82067
82068 2005-03-23  Jim Meyering  <jim@meyering.net>
82069
82070         * modules/check-include-files: New script to check for
82071         missing dependencies, multiple includes, etc.
82072
82073         * modules/c-strtold (Depends-on): Add xalloc.
82074         * modules/c-strtod (Depends-on): Add xalloc.
82075         * modules/hash (Depends-on): Add xalloc.
82076         (Files): Remove lib/xalloc.h.
82077
82078         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
82079         * modules/userspec (Files): Add lib/inttostr.h.
82080
82081 2005-03-23  Jim Meyering  <jim@meyering.net>
82082
82083         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
82084
82085 2005-03-22  Jim Meyering  <jim@meyering.net>
82086
82087         * modules/stat-macros: New module.
82088         * modules/canonicalize, modules/euidaccess, modules/file-type,
82089         * modules/filemode, modules/lchown, modules/makepath,
82090         * modules/rmdir, modules/stat: Depend on new stat-macros module
82091         rather than listing lib/stat-macros.h manually.
82092         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
82093
82094 2005-03-22  Jim Meyering  <jim@meyering.net>
82095
82096         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
82097
82098 2005-03-22  Bruno Haible  <bruno@clisp.org>
82099
82100         * config/srclist.txt: Replace target directory 'config' with
82101         'build-aux'.
82102         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
82103         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
82104         ../build-aux/.
82105
82106 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
82107
82108         * modules/chdir-long (Depends-on): Add mempcpy.
82109
82110         * modules/acl, modules/backupfile, modules/c-strtod,
82111         modules/c-strtold, modules/canon-host, modules/canonicalize,
82112         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
82113         modules/exclude, modules/exitfail, modules/file-type,
82114         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
82115         modules/getdate, modules/getline, modules/getpagesize,
82116         modules/getpass, modules/getugroups, modules/group-member,
82117         modules/hard-locale, modules/hash, modules/human, modules/idcache,
82118         modules/inttostr, modules/long-options, modules/makepath,
82119         modules/md5, modules/memcasecmp, modules/memcoll,
82120         modules/modechange, modules/mountlist, modules/path-concat,
82121         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
82122         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
82123         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
82124         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
82125         modules/strftime, modules/strndup, modules/strverscmp,
82126         modules/timespec, modules/unlocked-io, modules/userspec,
82127         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
82128         modules/yesno:
82129         Remove lib_SOURCES line from Makefile.am section, as this is now
82130         done automatically by the corresponding Autoconf macro.
82131
82132 2005-03-21  Jim Meyering  <jim@meyering.net>
82133
82134         Changes imported from coreutils.
82135
82136         * lib/cycle-check.c: Don't include xalloc.h.
82137
82138         * lib/path-concat.c: Don't include assert.h.
82139         (path_concat): Remove assertion that would have triggered
82140         for ABASE starting with more than one slash.
82141         Reported by Andreas Schwab.
82142
82143         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
82144         properly when ABASE is an absolute file name.
82145         Correct the description of this function.
82146         Include <assert.h>.
82147         Add an assertion and a test driver.
82148         This fixes a bug introduced on 2004-07-02.
82149         Andreas Schwab reported the resulting failure of cp --parents:
82150         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
82151
82152 2005-03-21  Jim Meyering  <jim@meyering.net>
82153
82154         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
82155         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
82156
82157 2005-03-21  Jim Meyering  <jim@meyering.net>
82158         and  Paul Eggert  <eggert@cs.ucla.edu>
82159
82160         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
82161         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
82162         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
82163         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
82164         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
82165         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
82166         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
82167         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
82168         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
82169         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
82170         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
82171         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
82172         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
82173         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
82174         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
82175         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
82176         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
82177         for these modules.
82178
82179 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
82180
82181         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
82182         (which shouldn't happen), generate nothing instead of returning 0
82183         immediately, so that nstrftime (NULL, ...) doesn't return 0.
82184
82185 2005-03-16  Bruno Haible  <bruno@clisp.org>
82186
82187         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
82188         HAVE_LONGLONG_64BIT.
82189
82190 2005-03-16  Bruno Haible  <bruno@clisp.org>
82191
82192         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
82193         HAVE_LONGLONG_64BIT.
82194
82195 2005-03-16  Bruno Haible  <bruno@clisp.org>
82196
82197         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
82198         HAVE_LONGLONG_64BIT.
82199
82200 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82201
82202         * lib/strftime.c (my_strftime): Prepend space to format so that we can
82203         reliably distinguish strftime failure from empty output on POSIX
82204         hosts.
82205
82206 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82207
82208         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
82209         (iconv_string): Don't guess a size-zero buffer, as that might cause
82210         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
82211         result would be 'too large', where 'too large' is (heuristically)
82212         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
82213         overflow concerns.  This will prevent some unwanted malloc failures
82214         when the inputs are very large.
82215
82216 2005-03-15  Karl Berry  <karl@gnu.org>
82217
82218         * config/srclist.txt (config.rpath): from gettext.
82219         * config/config.rpath: update.
82220
82221 2005-03-15  Bruno Haible  <bruno@clisp.org>
82222
82223         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
82224         to 'negate'.
82225
82226         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
82227         variable.
82228
82229         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
82230         results.
82231
82232 2005-03-14  Simon Josefsson  <jas@extundo.com>
82233
82234         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
82235         <fx@gnu.org>.
82236
82237 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
82238
82239         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
82240         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
82241         intprops.h.
82242         * lib/strtol.c: Likewise.
82243
82244 2005-03-14  Jim Meyering  <jim@meyering.net>
82245
82246         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
82247         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
82248         to be nonzero so that we (and caller) can detect the difference
82249         between a valid zero-length expansion and an error return, even
82250         when the underlying strftime fails before writing anything into
82251         that location.
82252
82253 2005-03-14  Bruno Haible  <bruno@clisp.org>
82254
82255         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
82256         Update from GNU gettext 0.14.3.
82257
82258 2005-03-10  Jim Meyering  <jim@meyering.net>
82259
82260         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
82261
82262 2005-03-10  Jim Meyering  <jim@meyering.net>
82263
82264         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
82265         so that this module works on systems without fchdir.
82266
82267 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
82268
82269         Factor int-properties macros into a single file, except for
82270         glibc-related files.
82271         * lib/intprops.h: New file.
82272         * lib/getloadavg.c: Include it instead of limits.h.
82273         (INT_STRLEN_BOUND): Remove.
82274         * lib/human.c: Include intprops.h.
82275         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
82276         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
82277         302/1000.
82278         * lib/inttostr.h: Include intprops.h instead of limits.h.
82279         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
82280         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
82281         for consistency with intprops.h.
82282         (time_t_is_integer, twos_complement_arithmetic): Use them.
82283         * lib/sig2str.h: Include <signal.h>, intprops.h.
82284         (INT_STRLEN_BOUND): Remove.
82285         * lib/strftime.c (TYPE_SIGNED): Remove.
82286         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
82287         * lib/strtol.c: Adjust comments to match intprops.h.
82288         * lib/userspec.c: Include intprops.h.
82289         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
82290         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
82291         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
82292         instead of rolling our own expressions.
82293         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
82294
82295         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
82296         instead of int.
82297         (my_strftime): Do not mishandle years close to INT_MAX, by doing
82298         the right thing even if adding 1900 would overflow.  Similarly
82299         for tm_mon + 1 and tm_yday + 1.
82300         Make %Y always equivalent to %C%y, and similarly for %G and %g.
82301         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
82302         (DO_SIGNED_NUMBER): New macro.
82303         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
82304
82305 2005-03-07  Bruno Haible  <bruno@clisp.org>
82306
82307         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
82308
82309 2005-03-07  Bruno Haible  <bruno@clisp.org>
82310
82311         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
82312
82313 2005-03-04  Derek R. Price  <derek@ximbiot.com>
82314
82315         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
82316         (func_import): Only replace files via --import when they have actually
82317         changed.
82318
82319 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82320
82321         * m4/mmap-anon.m4: New file.
82322         * m4/pagealign_alloc.m4: New file.
82323
82324 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82325             Bruno Haible  <bruno@clisp.org>
82326
82327         * modules/pagealign_alloc: New file.
82328         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
82329
82330 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82331             Bruno Haible  <bruno@clisp.org>
82332
82333         * lib/pagealign_alloc.h: New file.
82334         * lib/pagealign_alloc.c: New file.
82335
82336 2005-03-03  Bruno Haible  <bruno@clisp.org>
82337
82338         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
82339         Use an all-permissive copyright notice, recommended by RMS.
82340
82341 2005-03-02  Bruno Haible  <bruno@clisp.org>
82342
82343         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
82344         of AIX, the replacement has to be done only after <string.h> is
82345         included, therefore not in config.h. stpncpy.h does the replacement,
82346         and stpncpy.c uses it.
82347
82348 2005-03-02  Bruno Haible  <bruno@clisp.org>
82349
82350         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
82351         stpncpy.c uses it.
82352
82353 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82354
82355         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
82356         The workaround isn't strictly needed for POSIX conformance, and
82357         it's too much of a pain to configure and maintain.  We'll ask
82358         people to fix their kernels instead.
82359         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
82360         (NANOSLEEP_BUG_WORKAROUND): Remove.
82361         (xnanosleep): Remove the workaround.
82362
82363 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82364
82365         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
82366         Reported by Derek Price.
82367         (Include): Add "timespec.h".
82368
82369         * modules/xnanosleep (Depends-on): Remove gethrxtime.
82370
82371 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82372
82373         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
82374         to detect nanosleep bug.
82375
82376 2005-03-01  Bruno Haible  <bruno@clisp.org>
82377
82378         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
82379
82380 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82381
82382         * modules/gethrxtime: New file.
82383         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
82384         (Depends-on): Add gethrxtime.
82385         (configure.ac): Add gl_XNANOSLEEP.
82386         (Makefile.am): Remove lib_SOURCES line.
82387
82388 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82389
82390         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
82391         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
82392
82393 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82394
82395         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
82396         * lib/timespec.h (gettime): Return void, since it always
82397         succeeds now.  All uses changed.
82398         * lib/gettime.c (gettime): Likewise.
82399         [HAVE_NANOTIME]: Prefer nanotime.
82400         Assume gettimeofday succeeds, as POSIX requires.
82401         Assime time () succeeds, since other code already does.
82402         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
82403         (timespec_subtract): Remove.
82404         (NANOSLEEP_BUG_WORKAROUND): New constant.
82405         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
82406         things considerably.  Use it only on GNU/Linux hosts, since the
82407         workaround shouldn't be needed elsewhere.
82408
82409 2005-02-24  Bruno Haible  <bruno@clisp.org>
82410
82411         * modules/gettext (Files): Add m4/glibc2.m4.
82412
82413 2005-02-24  Bruno Haible  <bruno@clisp.org>
82414
82415         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
82416         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
82417         * m4/progtest.m4:
82418         Update from GNU gettext 0.14.2.
82419         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
82420
82421 2005-02-24  Bruno Haible  <bruno@clisp.org>
82422
82423         * lib/localcharset.c: Update from GNU gettext 0.14.2.
82424         * lib/config.charset: Update from GNU gettext 0.14.2.
82425
82426 2005-02-24  Bruno Haible  <bruno@clisp.org>
82427
82428         * lib/gettext.h: Update from GNU gettext 0.14.2.
82429
82430 2005-02-23  Simon Josefsson  <jas@extundo.com>
82431
82432         * m4/iconvme.m4: New file.
82433
82434 2005-02-23  Jim Meyering  <jim@meyering.net>
82435
82436         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
82437         change.
82438         Thanks to Bruno Haible for catching it.
82439
82440 2005-02-22  Simon Josefsson  <jas@extundo.com>
82441
82442         * modules/iconvme: New file.
82443
82444         * MODULES.html.sh: Add iconvme.
82445
82446 2005-02-22  Simon Josefsson  <jas@extundo.com>
82447
82448         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
82449
82450 2005-02-22  Simon Josefsson  <jas@extundo.com>
82451
82452         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
82453
82454 2005-02-22  Jim Meyering  <jim@meyering.net>
82455
82456         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
82457         s/ifndef/ifdef/.
82458
82459 2005-02-20  Neil Conway  <neilc@samurai.com>
82460
82461         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
82462         returned by OSX/Darwin if the specified buffer is not large
82463         enough for the hostname.
82464
82465 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82466
82467         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
82468         pass it to _help, otherwise the latter coredumps trying to
82469         dereference state.root_argp.
82470
82471 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82472
82473         * modules/chdir-long (Depends-on): Add memrchr.
82474         * modules/memrchr (Files): Add lib/memrchr.h.
82475         (Include): "memrchr.h".
82476
82477 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82478
82479         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
82480
82481 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82482
82483         * lib/memrchr.h: New file.
82484         * lib/chdir-long.c: Include it.
82485         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
82486         Don't bother including stddef.h.
82487
82488 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
82489
82490         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
82491         inclusion.
82492         Include <sys/types.h>, for dev_t.
82493         (ME_DUMMY, ME_REMOTE): Move from here....
82494         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
82495         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
82496         Dmitry V. Levin.
82497         Include mountlist.h first, to test the interface.
82498
82499 2005-01-29  Bruno Haible  <bruno@clisp.org>
82500
82501         * lib/progname.c (program_name): Initialize.
82502         Needed when linking statically on MacOS X.
82503
82504 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82505
82506         Sync from coreutils.
82507         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
82508         (Depends-on): Add c-strtod.
82509         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
82510
82511 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82512
82513         Sync from coreutils.
82514         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
82515
82516         Remove files that are specific to coreutils.
82517         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
82518
82519 2005-01-28  Bruno Haible  <bruno@clisp.org>
82520
82521         * modules/javacomp: New file.
82522         * MODULES.html.sh (Java): Add javacomp.
82523
82524 2005-01-28  Bruno Haible  <bruno@clisp.org>
82525
82526         * m4/javacomp.m4: New file, from GNU gettext.
82527
82528 2005-01-28  Bruno Haible  <bruno@clisp.org>
82529
82530         * lib/javacomp.sh.in: New file, from GNU gettext.
82531         * lib/javacomp.h: New file, from GNU gettext.
82532         * lib/javacomp.c: New file, from GNU gettext.
82533
82534 2005-01-26  Simon Josefsson  <jas@extundo.com>
82535
82536         * lib/gai_strerror.c: Use GPL in header.
82537
82538 2005-01-26  Bruno Haible  <bruno@clisp.org>
82539
82540         * modules/javaexec: New file.
82541         * MODULES.html.sh (Java): Add javaexec.
82542
82543 2005-01-26  Bruno Haible  <bruno@clisp.org>
82544
82545         * m4/javaexec.m4: New file, from GNU gettext.
82546
82547 2005-01-26  Bruno Haible  <bruno@clisp.org>
82548
82549         * lib/javaexec.sh.in: New file, from GNU gettext.
82550         * lib/javaexec.h: New file, from GNU gettext.
82551         * lib/javaexec.c: New file, from GNU gettext.
82552
82553 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82554
82555         * modules/lchown (Depends-on): Remove lchown.h
82556
82557 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82558
82559         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
82560         must be defined if the header file was not found, in order
82561         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
82562
82563 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82564
82565         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
82566         initializers for struct pentry_state.
82567         (__argp_error): Check return value of __asprintf
82568         (__argp_failure): Translate error message
82569
82570         * lib/argp-parse.c: Removed braces around the expansion of N_()
82571
82572 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82573
82574         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
82575         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
82576         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
82577         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
82578         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
82579         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
82580         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
82581         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
82582         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
82583         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
82584         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
82585         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
82586         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
82587         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
82588         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
82589         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
82590         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
82591         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
82592         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
82593         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
82594         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
82595         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
82596         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
82597         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
82598         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
82599         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
82600         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
82601         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
82602         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
82603         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
82604         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
82605         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
82606         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
82607         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
82608         xstrtol.m4, xstrtoumax.m4, yesno.m4:
82609         Use an all-permissive copyright notice, recommended by RMS.
82610
82611 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
82612
82613         * modules/chdir-long (Depends-on): Remove mempcpy.
82614
82615 2005-01-21  Jim Meyering  <jim@meyering.net>
82616
82617         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
82618         same value as for Solaris 9.
82619
82620         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
82621         component length.  This included changing the parameter to be
82622         of type `char *' rather than `char const *'.
82623         * lib/chdir-long.h (chdir_long): Update prototype.
82624
82625         * lib/openat.c (fdopendir, fstatat): New functions.
82626         * lib/openat.h: Include headers required for use of DIR and struct
82627         stat.
82628         [AT_SYMLINK_NOFOLLOW]: Define.
82629         (fdopendir, fstatat): Add prototypes.
82630
82631 2005-01-21  Bruno Haible  <bruno@clisp.org>
82632
82633         * modules/classpath: New file.
82634         * MODULES.html.sh (Java): Add classpath.
82635
82636 2005-01-21  Bruno Haible  <bruno@clisp.org>
82637
82638         * lib/classpath.h: New file, from GNU gettext.
82639         * lib/classpath.c: New file, from GNU gettext.
82640
82641 2005-01-20  Simon Josefsson  <jas@extundo.com>
82642
82643         * modules/version-etc-fsf: New file.
82644
82645 2005-01-20  Simon Josefsson  <jas@extundo.com>
82646
82647         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
82648         * lib/version-etc.c: Remove version_etc_copyright.
82649         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
82650         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
82651
82652 2005-01-20  Simon Josefsson  <jas@extundo.com>
82653
82654         * lib/base64.h (isbase64): Add.
82655
82656         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
82657         using a unsigned prototype, don't inline.
82658         (base64_decode): Use it.
82659
82660 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82661
82662         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
82663         it.
82664
82665 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82666
82667         * lib/save-cwd.c (save_cwd): Remove code to support the case
82668         where fchdir is missing or flaky.
82669
82670 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82671
82672         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
82673
82674 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82675
82676         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
82677         AC_LIBSOURCES now does this.
82678         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82679         with new ullong_max module.
82680
82681 2005-01-19  Bruno Haible  <bruno@clisp.org>
82682
82683         * modules/sh-quote: New file.
82684         * MODULES.html.sh (Executing programs): Add sh-quote.
82685
82686 2005-01-19  Bruno Haible  <bruno@clisp.org>
82687
82688         * lib/sh-quote.h: New file, from GNU gettext.
82689         * lib/sh-quote.c: New file, from GNU gettext.
82690
82691 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82692
82693         Merge from coreutils.
82694         * m4/ullong_max.m4: New file.
82695         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82696         (gl_MACROS): Assume localeconv exists.
82697
82698 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82699
82700         Merge changes from coreutils, as described below in several
82701         changelogs dated today.
82702
82703         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82704         (O_DIRECTORY): Remove; not needed here, since "." must be
82705         a directory.  All uses removed.
82706         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82707         universal on Suns, and we also need to test for IRIX.
82708         Revamp code to use 'if' rather than '#if'.
82709         Avoid unnecessary comparison of cwd->desc to 0.
82710
82711         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82712         for known valid error numbers rather than observed invalid ones.
82713
82714 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82715
82716         * modules/ullong_max: New file.
82717
82718         * modules/chdir-long, modules/openat: New files.
82719         * modules/save-cwd (Depends-on): Depend on chdir-long.
82720         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82721
82722 2005-01-18  Jim Meyering  <jim@meyering.net>
82723
82724         Merge from coreutils.
82725         * m4/chdir-long.m4, m4/openat.m4: New files.
82726         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82727         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82728         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82729         is sane and DOES follow symlinks.  Besides, testing 20 different
82730         systems found no broken chown implementations.
82731         Prompted by a change in rsync's copy of this macro.
82732         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82733
82734         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82735
82736         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82737         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82738         NULL-means-set-to-current-time semantics.
82739         Remove temporary file immediately, rather than waiting
82740         for configure's at-exit trap code to do it.
82741
82742 2005-01-18  Jim Meyering  <jim@meyering.net>
82743
82744         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82745
82746         * lib/utimens.c (futimens): Account for the fact that futimes
82747         can also fail with errno == ENOSYS or errno == ENOENT.
82748         Patch from Dmitry V. Levin.
82749
82750         Change the name of the robust chdir function from chdir to chdir_long.
82751         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82752         (restore_cwd): Use chdir_long, not chdir.
82753         * lib/chdir-long.c: Renamed from chdir.c.
82754         * lib/chdir-long.h: Renamed from chdir.h.
82755         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82756         Hurd.
82757
82758 2005-01-18  Bruno Haible  <bruno@clisp.org>
82759
82760         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82761         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82762         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82763         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82764         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82765         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82766         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82767         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82768         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82769         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82770         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82771         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82772         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82773         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82774         Use an all-permissive copyright notice, recommended by RMS.
82775
82776 2005-01-18  Bob Proulx  <bob@proulx.com>
82777
82778         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82779         simplify offsetof() macro construct to avoid compile failure with
82780         native HP-UX 11.0 ANSI C compiler.
82781
82782 2005-01-17  Bruno Haible  <bruno@clisp.org>
82783
82784         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82785         redundant because stpncpy.m4 takes care of it.
82786
82787 2005-01-17  Bruno Haible  <bruno@clisp.org>
82788
82789         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82790
82791 2005-01-17  Bruno Haible  <bruno@clisp.org>
82792
82793         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82794         used.
82795
82796 2005-01-17  Bruno Haible  <bruno@clisp.org>
82797
82798         * lib/fwriteerror.h (fwriteerror): Change specification to include
82799         fclose.
82800         * lib/fwriteerror.c: Include <stdbool.h>.
82801         (fwriteerror): At the end, close the file stream. Record whether
82802         stdout was already closed.
82803
82804 2005-01-17  Bruno Haible  <bruno@clisp.org>
82805
82806         * lib/execute.c (environ): Declare if needed.
82807         * lib/pipe.c (environ): Likewise.
82808         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82809
82810 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82811
82812         * modules/argp: Depend on vsnprintf
82813
82814 2005-01-10  Jim Meyering  <jim@meyering.net>
82815
82816         * modules/closeout (Depends-on): Add atexit.
82817
82818 2005-01-06  Bruno Haible  <bruno@clisp.org>
82819
82820         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
82821
82822 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82823
82824         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
82825         definitions to be after all include files, to avoid collisions.
82826         Problem reported by Bob Proulx.
82827
82828 2005-01-04  Jim Meyering  <jim@meyering.net>
82829
82830         Changes imported from coreutils.
82831         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
82832         as the mkstemp template, use a temporary directory and an
82833         8.3-friendly template to avoid trouble on systems like DJGPP.
82834         Reported by Juan M. Guerrero via Stepan Kasal.
82835         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
82836         close. Remove the temporary directory right away, rather than waiting
82837         for configure's at-exit trap code to do it.
82838         Suggestion from Stepan Kasal.
82839
82840 2005-01-01  Simon Josefsson  <jas@extundo.com>
82841
82842         * gnulib-tool: Print #include directives when --import'ing.
82843
82844 2004-12-28  Simon Josefsson  <jas@extundo.com>
82845
82846         * tests/test-base64.c: Include required header files.  Remove
82847         unused variables.
82848
82849 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82850
82851         * modules/error (Depends-on): Remove gettext.
82852
82853 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82854
82855         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82856         not needed.  This removes a dependency on the gettext module.
82857         [defined _LIBC]: Do not include <libintl.h>; not needed.
82858
82859 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82860
82861         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82862         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82863
82864 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82865
82866         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82867         HAVE_DECL_STRTOLD.
82868
82869 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82870
82871         * modules/getdate (Depends-on): Remove alloca-opt.
82872
82873 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82874
82875         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82876
82877 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82878
82879         * lib/argp-parse.c: Include <stddef.h>.
82880         (alignof, alignto): New macros.
82881         (parser_init): Don't assume that void * is aligned sufficiently
82882         for struct option.
82883
82884         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82885         need to extend the stack.
82886         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82887         large.
82888
82889 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82890
82891         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82892
82893 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82894
82895         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82896         (2004-10-24) change.  Apparently this was a false alarm.
82897
82898         * modules/getdate: Depend on alloca-opt, not alloca.
82899
82900 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82901
82902         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82903         Remove now-obsolete comment about AIX.
82904         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82905         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82906         (YYMAXDEPTH): New macro.
82907
82908 2004-12-18  Simon Josefsson  <jas@extundo.com>
82909
82910         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82911
82912 2004-12-18  Bruno Haible  <bruno@clisp.org>
82913
82914         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82915
82916 2004-12-18  Bruno Haible  <bruno@clisp.org>
82917
82918         * lib/fatal-signal.c (fatal_signals): Make non-const.
82919         (init_fatal_signals): New function.
82920         (uninstall_handlers, install_handlers): Ignore signals that were set to
82921         SIG_IGN.
82922         (at_fatal_signal): Call init_fatal_signals.
82923         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82924         SIG_IGN.
82925         Reported by Paul Eggert.
82926
82927 2004-12-18  Bruno Haible  <bruno@clisp.org>
82928
82929         * doc/alloca.texi: New file.
82930         * doc/alloca-opt.texi: New file.
82931
82932 2004-12-17  Jim Meyering  <jim@meyering.net>
82933
82934         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82935         Otherwise, install-sh could exit with improper exit status when
82936         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82937
82938 2004-12-16  Simon Josefsson  <jas@extundo.com>
82939
82940         * tests/test-base64.c: Add license.
82941
82942 2004-12-15  Stepan Kasal  <address@hidden>
82943
82944         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82945
82946 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82947
82948         * modules/getcwd (Files): Add m4/d-ino.m4.
82949         Suggested by Mark D. Baushke.
82950
82951 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82952
82953         * lib/getdate.y (textint): New member "negative".
82954         (time_zone_hhmm): New function.
82955         Expect 14 shift-reduce conflicts, not 13.
82956         (o_colon_minutes): New rule.
82957         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82958         (yylex): Set the "negative" member of signed numbers.
82959
82960 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82961
82962         * doc/getdate.texi (Time of day items, Time zone items):
82963         Describe new formats +00:00, UTC+00:00.
82964
82965 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82966
82967         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
82968         spurious "-l"s.  Problem reported by Stepan Kasal.
82969
82970 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
82971
82972         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
82973         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
82974
82975 2004-12-04  Simon Josefsson  <jas@extundo.com>
82976
82977         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
82978         Vandoorselaere <yoann@prelude-ids.org>.
82979
82980 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82981
82982         Changes imported from coreutils.
82983         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
82984         exist.
82985         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
82986
82987 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82988
82989         Changes imported from coreutils.
82990         * lib/hard-locale.c: Assume <locale.h> exists.
82991         Include "strdup.h".
82992         (GLIBC_VERSION): New macro.
82993         (hard_locale): Assume setlocale exists.
82994         Rewrite to avoid #ifdef.
82995         Use strdup rather than malloc + strcpy.
82996         * lib/human.c: Assume <locale.h> exists.
82997         (human_readable): Assume localeconv exists.
82998
82999 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83000
83001         * modules/hard-locale (Depends-on): Add strdup.
83002
83003 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
83004
83005         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
83006         convert T2, not T.  (Imported from libc.)
83007
83008 2004-11-30  Simon Josefsson  <jas@extundo.com>
83009
83010         * modules/restrict (License): Change to LGPL.
83011
83012 2004-11-30  Simon Josefsson  <jas@extundo.com>
83013
83014         * m4/restrict.m4: Add copyright and copying conditions.
83015
83016 2004-11-30  Simon Josefsson  <jas@extundo.com>
83017
83018         * m4/base64.m4: New file.
83019
83020 2004-11-30  Simon Josefsson  <jas@extundo.com>
83021
83022         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
83023         base64.
83024
83025         * tests/test-base64.c: New file.
83026
83027         * modules/base64: New file.
83028
83029 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83030
83031         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
83032         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
83033
83034         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
83035
83036 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83037
83038         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
83039         (__getcwd.c): Don't restore errno; glibc doesn't.
83040         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
83041         first, falling back to our code only if its results look suspicious.
83042         Ensure that the resulting buffer is only as large as necessary.
83043
83044         * lib/readutmp.c: Include readutmp.h first.
83045         Include <errno.h>, since readutmp.h no longer does that.
83046         * lib/readutmp.h: Don't include <errno.h>,
83047         <sys/param.h>, <time.h>; not needed to establish interface.
83048         (errno): Remove decl.
83049         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
83050         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
83051         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
83052
83053 2004-11-28  Simon Josefsson  <jas@extundo.com>
83054
83055         * lib/base64.h, base64.c: New file.
83056
83057 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
83058
83059         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
83060
83061 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
83062
83063         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
83064         (Depends-on): Remove pathmax, same.  Add mempcpy.
83065         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
83066         (Makefile.am): Append getcwd.h to lib_SOURCES.
83067         (Include): Add getcwd.h.
83068         (Maintainer): Change from Jim Meyering to "all, glibc",
83069         since getdate now uses intended-for-glibc code.
83070         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
83071         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
83072
83073 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83074
83075         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
83076         HP's ANSI C compiler.
83077         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
83078         Declaring int functions causes warnings on some modern systems and
83079         shouldn't be needed to compile on ancient ones.
83080         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
83081         defined.
83082
83083         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
83084         with the following changes.
83085         (__set_errno): Parenthesize properly.
83086         Include <stdbool.h>.
83087         (MIN, MAX, MATCHING_INO): New macros.
83088         (__getcwd): Define with prototype, not K&R form.
83089         Use heuristics to allocate default buffer on stack if possible.
83090         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
83091         behavior, and to avoid the PATH_MAX limit when computing
83092         ../../../../...
83093         Use MATCHING_INO to compare inode number to file.
83094         Check for arithmetic overflow in size calculations.
83095         Fix bug in reallocation of dot array that caused getcwd to fail
83096         on directories nested deeper than 75.
83097         Be more careful about saving errno on error.
83098         Do not use realloc; use only free+malloc, as this is a bit
83099         more flexible and avoids a needless copy operation.
83100         Do not inspect st_dev and st_ino for symbolic links; POSIX
83101         doesn't specify the latter.
83102         Check for closedir errors.
83103         Avoid needless casts.
83104         Use "#ifdef weak_alias" around weak_alias, to be like other
83105         glibc code.
83106         The following changes to getcwd.c have effect only when used in
83107         gnulib; they have no effect inside glibc proper.
83108         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
83109         as alloca isn't used.
83110         (alloca, __alloca): Likewise.
83111         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
83112         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
83113         unconditionally, as gnulib assumes C89 or better.
83114         Do not include <sys/param.h>.
83115         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
83116         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
83117         better.
83118         (NULL) [!defined NULL]: Remove; we assume C89 or better.
83119         Include <dirent.h> in a way that is compatible with modern Autoconf.
83120         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
83121         New macros, if not already defined.
83122         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
83123         Use "_LIBC", not "defined _LIBC", for consistency.
83124         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
83125         a mempcpy module.
83126         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
83127         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
83128         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
83129         credit only to Jim Meyering and adjust the copyright dates.
83130         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
83131         <stdlib.h>, <unistd.h>, "pathmax.h".
83132         Instead, include "xgetcwd.h" (first) and "getcwd.h".
83133         (INITIAL_BUFFER_SIZE): Remove.
83134         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
83135
83136 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83137
83138         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
83139         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
83140         Use the _ONCE methods, for efficiency.
83141         Check for fcntl.h.  In test program, include <errno.h>
83142         and <fcntl.h> if available.  Remove old K&R cruft from
83143         test program.  Check for common errors in GNU/Linux,
83144         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
83145         don't do AC_LIBOBJ, as that's getcwd.m4's job.
83146         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
83147         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
83148         name accordingly.
83149         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
83150         accommodate new getcwd.c.
83151         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
83152         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
83153         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
83154         that's all we need now.
83155
83156 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83157
83158         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
83159         argp-parse.c depends on getopt internals, that means we should
83160         always use our getopt, to be on the safe side.
83161         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
83162         order not to spoil the result of an eventual previous invocation
83163         of gl_GETOPT_SUBSTITUTE.
83164
83165 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83166
83167         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
83168         redefinition warnings. To avoid them, include the defines
83169         in `#if !defined __need_getopt ... #endif'. The only place
83170         where __getopt_argv_const is used is in definitions
83171         of getopt_long and getopt_long_only below, which are as well
83172         protected by `#ifndef __need_getopt'.
83173         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
83174         __need_getopt after including <stdio.h> and <unistd.h> These
83175         headers might have defined it.
83176
83177 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83178
83179         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
83180
83181 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83182
83183         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
83184         (futimens): New function, which uses futimes if available.
83185         (futimens, utimens): Support timespec==NULL, with same semantics
83186         as utime and utimens.
83187         * lib/utimens.h (futimens): New decl.
83188
83189 2004-11-23  Jim Meyering  <jim@meyering.net>
83190
83191         * lib/getopt_.h: Remove trailing blanks.
83192
83193 2004-11-23  Jim Meyering  <jim@meyering.net>
83194
83195         * lib/__fpending.c: Add comment.
83196
83197 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
83198
83199         * modules/canonicalize (Depends-on): Add xreadlink.
83200         Problem reported by James Youngman.
83201
83202 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
83203
83204         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
83205         New macros.
83206         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
83207         optopt): Use them instead of invoking ## directly; otherwise, the
83208         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
83209
83210 2004-11-19  Bruno Haible  <bruno@clisp.org>
83211
83212         * lib/strtok_r.c: Move comments from here...
83213         * lib/strtok_r.h: ... to here.
83214
83215 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83216
83217         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
83218         implementations that mishandle size_t overflow.
83219
83220 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83221
83222         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
83223         might fail.  Problem reported by Yoann Vandoorselaere.
83224         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
83225         implementations that mishandle size_t overflow.
83226
83227 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83228
83229         * modules/canon-host (Depends-on): Add strdup.
83230
83231 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83232
83233         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
83234
83235 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83236
83237         * lib/canon-host.c: Include "strdup.h".
83238         (canon_host): Use getaddrinfo if available, so that IPv6 works.
83239         Use strdup instead of malloc/strcpy to duplicate strings.
83240
83241         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
83242         (human_space_before_unit): New constant.
83243         * lib/human.c (human_readable): Support it.
83244
83245         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
83246         (xgetcwd): Set errno correctly when failing.
83247         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
83248         the failure is actually due to a PATH_MAX problem.
83249
83250         Further getopt changes to make it more likely that glibc will
83251         buy the changes back.
83252         * lib/getopt.c (POSIXLY_CORRECT): New constant.
83253         (getopt): Use it, so to preserve glibc semantic
83254         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
83255         when compiling for libc.
83256         * lib/getopt_.h (__getopt_argv_const): Bring it back.
83257         (getopt_long, getopt_long_only): Use it.
83258
83259         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83260         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
83261         (getopt): Argv is now char * const *, as per standard.
83262         (_getopt_internal_r, _getopt_internal): Argv is now char **,
83263         not char *__getopt_argv_const *.
83264         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83265         _getopt_long_only_r): Likewise.
83266         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
83267         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83268         _getopt_long_r, _getopt_long_only_r): Likewise.
83269         * lib/getopt_.h (__getopt_argv_const): Remove.
83270         (getopt): Argv is now char * const *, as per standard.
83271
83272         * lib/getdate.y (tORDINAL): New token.
83273         (day, relunit): Allow it for relative times.
83274         (relative_time_table): Use tORDINAL for ordinals.
83275
83276 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83277
83278         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
83279         Document that "second" isn't allowed as an ordinal number.
83280
83281 2004-11-16  Jim Meyering  <jim@meyering.net>
83282
83283         * modules/closeout (Depends-on): Add fpending.
83284
83285 2004-11-15  Jim Meyering  <jim@meyering.net>
83286
83287         * lib/closeout.c: Include "__fpending.h" once again.
83288         Include <stdbool.h>.
83289         (close_stdout): Don't fail just because stdout was closed initially,
83290         since some programs don't write to stdout in the normal course of
83291         operation (other than --version and --help), and we don't want this
83292         function to make e.g. `touch file >&-' fail.
83293         But do fail if it was closed and someone has tried to write to it.
83294         E.g., `printf foo >&-' must fail.
83295
83296 2004-11-13  Jim Meyering  <jim@meyering.net>
83297
83298         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
83299
83300 2004-11-12  Simon Josefsson  <jas@extundo.com>
83301
83302         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
83303         small doc fix is still pending.
83304
83305 2004-11-11  Simon Josefsson  <jas@extundo.com>
83306
83307         * modules/strtok_r: New file.
83308
83309         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83310         strtok_r.
83311
83312 2004-11-11  Simon Josefsson  <jas@extundo.com>
83313
83314         * m4/strtok_r.m4: New file.
83315
83316         * m4/getopt.m4: Replace opterr.
83317
83318 2004-11-11  Simon Josefsson  <jas@extundo.com>
83319
83320         * lib/strtok_r.h, strtok_r.c: New file.
83321
83322 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83323
83324         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
83325         of replacing opterr, getopt, etc.  This should handle the
83326         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
83327
83328 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83329
83330         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
83331         we can stop lying to compilers about the constness of argv when we
83332         are compiled outside glibc.
83333         (getopt, getopt_long, getopt_long_only): Use it.
83334         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83335         _getopt_internal, getopt): Likewise.
83336         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83337         _getopt_long_only_r): Likewise.
83338         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83339         _getopt_long_r, _getopt_long_only_r): Likewise.
83340
83341         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
83342         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
83343         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
83344         the other external symbols.
83345         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
83346         declaration, since the above renaming now works around collisions.
83347
83348 2004-11-11  Jim Meyering  <jim@meyering.net>
83349
83350         * lib/linebreak.c: Remove trailing blanks.
83351         * lib/alloca_.h: Likewise.
83352         * lib/acosl.c: Likewise.
83353         * lib/euidaccess.c: Likewise.
83354         * lib/allocsa.h: Likewise.
83355
83356 2004-11-10  Simon Josefsson  <jas@extundo.com>
83357
83358         * m4/getaddrinfo.m4: New file.
83359
83360 2004-11-10  Simon Josefsson  <jas@extundo.com>
83361
83362         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
83363
83364 2004-11-10  Simon Josefsson  <jas@extundo.com>
83365
83366         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83367         getaddrinfo.
83368
83369         * modules/getaddrinfo: New file.
83370
83371 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83372
83373         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
83374
83375 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83376
83377         * lib/mktime.c (SHR): New macro, which is a portable
83378         substitute for >> that should work even on Crays.
83379         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
83380         Problem reported by Mark D. Baushke in
83381         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
83382         * lib/getdate.y (SHR): Likewise.
83383         (tm_diff): Use it.
83384         * lib/strftime.c (SHR): Likewise.
83385         (tm_diff): Use it.
83386         * lib/quotearg.c (struct quoting_options): Use unsigned int for
83387         quote_these_too, so that right shifts are well defined.  All uses
83388         changed.
83389
83390 2004-11-10  Jim Meyering  <jim@meyering.net>
83391
83392         Ensure that no close failure goes unreported.
83393         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
83394         return early when it seems there's nothing to flush.
83395         Don't include __fpending.h.
83396
83397 2004-11-10  Jim Meyering  <jim@meyering.net>
83398
83399         * modules/closeout (Depends-on): Remove fpending.
83400
83401 2004-11-10  Jim Meyering  <jim@meyering.net>
83402
83403         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
83404
83405 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83406
83407         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
83408         gl_FUNC_STRFTIME.
83409         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
83410         and AC_REQUIRE when possible, to avoid duplicate checks.
83411         Check for <wchar.h>.
83412
83413 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83414
83415         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
83416
83417 2004-11-09  Bruno Haible  <bruno@clisp.org>
83418
83419         * m4/sockpfaf.m4: New file.
83420
83421 2004-11-05  Bruno Haible  <bruno@clisp.org>
83422
83423         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
83424         Reported by Mark D. Baushke <mdb@cvshome.org>.
83425
83426 2004-11-04  Bruno Haible  <bruno@clisp.org>
83427
83428         2004-09-11  Bruno Haible  <bruno@clisp.org>
83429                 * allocsa.valgrind: New file.
83430         2004-02-06  Bruno Haible  <bruno@clisp.org>
83431                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
83432                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
83433                 Reported by Christopher Seip <chris.seip@hp.com>.
83434
83435 2004-11-04  Bruno Haible  <bruno@clisp.org>
83436
83437         * modules/allocsa (Files): Add lib/allocsa.valgrind.
83438         (Makefile.am): Distribute it.
83439
83440 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
83441
83442         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
83443         with errno == ERANGE if the buffer is too small.
83444         Problem reported by Mark D. Baushke.
83445
83446 2004-11-03  Albert Chin  <china@thewrittenword.com>
83447             Paul Eggert  <eggert@cs.ucla.edu>
83448
83449         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
83450         equivalent, substitute $ac_type for equivalent type rather than
83451         blindly using uint32_t *always* which won't work if uint32_t is not
83452         available.  Define _UINT32_T to work around typedef of uint32_t if
83453         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
83454         2.5.1.
83455
83456 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83457
83458         * m4/jm-macros.m4: Sync from coreutils.
83459         (gl_MACROS): Check for mbrlen, for pathchk.
83460         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
83461
83462 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83463
83464         * lib/xreadlink.c (MAXSIZE): New macro.
83465         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
83466         size does not exceed MAXSIZE.  Avoid cast.
83467         As suggested by Mark D. Baushke in
83468         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
83469         if readlink fails with buffer size just under MAXSIZE, try again
83470         with MAXSIZE.
83471
83472 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83473
83474         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
83475
83476 2004-11-02  Derek R. Price  <derek@ximbiot.com>
83477         and  Paul Eggert  <eggert@cs.ucla.edu>
83478
83479         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
83480         (get_date): Overparenthesize to avoid GCC warning.
83481
83482 2004-11-02  Bruno Haible  <bruno@clisp.org>
83483
83484         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
83485         returns void.
83486
83487 2004-11-02  Bruno Haible  <bruno@clisp.org>
83488
83489         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
83490         function returns void.
83491
83492 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83493
83494         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
83495         fflush_unlocked, flockfile, funlockfile, funlockfile,
83496         fputs_unlocked, putc_unlocked.
83497
83498 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83499
83500         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83501         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
83502         already declared.
83503
83504 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83505
83506         * modules/getdate (Files): Add doc/getdate.texi.
83507         (Depends-on): Add setenv, xalloc.
83508
83509 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83510
83511         * lib/getdate.y: Add support for TZ="foo" within a date string.
83512         Fix some bugs near time_t boundaries.  Reject dates with
83513         out-of-range components, e.g., "Sept 31".
83514         Include <stdlib.h>, "setenv.h", "xalloc.h".
83515         (ISDIGIT_LOCALE): Remove; unused.
83516         Note that the TZ and time functions used here are not reentrant.
83517         (mktime_ok, get_tz): New functions.
83518         (TZBUFSIZE): New constant.
83519         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
83520         This requires that we sometimes generate our own TZ="XXX..." setting.
83521
83522 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83523
83524         * doc/getdate.texi: New file, from coreutils with modifications for
83525         the new TZ parsing.
83526
83527 2004-10-27  Derek R. Price  <derek@ximbiot.com>
83528
83529         * lib/mktime.c (not_equal_tm): Remove redundant check.
83530
83531 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83532
83533         * modules/regex (lib_SOURCES): Add regex.c.
83534         Reported by James Youngman in
83535         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
83536
83537 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83538
83539         * lib/getdate.y: Use Bison 1.875 features, and some minor
83540         code cleanups.  This change does not affect semantics.
83541         Don't include <stdlib.h>; no longer needed.
83542         Don't include unlocked-io.h; only the "#if TEST" code uses
83543         stdio, and performance isn't crucial there.
83544         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
83545         Bison 1.875 features as described below.
83546         All uses of "PC." replaced by "pc->".
83547         (YYSTYPE): Add a forward declaration.
83548         (yylex, yyerror): Use full prototypes in forward decls.
83549         Use "%pure-parser" rather than obsolescent "%pure_parser".
83550         Use %parse-param and %lex-param instead of obsolescent
83551         YYPARSE_PARAM and YYLEX_PARAM.
83552         (meridian_table, month_and_day_table, time_units_table,
83553         relative_time_table, time_zone_table, military_table,
83554         lookup_zone, lookup_word, get_date):
83555         Use NULL instead of 0 where appropriate.
83556         (to_hour): Avoid abort (), to avoid a dependency on
83557         stdlib.h.
83558         (yyerror, yylex): Now accepts parser_control * arg.
83559         (main) [TEST]: Use '\0' rather than 0 for char.
83560
83561 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83562
83563         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
83564
83565 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83566
83567         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
83568         It's now the caller's responsibility to handle the case where
83569         !HAVE_GETPAGESIZE && !defined getpagesize.
83570
83571         * lib/mktime.c (leapyear): Arg is long int, not int.
83572
83573 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
83574
83575         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
83576
83577 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83578
83579         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
83580         missing.  Problem reported by James Youngman.
83581
83582 2004-10-16  Simon Josefsson  <jas@extundo.com>
83583
83584         * gnulib-tool: Fix comments.  Fix parse problem.
83585         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
83586
83587 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
83588
83589         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
83590         implementation of getopt_long.  Problem reported by Alexander Taler in:
83591         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
83592
83593 2004-10-15  Bruno Haible  <bruno@clisp.org>
83594
83595         * gnulib-tool: Untabify. Initialize supplied_libname.
83596         (func_usage): More homogenous output.
83597         (func_modules_transitive_closure, func_modules_to_filelist,
83598         func_emit_lib_Makefile_am): New functions.
83599         (func_import): New function, extracted from big case statement. Use
83600         func_get_license, func_modules_transitive_closure,
83601         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
83602         opt_lgpl. Don't use test -a, as it's not portable.
83603         (func_create_testdir): Use func_modules_transitive_closure,
83604         func_modules_to_filelist, func_emit_lib_Makefile_am.
83605
83606 2004-10-15  Bruno Haible  <bruno@clisp.org>
83607
83608         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
83609
83610 2004-10-15  Bruno Haible  <bruno@clisp.org>
83611
83612         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
83613         the portions belonging to each module.
83614         Suggested by Derek Robert Price <derek@ximbiot.com>.
83615
83616 2004-10-12  Simon Josefsson  <jas@extundo.com>
83617
83618         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83619         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
83620         to real functions.
83621
83622 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83623
83624         * modules/vsnprintf: New file.
83625
83626 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83627
83628         * m4/vsnprintf.m4: New file.
83629
83630 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83631
83632         * lib/vsnprintf.h: New file.
83633         * lib/vsnprintf.c: New file.
83634
83635 2004-10-11  Bruno Haible  <bruno@clisp.org>
83636
83637         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
83638         vsnprintf.
83639
83640 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83641
83642         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
83643
83644 2004-10-07  Bruno Haible  <bruno@clisp.org>
83645
83646         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
83647         fits into the provided buffer.
83648
83649 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83650
83651         * lib/diacrit.c, diacrit.h: Add GPL notice.
83652
83653         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
83654         notice.
83655         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
83656         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
83657         This avoids a potential constant-folding bug.
83658
83659 2004-10-05  Bruno Haible  <bruno@clisp.org>
83660
83661         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
83662         for the declaration of strsep.
83663
83664 2004-10-05  Bruno Haible  <bruno@clisp.org>
83665
83666         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
83667
83668 2004-10-04  Simon Josefsson  <jas@extundo.com>
83669
83670         * modules/memmem: New file.
83671         * tests/test-memmem.c: New file.
83672         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
83673
83674 2004-10-04  Simon Josefsson  <jas@extundo.com>
83675
83676         * m4/memmem.m4: New file.
83677
83678 2004-10-04  Simon Josefsson  <jas@extundo.com>
83679
83680         * lib/memmem.h: New file.
83681         * lib/memmem.c: New file, taken from glibc.
83682
83683 2004-10-04  Simon Josefsson  <jas@extundo.com>
83684
83685         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83686         '#ifdef USE_UNLOCKED_IO'.
83687
83688 2004-10-04  Simon Josefsson  <jas@extundo.com>
83689
83690         * config/srclist.txt: Add memmem from glibc.
83691
83692 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83693
83694         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83695
83696         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83697         modules/exclude, modules/getdate, modules/getline,
83698         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83699         modules/getusershell, modules/linebuffer, modules/md5,
83700         modules/mountlist, modules/posixtm, modules/readtokens,
83701         modules/readutmp, modules/regex, modules/sha1,
83702         modules/version-etc, modules/yesno:
83703         Remove dependency on unlocked-io.
83704
83705 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83706
83707         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83708
83709         * m4/unlocked-io.m4: Add copyright notice.
83710         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83711
83712 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83713
83714         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83715         * lib/xmalloc.c (xmemdup): Likewise.
83716         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83717         XFREE): Remove these long-obsolescent macros.
83718         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83719         * lib/xstrdup.c: Remove.
83720
83721         * lib/regex.c (re_comp): Cast gettext return value to char *,
83722         Problem reported by Martin Neitzel via Mark D. Baushke.
83723
83724 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83725
83726         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83727         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83728         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83729         regex.c, sha1.c, version-etc.c, yesno.c:
83730         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83731         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83732         the includer's responsibility.
83733
83734         Sync from coreutils.
83735
83736         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83737         points to the start of a string, as the C Standard says the
83738         resulting behavior is undefined.
83739
83740         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83741         simple -> simple_backups, numbered_existing ->
83742         numbered_existing_backups, numbered -> numbered_backups
83743         to avoid shadowing problems.  All uses changed.
83744         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83745         * lib/backupfile.c (check_extension, numbered_backup):
83746         Rename locals to avoid shadowing 'basename'.
83747         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83748         once.
83749
83750         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83751         * lib/.cvsignore: Add getopt.h.
83752
83753 2004-10-04  Bruno Haible  <bruno@clisp.org>
83754
83755         * modules/README: New file.
83756         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83757         not a module.
83758
83759 2004-10-02  Jim Meyering  <jim@meyering.net>
83760
83761         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83762
83763 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83764
83765         * modules/strsep: New file.
83766
83767 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83768
83769         * m4/strsep.m4: New file.
83770
83771 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83772
83773         * lib/strsep.h: New file.
83774         * lib/strsep.c: New file.
83775
83776 2004-10-01  Simon Josefsson  <jas@extundo.com>
83777
83778         * lib/snprintf.c (snprintf): Handle size==0.
83779
83780 2004-10-01  Simon Josefsson  <jas@extundo.com>
83781             Bruno Haible  <bruno@clisp.org>
83782
83783         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83784         (snprintf): Declare 'args'.
83785
83786 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83787
83788         * lib/snprintf.c: Remove comments as to why each header is needed.
83789
83790 2004-10-01  Bruno Haible  <bruno@clisp.org>
83791
83792         * MODULES.html.sh: Add strsep.
83793
83794 2004-09-30  Simon Josefsson  <jas@extundo.com>
83795
83796         * modules/snprintf: New file.
83797
83798 2004-09-30  Simon Josefsson  <jas@extundo.com>
83799
83800         * m4/snprintf.m4: New file.
83801
83802 2004-09-30  Simon Josefsson  <jas@extundo.com>
83803
83804         * lib/snprintf.h, lib/snprintf.c: New files.
83805
83806 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83807
83808         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83809         (hol_entry_help): Never translate an empty string.
83810         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83811         * lib/argp.h (OPTION_NO_TRANS): New option.
83812
83813 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83814
83815         * modules/argp (Maintainer): Replace Simon Josefsson
83816         by Sergey Poznyakoff.
83817
83818 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83819
83820         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
83821         changes merged back into glibc.
83822
83823 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83824
83825         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
83826
83827 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83828
83829         * lib/xvasprintf.c: Include xalloc.h.
83830         (xvasprintf): Use xalloc_die, not xmalloc_die.
83831
83832 2004-09-29  Bruno Haible  <bruno@clisp.org>
83833
83834         * modules/alloca-opt: New file, derived from modules/alloca.
83835         * modules/allocsa: Depend on alloca-opt instead of alloca.
83836         * modules/setenv: Likewise.
83837         * modules/vasnprintf: Likewise.
83838         * MODULES.html.sh: Add alloca-opt.
83839
83840 2004-09-28  Simon Josefsson  <jas@extundo.com>
83841
83842         * gnulib-tool: New parameter --lgpl, to asseert that modules are
83843         LGPL, and to replace license template from GPL to LGPL.
83844
83845 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83846
83847         * modules/dummy: Change license to LGPL.
83848
83849 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83850
83851         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83852
83853 2004-09-24  Simon Josefsson  <jas@extundo.com>
83854
83855         * modules/minmax (License): Change from GPL to LGPL.
83856
83857 2004-09-23  Simon Josefsson  <jas@extundo.com>
83858
83859         * gnulib-tool (--import): Typo.
83860
83861 2004-09-23  Simon Josefsson  <jas@extundo.com>
83862
83863         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83864
83865 2004-09-22  Bruno Haible  <bruno@clisp.org>
83866
83867         * modules/*: Add 'License' field.
83868         * gnulib-tool: Accept --extract-license option.
83869         (func_get_license): New function.
83870
83871 2004-09-21  Bruno Haible  <bruno@clisp.org>
83872
83873         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83874         Reported by Simon Josefsson.
83875
83876 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83877
83878         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83879         gl_AC_TYPE_LONG_LONG.
83880
83881 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83882
83883         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83884
83885 2004-09-18  Simon Josefsson  <jas@extundo.com>
83886         and  Paul Eggert  <eggert@cs.ucla.edu>
83887
83888         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83889         calls with autoreconf.  Define GL_LIB.
83890
83891 2004-09-14  Karl Berry  <karl@gnu.org>
83892
83893         * config/srclist.txt: unsync setenv.c, sigh.
83894
83895 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83896
83897         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83898         Problem reported by Bruno Haible in:
83899         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83900
83901 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83902
83903         * config/srclist.txt: Comment out argp-pvh.c.
83904
83905 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83906
83907         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83908         in case some system header has #define'd it.  Problem reported by
83909         Soeren D. Schulze in
83910         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83911
83912 2004-09-09  Karl Berry  <karl@gnu.org>
83913
83914         * regex.[ch]: delete from the root.  These were supposed to be
83915                 synced with emacs cvs, but this has not happened for about
83916                 a year, and anyway nothing else uses emacs regex.[ch].
83917                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83918                 lib/regex[.ch] is untouched.
83919
83920 2004-09-09  Bruno Haible  <bruno@clisp.org>
83921
83922         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83923
83924 2004-09-09  Bruno Haible  <bruno@clisp.org>
83925
83926         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83927         modifications.
83928         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83929
83930 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83931
83932         * modules/xvasprintf: New file.
83933         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83934
83935 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83936
83937         * lib/xvasprintf.h: New file.
83938         * lib/xvasprintf.c: New file.
83939         * lib/xasprintf.c: New file.
83940
83941 2004-09-08  Bruno Haible  <bruno@clisp.org>
83942
83943         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83944
83945 2004-09-08  Bruno Haible  <bruno@clisp.org>
83946
83947         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83948         length is > INT_MAX.
83949         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83950         more.
83951
83952 2004-09-08  Bruno Haible  <bruno@clisp.org>
83953
83954         * lib/stdint_.h: New file, taken from GNU clisp.
83955
83956 2004-09-08  Bruno Haible  <bruno@clisp.org>
83957             Oskar Liljeblad  <oskar@osk.mine.nu>
83958
83959         * modules/stdint: New file.
83960         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
83961
83962 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83963
83964         Import from coreutils.
83965         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
83966         strings on unbounded length.  alloca's performance benefits aren't
83967         that important here.
83968         (V_STRDUP): Remove.
83969         (parse_with_separator): New function, with most of the internals
83970         of the old parse_user_spec.  Allow user to omit both user and group,
83971         for compatibility with FreeBSD.
83972         Clone only the user name, not the entire spec.
83973         Do not set *uid, *gid unless entirely successful.
83974         Avoid memory leak in some failing cases.
83975         Fix regression for USER.GROUP reported by Dmitry V. Levin in
83976         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
83977         (parse_user_spec): Rewrite to use parse_with_separator.
83978
83979 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83980
83981         * modules/userspec: Don't depend on alloca.
83982
83983 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83984
83985         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
83986
83987 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83988
83989         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
83990         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
83991         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
83992
83993 2004-08-16  Simon Josefsson  <jas@extundo.com>
83994
83995         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
83996         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
83997         Add --dry-run for --import.
83998         Let user provided command line parameters override configure.ac
83999         settings.
84000
84001 2004-08-12  Simon Josefsson  <jas@extundo.com>
84002
84003         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
84004         as discussed with Paul Eggert in threads rooted at
84005         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
84006         and
84007         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
84008         Before, the test was empty, and relied on ELIDE_CODE in source
84009         code.)
84010         (gl_PREREQ_GETOPT): New macro.
84011         (gl_GETOPT): Use them.
84012
84013 2004-08-12  Simon Josefsson  <jas@extundo.com>
84014
84015         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
84016         * lib/getopt_.h: Renamed from getopt.h.
84017
84018 2004-08-12  Simon Josefsson  <jas@extundo.com>
84019
84020         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
84021         Change default library name from libfoo to libgnu.
84022         Now, if you have a configure.ac that says:
84023                 gl_SOURCE_BASE(gl)
84024                 gl_M4_BASE(gl/m4)
84025                 gl_MODULES(error getopt etcetera)
84026                 gl_INIT
84027         you can import all you need by running:
84028                 ../gnulib/gnulib-tool --import
84029
84030         * modules/getopt (Files): Rename getopt.h to getopt_.h.
84031         (Makefile.am): Rewrite, use logic from argz.
84032         (Include): Use <getopt.h> instead of "getopt.h".
84033
84034 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84035
84036         * modules/argp (Files): Add m4/unlocked-io.m4.
84037         (Depends-on): Add extensions.
84038
84039 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84040
84041         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
84042         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
84043         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
84044         Check for program_invocation_name, program_invocation_short_name,
84045         flockfile, funlockfile, features.h, _getopt_long_only_r.
84046
84047 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84048
84049         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
84050         its complicated substitute.
84051         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
84052         and program_invocation_name.
84053         (__argp_basename) [!_LIBC]: Remove; the only use was
84054         replaced by its body.
84055         (__argp_short_program_name): Change condition from
84056         !defined __argp_short_program_name to
84057         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
84058         to match argp-namefrob.h.
84059         (__argp_failure): Don't assume strerror_r returns char *.
84060         * lib/argp-parse.c (N_): Define unconditionally.
84061         (argp_default_options): Fill out initializers with 0 to avoid
84062         gcc warnings.
84063
84064 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84065
84066         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
84067         getopt1.c.
84068
84069 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84070
84071         Merge from coreutils.
84072
84073         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
84074
84075         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
84076         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
84077
84078 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84079
84080         Merge from coreutils.
84081
84082         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
84083         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
84084         for Reliant Unix 5.43.
84085
84086         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
84087         (union fooround): Use uintmax_t, not long int.
84088         The rest is a merge from libc:
84089         [defined _LIBC]: Include <shlib-compat.h>.
84090         (_obstack) [defined _LIBC]: Remove after 2.3.4.
84091
84092         * lib/settime.c (settime): Recode to avoid warning with
84093         Sun Forte C 6U2.
84094
84095         * lib/strverscmp.c: Convert to UTF-8.
84096
84097 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84098
84099         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84100         m4/uintmax_t.m4.
84101
84102 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84103
84104         * modules/xalloc-die: New file.
84105         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
84106
84107         * modules/md5 (Files): Add m4/uint32_t.m4.
84108         * modules/sha1: Renamed from modules/sha.
84109         (Files):
84110         Rename lib/sha.h to lib/sha1.h.
84111         Rename lib/sha.c to lib/sha1.c.
84112         Rename m4/sha.m4 to m4/sha1.m4.
84113         (lib_SOURCES): Likewise.
84114         (configure.ac): Rename gl_SHA to gl_SHA1.
84115         (Include): sha.h -> sha1.h.
84116
84117 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84118
84119         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
84120         * m4/sha1.m4: Renamed from sha.m4.
84121         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
84122
84123 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84124
84125         * lib/obstack.h (obstack_empty_p):
84126         Don't assume that chunk->contents is suitably aligned.
84127         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
84128         Likewise. Problem reported by Benno in
84129         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
84130
84131         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
84132         readable.  This could be improved further but it'd take some work.
84133
84134 2004-08-08  Simon Josefsson  <jas@extundo.com>
84135
84136         * modules/xgethostname (Depends-on): Remove exit and error (not
84137         used).
84138
84139         * modules/getpass-gnu: Add getpass.h.
84140         (Depends-on): Add stdbool.
84141         * modules/getpass: Add getpass.h.
84142
84143 2004-08-08  Simon Josefsson  <jas@extundo.com>
84144
84145         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
84146         Check getpass declaration.
84147
84148 2004-08-08  Simon Josefsson  <jas@extundo.com>
84149
84150         * lib/xgethostname.c: Don't include error.h (not used).
84151
84152         * lib/getpass.h: Add.
84153         * lib/getpass.c: Include getpass.h first.
84154
84155 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
84156
84157         * lib/xalloc-die.c: New file.
84158         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
84159         All uses removed.
84160         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
84161         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
84162         xalloc-die.c.
84163         (_, N_, xalloc_die): Move to xalloc-die.c.
84164         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
84165         so that we needn't mess with xalloc_msg_memory_exhausted.
84166
84167         * lib/sha1.h: Renamed from sha.h.
84168         (SHA1_H): Renamed from _SHA_H.
84169         (sha1_ctx): Renamed from sha_ctx.
84170         (sha1_init_ctx): Renamed from sha_init_ctx.
84171         (sha1_process_block): Renamed from sha_process_block.
84172         (sha1_process_bytes): Renamed from sha_process_bytes.
84173         (sha1_finish_ctx): Renamed from sha_finish_ctx.
84174         (sha1_read_ctx): Renamed from sha_read_ctx.
84175         (sha1_stream): Renamed from sha_stream.
84176         (sha1_buffer): Renamed from sha_buffer.
84177         * lib/sha1.c: Likewise; renamed from sha.c.
84178         Do not include <sys/types.h>.
84179         Include <stddef.h> rather than <stdlib.h>.
84180
84181 2004-08-08  Bruno Haible  <bruno@clisp.org>
84182
84183         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
84184         FILESYSTEM_PREFIX_LEN.
84185         * lib/progreloc.c: Likewise.
84186         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
84187
84188 2004-08-06  Simon Josefsson  <jas@extundo.com>
84189
84190         * modules/progname (Depends-on): Don't depend on stdbool.
84191
84192 2004-08-06  Simon Josefsson  <jas@extundo.com>
84193
84194         * modules/getsubopt: New file.
84195         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84196         getsubopt.
84197
84198 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84199
84200         More merge from coreutils.
84201
84202         * m4/utimens.m4, m4/utimecmp.m4: New files.
84203         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
84204         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
84205         prereq.m4, sha.m4: Import changes from coreutils.
84206
84207 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84208
84209         More merge from coreutils.
84210         * modules/raise, modules/readtokens0, modules/utimens:
84211         * modules/utimecmp, module/xnanosleep: New files.
84212         * modules/strftime: Add lib/strftime.h.
84213         Change include from <time.h> to "strftime.h".
84214         * modules/yesno: Add lib/yesno.h.
84215         * modules/backupfile: Remove lib/addext.c.
84216         * modules/euidaccess: Add stat-macros.h.
84217         * modules/canonicalize, modules/euidaccess,
84218         modules/filemode, modules/lchown, modules/makepath,
84219         modules/rmdir, modules/stat: Likewise.
84220
84221 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84222
84223         Merge from tar.
84224         * lib/argp-help.c (make_hol, hol_append): Don't assume that
84225         SIZE_MAX is a valid preprocessor constant.
84226         (__argp_basename): Change from "#ifndef _LIBC"
84227         to "#ifndef __argp_short_program_name", so that
84228         we don't compile these functions for tar.
84229
84230         More merges from coreutils.
84231         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
84232         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
84233         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
84234         * lib/addext.c: Remove; no longer needed.
84235         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
84236         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
84237         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
84238         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
84239         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
84240         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
84241         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
84242         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
84243         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
84244         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84245         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
84246         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
84247         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
84248         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
84249         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
84250         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
84251         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
84252         Import changes from coreutils.
84253
84254 2004-08-05  Simon Josefsson  <jas@extundo.com>
84255
84256         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
84257
84258 2004-08-05  Simon Josefsson  <jas@extundo.com>
84259
84260         * m4/getsubopt.m4: New file.
84261
84262 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84263
84264         Merge from coreutils.
84265
84266         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
84267         * m4/getcwd-path-max.m4: New files.
84268
84269         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
84270         FILESYSTEM_PREFIX_LEN ->
84271         FILE_SYSTEM_PREFIX_LEN.
84272         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
84273         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
84274         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
84275         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
84276
84277         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
84278         prerequisite modules now handle the DOS stuff.
84279         Don't check for unistd.h.
84280
84281 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84282
84283         Merge from coreutils.
84284
84285         * lib/.gdb-history: Remove; this doesn't belong here.
84286
84287         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
84288         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
84289         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
84290         * lib/getcwd.c: New files.
84291
84292         * lib/dirname.h: Include <stdbool.h>.
84293         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
84294         for consistency with POSIX terminology.  All uses changed.
84295         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
84296         (strip_trailing_slashes): Use bool for booleans.
84297         * lib/stripslash.c (strip_trailing_slashes): Likewise.
84298
84299         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
84300         sometimes returns a positive errno value even when it succeeds.
84301         (print_errno_message) [!LIBC]: Fall back on strerror if
84302         __strerror_r fails.
84303
84304         * lib/path-concat.c (mempcpy): Don't define if a system header defines
84305         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
84306         (longest_relative_suffix): New function.
84307         (path_concat): Use it.  Assume first argument is not NULL.
84308         Port to DOS.  Omit redundant separators.
84309         Report an error instead of returning NULL.
84310         Use mempcpy instead of memcpy.
84311         (xpath_concat): Remove: not declared or used.
84312
84313         * lib/same.h: Include <stdbool.h>
84314         (same_name): Return bool, not int.
84315         * lib/same.c (same_name): Likewise.
84316         (errno): Don't declare; we assume C89 or better now.
84317
84318         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
84319         if not already defined.
84320
84321         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
84322         * lib/dup-safer.c (errno): Likewise.
84323
84324 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84325
84326         Merge from coreutils.
84327         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
84328         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
84329         * modules/path-concat: Don't depend on strdup.
84330
84331 2004-08-03  Simon Josefsson  <jas@extundo.com>
84332
84333         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
84334         * lib/progname.h: Don't include stdbool.h.
84335
84336 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84337
84338         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
84339         * MODULES.html.sh (func_all_modules): Remove fatal.
84340
84341 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84342
84343         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
84344
84345 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84346
84347         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
84348         working.
84349
84350 2004-08-02  Simon Josefsson  <jas@extundo.com>
84351
84352         * lib/getsubopt.h: New file, with comments from Bruno Haible.
84353         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
84354         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
84355
84356 2004-08-01  Simon Josefsson  <jas@extundo.com>
84357
84358         * lib/xgetdomainname.c: Include stdlib.h, for free().
84359
84360 2004-07-19  Bruno Haible  <bruno@clisp.org>
84361
84362         * MODULES.html.sh (func_all_modules): Add dummy.
84363
84364 2004-07-16  Simon Josefsson  <jas@extundo.com>
84365
84366         * modules/dummy: New file.
84367
84368 2004-07-16  Simon Josefsson  <jas@extundo.com>
84369
84370         * lib/dummy.c: New file.
84371
84372 2004-07-16  Bruno Haible  <bruno@clisp.org>
84373
84374         * lib/backupfile.h: Add extern "C" for C++.
84375         * lib/closeout.h: Likewise.
84376         * lib/copy-file.h: Likewise.
84377         * lib/findprog.h: Likewise.
84378         * lib/full-write.h: Likewise.
84379         * lib/pathname.h: Likewise.
84380         * lib/progname.h: Likewise.
84381         * lib/stpcpy.h: Likewise.
84382         * lib/stpncpy.h: Likewise.
84383         * lib/strcase.h: Likewise.
84384         * lib/strstr.h: Likewise.
84385         * lib/xalloc.h: Likewise.
84386
84387         * lib/mbswidth.h: Add extern "C" for C++.
84388         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
84389
84390 2004-07-13  Robert Millan  <robertmh@gnu.org>
84391
84392         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
84393
84394 2004-07-09  Simon Josefsson  <jas@extundo.com>
84395
84396         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
84397         failed without this.)
84398
84399 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84400
84401         * modules/chown (Files): Add lib/fchown-stub.c, since
84402         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
84403
84404 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84405
84406         * lib/fchown-stub.c: New file.
84407
84408 2004-06-24  Jim Meyering  <jim@meyering.net>
84409
84410         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
84411
84412 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84413
84414         * modules/argz: Omit "#include".
84415
84416         * MODULES.html.sh (func_all_modules): Add calloc, to match
84417         2004-06-01 addition of calloc module.
84418
84419 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84420
84421         * m4/argz.m4: New file, which is autoupdated from libtool.
84422
84423 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84424
84425         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
84426         libtool.
84427
84428 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84429
84430         * config/srclist-update: Don't insist on "USA." before the
84431         close-comment, as libtool omits the period and puts the */ on a
84432         separate line.
84433         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
84434         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
84435
84436 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
84437
84438         * modules/argz: New file.
84439         * MODULES.html.sh (func_all_modules): Add argz.
84440
84441 2004-06-12  Jim Meyering  <jim@meyering.net>
84442         and  Paul Eggert  <eggert@cs.ucla.edu>
84443
84444         * modules/hash (Files): Add lib/xalloc.h.
84445         * modules/pipe (Depends-on): Add wait-process.
84446         * modules/stat (Depends-on): Add xalloc.
84447         * modules/userspec (Files): Add lib/userspec.h.
84448         * modules/xstrto
84449
84450         Upgrade from gettext-0.13.
84451         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
84452         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
84453         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
84454
84455 2004-06-10  Jim Meyering  <jim@meyering.net>
84456
84457         * lib/calloc.c: New file.
84458
84459 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
84460
84461         * lib/getdate.y (yylex): Allow space between sign and number.
84462         Problem reported by Dan Jacobson.
84463
84464 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84465
84466         Merge from coreutils CVS.
84467
84468         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
84469         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
84470         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
84471         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
84472         xstrtol.m4: Fix copyright date and/or serial number.
84473
84474         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
84475         See if we need an fchown replacement.
84476         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
84477         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
84478         and use the replacement function if we detect either defect.
84479
84480         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
84481         gl_UTIMECMP.
84482
84483 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84484         and  Jim Meyering  <jim@meyering.net>
84485
84486         Merge from coreutils CVS.
84487
84488         * lib/stat-macros.h: New file, with contents from file-type.h
84489         and coreutils' system.h.
84490         * lib/file-type.c: Include "stat-macros.h".
84491         * lib/file-type.h (file_type): Move all macro definitions to new file,
84492         stat-macros.h.
84493
84494         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
84495         Wrap old code with this conditional.
84496         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
84497         function that does not dereference symlinks.
84498         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
84499
84500         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
84501         dependency problems.
84502         (xreadlink): Accept new arg SIZE, for efficiency.
84503         All decls and uses changed.
84504         * lib/xreadlink.h: Include <stddef.h>, for size_t.
84505
84506         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
84507         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
84508
84509         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
84510         sysexits.h.
84511
84512 2004-06-01  Jim Meyering  <jim@meyering.net>
84513
84514         * m4/calloc.m4: New file.
84515
84516 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
84517
84518         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
84519         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
84520         Also, fix a typo in a diagnostic.
84521
84522 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84523
84524         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
84525         or AC_FUNC_REALLOC.
84526
84527 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84528
84529         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
84530         macros to be defined.
84531         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
84532         the allocator returns NULL because the requested size is zero.
84533
84534 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84535
84536         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
84537         var.  Add comment explaining why libc still defines it.  This
84538         merges the following patch from glibc:
84539         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
84540
84541 2004-05-20  Andreas Schwab  <schwab@suse.de>
84542
84543         * m4/free.m4: Replace free if it not known to work, not the other
84544         way round.
84545
84546 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
84547
84548         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
84549         present in glibc since revision 1.1 of this file.
84550         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
84551         obstack_alignment_mask, obstack_alloc, obstack_base,
84552         obstack_blank, obstack_blank_fast, obstack_chunk_size,
84553         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
84554         obstack_grow0, obstack_init, obstack_int_grow,
84555         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
84556         obstack_next_free, obstack_object_size, obstack_ptr_grow,
84557         obstack_ptr_grow_fast, obstack_room): Remove declarations of
84558         nonexistent functions.
84559
84560 2004-05-18  Karl Berry  <karl@gnu.org>
84561
84562         * config/srclist.txt: break link for vasnprintf.c.
84563
84564 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84565
84566         Port obstack to the AS/400, where pointers are 16 bytes wide and
84567         you cannot cast an integer to a valid pointer.  This patch is
84568         currently waiting to be integrated into glibc; see
84569         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
84570
84571         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
84572         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
84573         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
84574         (struct obstack): temp member is now a union of a pointer and
84575         an integer, instead of an integer.  All integer uses changed.
84576         This does not affect the physical layout of struct obstack,
84577         except on hosts (like the AS/400) where the size or alignment of
84578         void * is greater than that of ptrdiff_t.
84579         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
84580         __STDC__)]: Store temporary in pointer member of union, not
84581         integer member.
84582         * lib/obstack.c: Include <stddef.h>, for offsetof.
84583         (struct fooalign): Remove; it doesn't need a name.
84584         (union fooround): Change double to long double, and add void *.
84585         (DEFAULT_ALIGNMENT): Use offsetof to compute.
84586         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
84587         not a macro.  Hence the values are always int; so remove all
84588         casts-to-int in uses.
84589
84590 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84591
84592         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
84593         we can get this patch merged into glibc.
84594
84595 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84596             Paul Eggert  <eggert@cs.ucla.edu>
84597
84598         * m4/argp: Depend on alloca.
84599
84600 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84601             Paul Eggert  <eggert@cs.ucla.edu>
84602
84603         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
84604         freecoding.
84605
84606 2004-05-17  Bruno Haible  <bruno@clisp.org>
84607
84608         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
84609         precision that consists of a '.' followed by an empty digit string.
84610         Patch by Tor Lillqvist <tml@iki.fi>.
84611
84612 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84613
84614         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
84615         for backward compatibility with older code.  We need our own
84616         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
84617         it under some other name, and our alloca.h will define it.
84618
84619 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84620             Derek Price  <derek@ximbiot.com>
84621
84622         * lib/alloca.c: Include <alloca.h>, to get our interface.
84623         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
84624         include <alloca.h> first.  Use C89 prototype for alloca; this
84625         requires including <stddef.h> for size_t.  Use extern "C" if C++.
84626         Use #elif for simplicity, since we can assume C89 now.
84627         Don't try to source the system alloca.h since it will not be found
84628         and to prevent recursively including its replacement.
84629         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
84630         * lib/regex.c: Likewise.
84631
84632 2004-05-16  Derek Price  <derek@ximbiot.com>
84633             Paul Eggert  <eggert@cs.ucla.edu>
84634
84635         getline cleanup.  This changes the getndelim2 API: both order of
84636         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
84637         no delimiter).
84638
84639         * lib/getline.c: Don't include stddef.h or stdio.h, since our
84640         interface does that.
84641         (getline): Always use getdelim, so that we don't have two
84642         copies of this code.
84643         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
84644         if available.
84645         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
84646         (GETNDELIM2_MAXIMUM): New macro.
84647         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
84648         instead of the old practice of delim2==0.  All callers changed.
84649         Return -1 on overflow, instead of returning junk.
84650         Do not set *linesize unless allocation succeeds.
84651         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
84652         that we include sys/types.h.
84653         * lib/getnline.h: Likewise.
84654         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
84655         (getndelim2): Reorder arguments.
84656         * lib/getnline.c (getnline, getndelim):
84657         Don't discard the NMAX argument.
84658         (getnline): Invoke getndelim, to avoid code duplication.
84659         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
84660         of (size_t) -1 by callers of the getnline family.
84661
84662 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84663
84664         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
84665         Check for gettimeofday.
84666         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
84667         Check for settimeofday, stime.
84668
84669 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84670
84671         * lib/nanosleep.c (suspended): Change its type from int to
84672         sig_atomic_t volatile.
84673         (first_call): Make it private to rpl_nanosleep, and have it
84674         be zero initially as that's a bit faster.
84675         (my_usleep): Round up fractional times instead of truncating them,
84676         as this is the usual meaning for 'sleep'.
84677
84678         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84679         doesn't work.
84680         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84681         (ENOSYS): Define if not defined.
84682         (settime): Fall back on stime if it exists and settimeofday fails.
84683         But don't bother with fallbacks if a method fails with errno == EPERM.
84684
84685 2004-05-11  Jim Meyering  <jim@meyering.net>
84686
84687         Prior to this change, the save_cwd caller required read access to the
84688         current directory on most systems (ones with the fchdir function).
84689
84690         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84691         fails, try write-only, and finally, resort to using xgetcwd.
84692
84693 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84694
84695         * lib/obstack.c, obstack.h: Import changes from libc.
84696
84697 2004-04-28  Bruno Haible  <bruno@clisp.org>
84698
84699         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84700         also implicitly appends .exe to executables.
84701         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84702         accepts Windows pathnames.
84703         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84704         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84705         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84706         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84707         Reported by Derek Robert Price <derek@ximbiot.com>.
84708
84709 2004-04-21  Karl Berry  <karl@gnu.org>
84710
84711         * config/srclist.txt (localcharset.c): break sync.
84712
84713 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84714
84715         * m4/host-os.m4: Add a copyright notice.
84716
84717 2004-04-20  Jim Meyering  <jim@meyering.net>
84718
84719         Change UTILS_ to gl_ in AC_DEFINE'd names.
84720         Change utils_- and jm_-prefixed variables, too.
84721         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84722         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84723         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84724
84725         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84726         Don't emit trailing blanks.
84727         Also rename jm_-prefixed variables to have gl_ prefix.
84728
84729         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84730         Also rename jm_-prefixed variables to have gl_ prefix.
84731
84732         * m4/jm-macros.m4: Reflect the renamings.
84733         * m4/prereq.m4: Likewise.
84734
84735 2004-04-20  Jim Meyering  <jim@meyering.net>
84736
84737         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84738         memory.
84739
84740 2004-04-20  Jim Meyering  <jim@meyering.net>
84741             Bruno Haible  <bruno@clisp.org>
84742
84743         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84744         memory when realloc fails.
84745
84746 2004-04-19  Jim Meyering  <jim@meyering.net>
84747
84748         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84749         now that readutmp.c may call `free (0)'.
84750
84751 2004-04-19  Bruno Haible  <bruno@clisp.org>
84752
84753         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84754         * m4/inttypes_h.m4: Likewise.
84755         * m4/stdint_h.m4: Likewise.
84756         * m4/intmax_t.m4: Likewise.
84757         * m4/uintmax_t.m4: Likewise.
84758
84759 2004-04-18  Jim Meyering  <jim@meyering.net>
84760
84761         * m4/prereq.m4: Don't forbid jm_ prefix.
84762
84763         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84764         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84765         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84766         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84767         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84768         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84769         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84770         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84771         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84772         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84773         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84774         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84775         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84776         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84777         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84778         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84779         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84780         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84781         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84782
84783 2004-04-18  Jim Meyering  <jim@meyering.net>
84784
84785         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84786         failure, don't leak memory and do call END_UTMP_ENT.
84787
84788 2004-04-16  Jim Meyering  <jim@meyering.net>
84789
84790         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84791         coreutils' stat program.
84792         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84793
84794 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84795
84796         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84797         C89.
84798         (CHAR_BIT): Remove, since we assume C89.
84799         Include <stdint.h> if available, as per current Autoconf CVS advice.
84800
84801 2004-03-31  Jim Meyering  <jim@meyering.net>
84802
84803         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84804         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84805         * m4/xalloc.m4: Likewise.
84806
84807 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84808
84809         Merge from coreutils.
84810
84811         * m4/inttostr.m4: New file.
84812         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84813         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84814         Require gl_CLOCK_TIME.
84815         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84816
84817 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84818
84819         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
84820         not bool, to be more consistent with Unix conventions.
84821         Suggested by Bruno Haible.
84822
84823         Merge from coreutils.
84824
84825         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
84826         * lib/umaxtostr.c: New files.
84827
84828         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
84829         the usual <time.h> dance.
84830         (get_date): Change signature to support fractional time stamps.
84831         All callers changed.
84832         * lib/getdate.y: Include "getdate.h" first, as we can now
84833         assume C89 and don't need to worry about 'const'.
84834         Similarly, include "unlocked-io.h" near start, not in middle.
84835         Include <limits.h>.
84836         (textint.value): Use long int rather than int.
84837         (textint.digits): Use size_t rather than int.
84838         (BILLION, LOG10_BILLION): New constants.
84839         (parser_control): New member rel_ns.  Members day_ordinal,
84840         time_zone, month, day, hour, minutes, rel_year, rel_month,
84841         rel_day, rel_hour, rel_minutes, rel_seconds
84842         are now long int, not int.  Member seconds is now struct timespec,
84843         not int.  New member timespec_seen.  Members dates_seen, days_seen,
84844         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84845         not int.
84846         (%union.intval): Now long int, not int.
84847         New member timespec.
84848         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84849         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84850         (spec): Now is a timespec or an item list.
84851         (timespec, items): New nonterminals.
84852         (time, rel, relunit, number, get_date):
84853         Add support for fractional seconds.
84854         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84855         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84856         (to_hour): First arg is now long int, not int.
84857         (to_year): Returns long int, not int.
84858         Don't treat year -70 like 70.
84859         (tm_diff): Returns long int, not int.
84860         (lookup_word): Use bool instead of int when appropriate.
84861         (yylex): Use size_t for count, not int.
84862         Detect overflow when parsing large integer constants.
84863         Add support for fractions.
84864         (get_date): Make pointers 'const' if possible.
84865         Use more-portable code to detect integer overflow.
84866         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84867         Don't use ctime; it's not reliable if the year has >4 digits.
84868
84869         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84870         This is for compatibility with BSD.
84871
84872         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84873         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84874         From coreutils' system.h.
84875
84876         * lib/userspec.c: Don't include "posixver.h".
84877         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84878         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84879         compatible extension.  Simplify code by removing a boolean int
84880         that was always nonzero if a string was nonnull.
84881
84882 2004-03-30  Jim Meyering  <jim@meyering.net>
84883
84884         Merge from coreutils.
84885
84886         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84887         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84888         on some systems one must include <grp.h> before it.
84889         Reported by Christian Krackowizer.
84890
84891 2004-03-30  Jim Meyering  <jim@meyering.net>
84892
84893         Merge from coreutils.
84894
84895         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84896
84897         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84898         an empty input stream.
84899
84900         * lib/readtokens.c: Include <stdbool.h>.
84901         (readtoken): Use `size_t' rather than int/long.
84902         All callers adjusted.
84903         Use `bool' rather than `int' where appropriate.
84904         Use memset rather than an explicit loop.
84905         Use x2nrealloc rather than xrealloc.
84906         Allow the use of `\0' as a delimiter.
84907         (readtokens): Likewise.
84908         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84909
84910 2004-03-30  Jim Meyering  <jim@meyering.net>
84911
84912         * m4/realloc.m4: Remove file, since now it does no more than
84913         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84914         the `configure.ac' section of module/realloc.
84915         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84916
84917 2004-03-30  Bruno Haible  <bruno@clisp.org>
84918
84919         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84920         nonnull.
84921
84922 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84923
84924         Merge changes to getloadavg.c from coreutils and Emacs.
84925
84926         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84927         Define to an expression, not to the empty string.
84928         Include cloexec.h and xalloc.h.
84929         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84930         Use set_cloexec_flag rather than rolling our own.
84931         * lib/cloexec.c, lib/cloexec.h: New files.
84932
84933 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84934
84935         * m4/cloexec.m4: New file.
84936
84937 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84938
84939         * lib/getopt.h: Sync with libc CVS.
84940
84941 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84942             Bruno Haible  <bruno@clisp.org>
84943
84944         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84945         mbswidth.
84946
84947 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84948             Bruno Haible  <bruno@clisp.org>
84949
84950         * lib/mbswidth.h: Include <wchar.h> only if
84951         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84952         <wchar.h>.
84953         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84954
84955 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84956
84957         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84958         Sync with libc CVS.
84959         * lib/getopt_int.h: New file, also synced from libc.
84960
84961 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84962
84963         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
84964         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
84965         Bring back getopt.c, getopt.h, getopt1.c.
84966
84967 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84968
84969         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
84970         All uses changed.  Check for sa_sigaction member; this fixes
84971         a bug first reported by Jason Andrade in
84972         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84973
84974 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84975
84976         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
84977         '#if' expressions.  Unlike the code it replaces, it does not
84978         depend on (defined _SC_PAGESIZE).  However, it does depend on
84979         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
84980         first reported by Jason Andrade in
84981         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84982
84983 2004-02-25  Simon Josefsson  <jas@extundo.com>
84984
84985         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
84986
84987 2004-02-25  Simon Josefsson  <jas@extundo.com>
84988
84989         * lib/strdup.h: New file.
84990         * lib/strdup.c: Include it.
84991         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
84992         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
84993
84994 2004-02-23  Karl Berry  <karl@gnu.org>
84995
84996         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
84997         (from fencepost.gnu.org:/gd/gnuorg).
84998
84999 2004-02-23  Karl Berry  <karl@gnu.org>
85000
85001         * config/srclistvars.sh (GNUORG) [karl]: redefine.
85002         * config/srclist.txt: add maintain/standards documents.
85003
85004 2004-02-18  Bruno Haible  <bruno@clisp.org>
85005
85006         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
85007         Reported by Derek Robert Price <derek@ximbiot.com>.
85008
85009 2004-02-16  Karl Berry  <karl@gnu.org>
85010
85011         * config/mkinstalldirs, install-sh: update from automake.
85012
85013 2004-02-06  Karl Berry  <karl@gnu.org>
85014
85015         * m4/po.m4: update from gettext 0.14.1.
85016
85017 2004-02-06  Karl Berry  <karl@gnu.org>
85018
85019         * lib/config.charset: update from gettext 0.14.1.
85020
85021 2004-02-05  Paul Eggert  <eggert@twinsun.com>
85022
85023         Add comments and code, prompted by suggestions from Bruno Haible
85024         for sh-quote.
85025         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
85026         describing the enum quoting_style values.
85027         * lib/quotearg.c (quotearg_alloc): New function.
85028         (quotearg_buffer_restyled): Treat lone { and } as special.
85029         Treat = as special.  Work around bug with older shells
85030         that "see" a '\' that is really the 2nd byte of a multibyte char.
85031         Quote empty string with shell_quoting_style.
85032
85033 2004-02-03  Bruno Haible  <bruno@clisp.org>
85034
85035         * m4/pipe.m4: New file, from GNU gettext.
85036
85037 2004-02-03  Bruno Haible  <bruno@clisp.org>
85038
85039         * lib/pipe.h: New file, from GNU gettext.
85040         * lib/pipe.c: New file, from GNU gettext.
85041
85042 2004-01-27  Bruno Haible  <bruno@clisp.org>
85043
85044         * m4/execute.m4: New file, from GNU gettext.
85045
85046 2004-01-27  Bruno Haible  <bruno@clisp.org>
85047
85048         * lib/execute.h: New file, from GNU gettext.
85049         * lib/execute.c: New file, from GNU gettext.
85050         * lib/w32spawn.h: New file, from GNU gettext.
85051
85052 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85053
85054         Merge from diffutils.
85055
85056         * lib/file-type.c (file_type): Add typed memory objects.
85057         * lib/file-type.h (S_TYPEISTMO): New macro.
85058
85059         * lib/c-stack.h (c_stack_action): Remove argv argument.
85060         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
85061         (die): Don't calculate message unless segv_action returns.
85062         (get_stack_location, min_address_from_argv, max_address_from_argv,
85063         volatile stack_base, volatile_stack_size): Remove.
85064         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
85065         that every segmentation violation is a stack overflow.  (Ouch!)
85066         See Debian bug 136249 (still outstanding) for more info about why
85067         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
85068
85069 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85070
85071         Exit-status fix from coreutils.
85072
85073         Use exit_failure consistently in place of EXIT_FAILURE,
85074         so that program exit statuses are consistent on failure.
85075
85076         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
85077         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
85078         * lib/argmatch.h: Comment fix to match the above.
85079         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
85080         Now a macro referring to exit_failure, instead of a separate
85081         variable.  Include "exitfail.h" to get it.
85082         * lib/xstrtol.h: Include "exitfail.h".
85083         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
85084
85085         * lib/long-options.c (parse_long_options): Use prototype
85086         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
85087         for clarity.
85088
85089 2004-01-21  Jim Meyering  <jim@meyering.net>
85090
85091         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
85092         so as not to conflict with a different-sized __mktime_internal
85093         function in GNU libc.
85094         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
85095         Problem building statically-linked `ls' reported by Michael Brunnbauer.
85096
85097 2004-01-20  Karl Berry  <karl@gnu.org>
85098
85099         * config/config.guess: update from config.
85100
85101         * config/srclistvars.sh: GNUWWWLICENSES for karl.
85102
85103 2004-01-20  Bruno Haible  <bruno@clisp.org>
85104
85105         Safer stack allocation.
85106         * lib/setenv.c: Include allocsa.h.
85107         (alloca): Remove fallback definition.
85108         (freea): Remove macro.
85109         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
85110         instead of freea.
85111
85112 2004-01-20  Bruno Haible  <bruno@clisp.org>
85113
85114         * m4/eealloc.m4: New file, from GNU gettext.
85115
85116 2004-01-20  Bruno Haible  <bruno@clisp.org>
85117
85118         * m4/allocsa.m4: New file, from GNU gettext.
85119
85120 2004-01-20  Bruno Haible  <bruno@clisp.org>
85121
85122         * lib/xallocsa.h: New file, from GNU gettext.
85123         * lib/xallocsa.c: New file, from GNU gettext.
85124
85125 2004-01-20  Bruno Haible  <bruno@clisp.org>
85126
85127         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
85128
85129 2004-01-20  Bruno Haible  <bruno@clisp.org>
85130
85131         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
85132         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
85133         specially.
85134
85135 2004-01-20  Bruno Haible  <bruno@clisp.org>
85136
85137         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
85138         patch.
85139
85140 2004-01-20  Bruno Haible  <bruno@clisp.org>
85141
85142         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
85143
85144 2004-01-20  Bruno Haible  <bruno@clisp.org>
85145
85146         * lib/eealloc.h: New file.
85147
85148 2004-01-20  Bruno Haible  <bruno@clisp.org>
85149
85150         * lib/binary-io.h: Avoid warnings on Cygwin.
85151
85152 2004-01-20  Bruno Haible  <bruno@clisp.org>
85153
85154         * lib/allocsa.h: New file, from GNU gettext.
85155         * lib/allocsa.c: New file, from GNU gettext.
85156
85157 2004-01-18  Karl Berry  <karl@gnu.org>
85158
85159         * doc/gpl.texi, doc/lgpl.texi: new files.
85160
85161 2004-01-18  Karl Berry  <karl@gnu.org>
85162
85163         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
85164         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
85165
85166 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85167
85168         Merge from coreutils.
85169
85170         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
85171         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
85172         (gl_DEFAULT_POSIX2_VERSION): Move
85173         the documentation from 'configure' into 'config.hin',
85174         so that 'configure --help' isn't burdened by it and
85175         we don't have to worry about its formatting there.
85176         Reword the documentation so that it's more succinct
85177         and can be run together into a single paragraph.
85178         * m4/same.m4 (gl_SAME): Check for pathconf.
85179
85180 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85181
85182         Merge from coreutils.
85183
85184         * lib/posixver.c: Include posixver.h.
85185
85186         * lib/same.c: Include <stdbool.h>, <limits.h>.
85187         (_POSIX_NAME_MAX): Define if not defined.
85188         (MIN): New macro.
85189         (same_name): If file names are silently truncated, report
85190         that the file names are the same if they are the same after
85191         the silent truncation.
85192
85193         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
85194         conversion function.
85195         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
85196         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
85197         longer needed.
85198
85199 2004-01-15  Jim Meyering  <jim@meyering.net>
85200
85201         Merge from coreutils.
85202
85203         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
85204         if no library is required.
85205         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
85206         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
85207         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
85208         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
85209         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
85210         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
85211         value, $ac_cv_search_crypt, if it's "none required".
85212         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
85213         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
85214         not gl_FUNC_GETLOADAVG.
85215         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
85216         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
85217
85218 2004-01-15  Jim Meyering  <jim@meyering.net>
85219
85220         Merge from coreutils.
85221
85222         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
85223         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
85224         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
85225
85226         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
85227         optional configure-time default.
85228
85229         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85230
85231         * lib/xreadlink.c (xreadlink): Correct outdated comment.
85232
85233 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
85234
85235         Merge from coreutils.
85236
85237         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
85238         value, $ac_cv_search_nanosleep, if it's "none required".
85239
85240 2004-01-14  Paul Eggert  <eggert@twinsun.com>
85241
85242         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
85243         with like-named macro in fnmatch.c.
85244         (EXT): Use an internal constant instead.
85245
85246         Merge fnmatch patches from glibc.
85247         * lib/fnmatch.c (mbsinit): Remove define.
85248         Add libc_hidden_ver (__fnmatch, fnmatch).
85249         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
85250         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
85251
85252 2004-01-14  Karl Berry  <karl@gnu.org>
85253
85254         * config/install-sh: update from automake.
85255
85256 2004-01-13  Karl Berry  <karl@gnu.org>
85257
85258         * config/install-sh: update from automake.
85259
85260 2004-01-09  Karl Berry  <karl@gnu.org>
85261
85262         * config/install-sh: update from automake.
85263
85264 2004-01-05  Karl Berry  <karl@gnu.org>
85265
85266         * config/config.{sub,guess}: update from config.
85267
85268 2003-12-31  Karl Berry  <karl@gnu.org>
85269
85270         * config/depcomp: update from automake.
85271
85272 2003-12-14  Karl Berry  <karl@gnu.org>
85273
85274         * lib/config.charset: update from gettext-runtime.
85275
85276 2003-12-03  Paul Eggert  <eggert@twinsun.com>
85277
85278         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
85279         Bug reported by Alfred M. Szmidt.
85280
85281 2003-12-03  Bruno Haible  <bruno@clisp.org>
85282
85283         * m4/gettext.m4: Upgrade from gettext-0.13.
85284         * m4/po.m4: Upgrade from gettext-0.13.
85285         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
85286         * m4/intmax.m4: New file, from gettext-0.13.
85287         * m4/printf-posix.m4: New file, from gettext-0.13.
85288
85289 2003-11-29  Karl Berry  <karl@gnu.org>
85290
85291         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
85292
85293 2003-11-25  Paul Eggert  <eggert@twinsun.com>
85294             Bruno Haible  <bruno@clisp.org>
85295
85296         * lib/printf-parse.h: Don't include sys/types.h.
85297         (ARG_NONE): New macro.
85298         (char_directive): Change type of *arg_index fields to size_t.
85299         * lib/printf-parse.c: Don't include sys/types.h.
85300         (SSIZE_MAX): Remove macro.
85301         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
85302         Remove unnecessary overflow check.
85303         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
85304         fields.
85305
85306 2003-11-25  Bruno Haible  <bruno@clisp.org>
85307
85308         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
85309
85310 2003-11-25  Bruno Haible  <bruno@clisp.org>
85311
85312         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
85313         gt_TYPE_SSIZE_T.
85314
85315 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85316
85317         * modules/alloca: Remove dependency on xalloc.
85318
85319 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85320
85321         * lib/alloca.c: Remove dependency on xalloc module.
85322         (xalloc_die): Remove.
85323         (memory_full) [!defined emacs]: New macro.
85324         [!defined emacs]: Don't include xalloc.h.
85325         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
85326         address arithmetic overflows.  Change datatypes a bit to avoid
85327         unnecessary casts.
85328
85329 2003-11-22  Jim Meyering  <jim@meyering.net>
85330
85331         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
85332         s/size/size_t/.
85333
85334 2003-11-21  Karl Berry  <karl@gnu.org>
85335
85336         * config/config.{sub,guess}: update from config.
85337
85338 2003-11-18  Karl Berry  <karl@gnu.org>
85339
85340         * config/config.{sub,guess}: update from config.
85341
85342         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
85343
85344 2003-11-17  Paul Eggert  <eggert@twinsun.com>
85345
85346         * README: Mention that S+T cannot overflow if S is the size of
85347         an existing object and T is sufficiently small.
85348
85349 2003-11-17  Jim Meyering  <jim@meyering.net>
85350
85351         On systems without utime and without a utimes function capable of
85352         dealing with a NULL struct utimbuf* argument, this utime replacement
85353         could -- in unusual circumstances -- leak a file descriptor.
85354         * lib/utime.c: Include <unistd.h> and <errno.h>.
85355         (utime_null): Be sure to close `fd' and to preserve errno.
85356         Reported by Geoff Collyer via Arnold Robbins.
85357
85358 2003-11-17  Bruno Haible  <bruno@clisp.org>
85359
85360         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
85361         (Depends-on): Add xsize.
85362
85363 2003-11-17  Bruno Haible  <bruno@clisp.org>
85364
85365         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
85366
85367 2003-11-17  Bruno Haible  <bruno@clisp.org>
85368
85369         * lib/vasnprintf.c (alloca): Remove fallback definition.
85370         (freea): Remove definition.
85371         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
85372         Reported by Paul Eggert.
85373
85374 2003-11-16  Paul Eggert  <eggert@twinsun.com>
85375             Bruno Haible  <bruno@clisp.org>
85376
85377         Protect against address arithmetic overflow.
85378         * lib/printf-args.h: Include stddef.h.
85379         (arguments): Change type of field 'count' to size_t.
85380         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
85381         'unsigned int' where appropriate.
85382         * lib/printf-parse.h: Include sys/types.h.
85383         (char_directive): Change type of *arg_index fields to ssize_t.
85384         (char_directives): Change type of fields 'count', max_*_length to
85385         size_t.
85386         * lib/printf-parse.c: Include sys/types.h and xsize.h.
85387         (SSIZE_MAX): Define fallback value.
85388         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
85389         instead of 'int' where appropriate. Check a_allocated, d_allocated
85390         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
85391         * lib/vasnprintf.c: Include xsize.h.
85392         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
85393         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
85394         overflow. Avoid wraparound when converting a width or precision from
85395         decimal to binary.
85396
85397 2003-11-16  Bruno Haible  <bruno@clisp.org>
85398
85399         Update from GNU gettext.
85400         * lib/printf-parse.c: Generalize to it can be compiled for wide
85401         strings.
85402         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
85403         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
85404         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
85405         SNPRINTF): New macros.
85406         Don't include <alloca.h> if the file is used inside libintl.
85407         (local_wcslen): New function, for Solaris 2.5.1.
85408         (VASNPRINTF): Use it instead of wcslen.
85409
85410 2003-11-16  Bruno Haible  <bruno@clisp.org>
85411
85412         * lib/xsize.h (xmax): New function.
85413         (xsum, xsum3, xsum4): Declare as "pure" functions.
85414
85415 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85416
85417         * modules/xalloc (Files): Undo latest change, since xalloc.h
85418         no longer needs SIZE_MAX or PTRDIFF_MAX.
85419
85420 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85421
85422         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
85423         gl_PTRDIFF_MAX.
85424
85425 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85426
85427         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
85428         "return", to pacify some unknown compiler.  Problem reported
85429         by Joerg Schilling.
85430
85431 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85432
85433         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
85434         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
85435         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
85436         heuristic is just as accurate as far as we know, and it removes a
85437         dependency on size_max.m4 and ptrdiff_max.m4.
85438
85439 2003-11-11  Bruno Haible  <bruno@clisp.org>
85440
85441         * modules/xsize (Files): Add m4/size_max.m4.
85442         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
85443
85444 2003-11-11  Bruno Haible  <bruno@clisp.org>
85445
85446         * m4/size_max.m4: New file.
85447         * m4/ptrdiff_max.m4: New file.
85448         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
85449         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
85450         (gl_XALLOC): Invoke it.
85451
85452 2003-11-11  Bruno Haible  <bruno@clisp.org>
85453
85454         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
85455         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
85456         defined.
85457
85458 2003-11-10  Paul Eggert  <eggert@twinsun.com>
85459
85460         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
85461         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
85462         rejected some allocations of exactly SIZE_MAX - 2 bytes.
85463         From Bruno Haible.
85464         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
85465         not (size_t) -1, since it's defined here.
85466
85467 2003-11-09  Karl Berry  <karl@gnu.org>
85468
85469         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
85470
85471 2003-11-06  Paul Eggert  <eggert@twinsun.com>
85472
85473         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
85474         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
85475         Reject sizes of exactly SIZE_MAX bytes.
85476         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
85477         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
85478
85479 2003-11-05  Bruno Haible  <bruno@clisp.org>
85480
85481         * lib/xsize.h: Include limits.h, to avoid a possible collision with
85482         SIZE_MAX defined in <limits.h> on Solaris.
85483
85484 2003-11-04  Jim Meyering  <jim@meyering.net>
85485
85486         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
85487         variable names, rather than @VAR@.
85488         * modules/poll: Likewise.
85489
85490 2003-11-04  Bruno Haible  <bruno@clisp.org>
85491
85492         * modules/xsize: New file.
85493         * modules/linebreak: Depend on xsize.
85494         * MODULES.html.sh (func_all_modules): Add xsize.
85495
85496 2003-11-04  Bruno Haible  <bruno@clisp.org>
85497
85498         * m4/xsize.m4: New file.
85499
85500 2003-11-04  Bruno Haible  <bruno@clisp.org>
85501
85502         * lib/xsize.h: New file.
85503         * lib/linebreak.c: Include xsize.h.
85504         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
85505         argument for overflow.
85506         Suggested by Paul Eggert.
85507
85508 2003-11-03  Karl Berry  <karl@gnu.org>
85509
85510         * config/config.{guess,sub}: update from config.
85511
85512 2003-11-03  Jim Meyering  <jim@meyering.net>
85513
85514         * modules/userspec (lib_SOURCES): Add userspec.h.
85515         (Include): Add "userspec.h".
85516         Improve description.
85517
85518 2003-11-03  Jim Meyering  <jim@meyering.net>
85519
85520         * lib/userspec.c: Include "userspec.h".
85521         * lib/userspec.h: New file.
85522
85523 2003-11-03  Bruno Haible  <bruno@clisp.org>
85524
85525         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
85526
85527 2003-11-03  Bruno Haible  <bruno@clisp.org>
85528
85529         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
85530         available, to avoid (extremely rare) race condition.
85531         Suggested by Paul Eggert.
85532
85533 2003-11-02  Karl Berry  <karl@gnu.org>
85534
85535         * config/srclist.txt (vasprintf.c): sync broken, sigh.
85536
85537 2003-10-31  Paul Eggert  <eggert@twinsun.com>
85538
85539         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
85540         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
85541         (read_filesystem_list): Set and use me_type_malloced.
85542         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
85543         whatever the type happens to be), for brevity and consistency.
85544         Check for size calculation overflow on Alphas running OSF/1.
85545
85546 2003-10-31  Jim Meyering  <jim@meyering.net>
85547
85548         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
85549
85550         * lib/linebuffer.c: Include <string.h> for declaration of memset.
85551
85552 2003-10-30  Paul Eggert  <eggert@twinsun.com>
85553             Bruno Haible  <bruno@clisp.org>
85554
85555         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
85556         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
85557
85558 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
85559
85560         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
85561         netbsd*-gnu*.  Suggested by Robert Millan.
85562
85563 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85564
85565         * modules/group-member: Depend on stdbool.
85566
85567 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85568
85569         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
85570
85571 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85572
85573         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
85574         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
85575         after the 'gnu' in these cases.  This fixes some bugs in the
85576         previous change, and is based on suggestions by Robert Millan.
85577
85578 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85579
85580         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
85581         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
85582         no longer needed.
85583         * lib/quotearg.c (quotearg_n_options): Use it.
85584         * lib/group-member.c: Include <stdbool.h>.
85585         (free_group_info): Arg is now const *; don't free arg.
85586         (get_group_info): Now returns bool and accepts struct group_info *,
85587         rather than returning a malloc'ed struct group_info *.
85588         All uses changed.  Check for overflow in internal size calculation.
85589
85590         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
85591         rather than xmalloc/xrealloc.
85592         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
85593         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
85594         conformance bug: the old code used a pointer after freeing the
85595         storage that it addressed.
85596         * lib/hash.c (hash_initialize): Simplify the code by using
85597         xalloc_oversized rather than doing it by hand.
85598         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
85599         the buffer preserved.  Use free and xmalloc instead.
85600         * lib/quotearg.c (quotearg_n_options): Likewise.
85601         Use a simpler test for size overflow.  Don't use xalloc_oversized
85602         because unsigned int might be wider than size_t (!); this suggests
85603         that we should switch from unsigned int to size_t for slot numbers.
85604
85605 2003-10-28  Paul Eggert  <eggert@twinsun.com>
85606
85607         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
85608         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
85609         NetBSD kernels.  Requested by Richard Stallman.
85610
85611 2003-10-27  Paul Eggert  <eggert@twinsun.com>
85612
85613         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
85614         to allocate the returned structure.  Do not allocate a subarray,
85615         as x2nrealloc will do that.
85616         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
85617         instead of xnrealloc.
85618         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
85619
85620 2003-10-27  Bruno Haible  <bruno@clisp.org>
85621
85622         * lib/stdbool_.h: Better support for BeOS.
85623
85624 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85625
85626         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
85627         now uses inline.
85628
85629 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85630
85631         * lib/xalloc.h (xalloc_oversized): New static inline function, for
85632         callers that want to do their own size-overflow checking.  Include
85633         <stdbool.h>, since xalloc_oversized returns bool.
85634         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
85635         to use xalloc_oversized.
85636
85637         Add two functions x2realloc, x2nrealloc, for programs that grow
85638         arrays dynamically by doubling their sizes.
85639         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
85640         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
85641         New functions.
85642
85643         Port to C99 semantics for 'inline' of external functions.
85644         Bug reported by Bruno Haible.
85645         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
85646         with the old contents of xnmalloc.
85647         (xnmalloc, xmalloc): Use it.
85648         (xnrealloc_inline): New static inline function,
85649         with the old contents of xnrealloc.
85650         (xnrealloc, xrealloc): Use it.
85651
85652         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
85653         that.
85654
85655 2003-10-26  Karl Berry  <karl@gnu.org>
85656
85657         * config/srclist.txt (COPYING.DOC): no longer available from
85658         /gd/gnuorg; don't know where the ultimate source is.
85659
85660 2003-10-25  Paul Eggert  <eggert@twinsun.com>
85661
85662         Fix several address-calculation bugs in the hash modules,
85663         plus some minor code cleanup.
85664
85665         * lib/hash.h: Include <stdbool.h>, for bool.
85666         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
85667         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
85668         hash_get_n_entries, hash_get_max_bucket_length,
85669         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
85670         hash_rehash): Use size_t rather than unsigned.
85671         * lib/hash.c (struct hash_table, hash_get_n_buckets,
85672         hash_get_n_buckets_used, hash_get_n_entries,
85673         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
85674         hash_get_entries, hash_do_for_each, hash_string, is_prime,
85675         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
85676         Likewise.
85677         (SIZE_MAX): Define if not defined.
85678         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85679         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85680         hash_print):
85681         Use const * when possible.
85682         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85683         (check_tuning): Fix bug: if tuning parameters were very close to
85684         0 or 1, rounding errors could have caused subscript violations.
85685         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85686         (hash_initialize): Add 'fail:' label
85687         to free table and return NULL, and use it to simplify code.
85688         Use calloc rather than clearing the storage ourself.
85689         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85690         buffer size calculations.
85691         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85692         Include <stddef.h>, for size_t.
85693         * lib/hash-pjw.c (hash_pjw): Likewise.
85694         Switch to method described by Bruno Haible.
85695         Include <limits.h>, for CHAR_BIT.
85696         (SIZE_BITS): New macro.
85697
85698 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85699
85700         * m4/getline.m4 (AM_FUNC_GETLINE):
85701         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85702         hosts.  Problem reported by Derek Robert Price in
85703         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85704         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85705         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85706
85707 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85708
85709         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85710         ceiling the allocation at NMAX bytes rather than silently
85711         discarding input bytes before NMAX is reached.  This makes
85712         a difference only if NMAX exceeds SIZE_MAX / 2.
85713
85714         * lib/obstack.c: Merge from glibc.
85715         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85716         Add libc_hidden_def (_obstack_newchunk).
85717         (_obstack_free) [! defined _LIBC]: Remove.
85718         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85719         a clone of the function body.
85720         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85721         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85722
85723         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85724         glibc.
85725         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85726         arg to memcpy.
85727
85728         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85729         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85730         Don't use lvalue casts, as GCC plans to remove support for them
85731         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85732         was also present in the non-GCC version, indicating that this
85733         code had always been buggy and had never been widely used.
85734         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85735         Use the fast variant of each macro, rather than copying the
85736         definiens of the fast variant; that way, we'll be more likely to
85737         catch future bugs in the fast variants.
85738
85739 2003-10-20  Bruno Haible  <bruno@clisp.org>
85740
85741         * modules/wait-process: New file.
85742         * MODULES.html.sh (func_all_modules): Add wait-process.
85743
85744 2003-10-20  Bruno Haible  <bruno@clisp.org>
85745
85746         * m4/wait-process.m4: New file.
85747
85748 2003-10-20  Bruno Haible  <bruno@clisp.org>
85749
85750         * lib/wait-process.h: New file, from GNU gettext.
85751         * lib/wait-process.c: New file, from GNU gettext.
85752
85753 2003-10-19  Jim Meyering  <jim@meyering.net>
85754
85755         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85756         HPUX 10.20.
85757
85758 2003-10-18  Karl Berry  <karl@gnu.org>
85759
85760         * config/config.guess: update from config.
85761
85762 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85763
85764         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85765         (getgroups): First arg is int, not size_t.
85766         Don't let 'free' mangle errno.
85767
85768 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85769
85770         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85771
85772 2003-10-16  Karl Berry  <karl@gnu.org>
85773
85774         * config/config.{guess,sub}: update from config.
85775
85776 2003-10-16  Jim Meyering  <jim@meyering.net>
85777
85778         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85779         memcpy.
85780
85781 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85782
85783         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85784         (SIZE_MAX): Remove.
85785         (new_exclude, add_exclude_file): Initial size no longer needs to
85786         be a power of 2.
85787         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85788         our own address arithmetic overflow checking.
85789
85790         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85791         (fnmatch): Do not alloca more than 2000 wide characters;
85792         instead, use malloc for large buffers.
85793         Check for address arithmetic overflow, and return -1
85794         with errno set to ENOMEM in that case.
85795         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85796         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85797         instead, return -1.  Check for address arithmetic overflow.
85798
85799 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85800
85801         Handle invalid suffixes and overflow independently, so that
85802         callers can treat them independently as needed.  Fix some bugs in
85803         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85804         suffix for a human-readable blocksize.  The major caller-visible
85805         change is the addition of a new
85806         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85807         that both overflow and suffix chars were found.
85808
85809         * lib/human.c (humblock): Don't check separately for invalid suffix
85810         char; that is xstrtoumax's job (now that its bug is fixed).
85811         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85812         INTMAX_MAX]: New macros.
85813         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85814         TYPE_MAXIMUM): New macros.
85815         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85816         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85817         if overflow occurs, as it's what __strtol does and it's more useful
85818         in practice.
85819         (__xstrtol): If __strtol reports some error other than ERANGE,
85820         reflect it to the caller as LONGINT_INVALID.  If it reports
85821         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
85822         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
85823         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
85824         value.
85825         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
85826         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
85827         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
85828         [defined UINTMAX_MAX]: New macros.
85829
85830 2003-10-14  Bruno Haible  <bruno@clisp.org>
85831
85832         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
85833
85834 2003-10-14  Bruno Haible  <bruno@clisp.org>
85835
85836         * m4/sig_atomic_t: New file, from GNU gettext.
85837         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
85838
85839 2003-10-14  Bruno Haible  <bruno@clisp.org>
85840
85841         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
85842         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
85843         Also use volatile where needed.
85844
85845 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85846
85847         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85848         Change maintainer from Bruno Haible to 'all'.
85849
85850 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85851
85852         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85853
85854 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85855
85856         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85857         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85858         and define in terms of the other primitives.
85859         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85860         (SIZE_MAX): Define if not already defined.
85861         (array_size_overflow): New function.
85862         (xalloc_die): Abort instead of exiting if 'error' returns.
85863         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85864         (xmalloc, xrealloc): Use them.
85865         (xcalloc): Check for address arithmetic overflow.
85866         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85867         a bit faster than strcpy.
85868
85869 2003-10-10  Simon Josefsson  <jas@extundo.com>
85870
85871         * modules/argp (Depends-on): Add restrict and strcase.
85872
85873 2003-10-10  Simon Josefsson  <jas@extundo.com>
85874
85875         * m4/argp.m4: Add AC_C_INLINE.
85876
85877 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85878
85879         Merge getpass from libc, plus a few fixes.
85880
85881         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85882         Include <stdbool.h>.
85883         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85884         __fsetlocking to empty.
85885         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85886         do include <bits/libc-lock.h>.
85887         Do not include <fcntl.h>; not needed.
85888         [_LIBC]: Include <wchar.h>.
85889         (NOTCANCEL_MODE): New macro.
85890         (flockfile, funlockfile) [_LIBC]: New macros.
85891         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85892         [!_LIBC]: New macros.
85893         (call_fclose): New function.
85894         (getpass): Use it.  Save tty stream separately; this simplifies the
85895         code and makes it more reliable if stdin happens to equal stdout.
85896         Invoke __fsetlocking on tty.
85897         Handle thread cancellation if needed.
85898         Namespace cleanup (use __tcgetattr, __getline).
85899         Use bool for Booleans.
85900         [USE_IN_LIBIO]: Handle wide streams.
85901         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85902         stream might go where.
85903
85904         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85905         doesn't have to include <stdio.h> before us.
85906         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85907         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85908         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85909         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85910         if not declared, so that we can use getpass.c code from libc without
85911         rewriting it.
85912         (flockfile, ftrylockfile, funlockfile): New macros.
85913
85914 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85915
85916         * modules/getpass: Depend on stdbool.
85917
85918 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85919
85920         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85921
85922 2003-10-07  Karl Berry  <karl@gnu.org>
85923
85924         * config/config.{guess,sub}: update from config.
85925
85926 2003-10-06  Jim Meyering  <jim@meyering.net>
85927             Bruno Haible  <bruno@clisp.org>
85928
85929         This lets translators provide better translations for the
85930         "Written by ..." part of --version output.
85931         * lib/version-etc.h: Include stdarg.h.
85932         (version_etc_copyright): Declare as readonly.
85933         (version_etc): Make this function variadic with a NULL-terminated list
85934         of author name strings.
85935         (version_etc_va): New declaration.
85936         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85937         (version_etc_copyright): Declare as readonly.
85938         (version_etc_va): New function. Provide a different translatable string
85939         for each possible number of authors < 10. Abbreviate when there are 10
85940         authors or more.
85941         (version_etc): Make this function variadic. Call version_etc_va.
85942         Suggestion from Gary V. Vaughan.
85943
85944         * lib/long-options.h (parse_long_options): Change prototype: the
85945         authors string is moved to the end and becomes variadic.
85946         * lib/long-options.c: Include stdarg.h.
85947         (parse_long_options): Make this function variadic, too.
85948         Call version_etc_va, not version_etc.
85949
85950 2003-10-06  Bruno Haible  <bruno@clisp.org>
85951
85952         * modules/version-etc-2: Remove file.
85953         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85954
85955 2003-10-06  Bruno Haible  <bruno@clisp.org>
85956
85957         * modules/fatal-signal: New file.
85958         * MODULES.html.sh (func_all_modules): Add fatal-signal.
85959
85960 2003-10-06  Bruno Haible  <bruno@clisp.org>
85961
85962         * m4/fatal-signal.m4: New file.
85963         * m4/signalblocking.m4: New file, from GNU gettext.
85964
85965 2003-10-06  Bruno Haible  <bruno@clisp.org>
85966
85967         * lib/version-etc-2.h: Remove file.
85968         * lib/version-etc-2.c: Remove file.
85969
85970 2003-10-06  Bruno Haible  <bruno@clisp.org>
85971
85972         * lib/fatal-signal.h: New file, from GNU gettext.
85973         * lib/fatal-signal.c: New file, from GNU gettext.
85974
85975 2003-10-05  Paul Eggert  <eggert@twinsun.com>
85976
85977         * README: Rework advice for preventing empty .o files.
85978         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
85979         not <sys/types.h>.
85980
85981 2003-10-04  Karl Berry  <karl@gnu.org>
85982
85983         * lib/argp*: update from libc.
85984
85985 2003-10-04  Karl Berry  <karl@gnu.org>
85986
85987         * config/config.{guess,sub}: update from config.
85988
85989 2003-10-02  Bruno Haible  <bruno@clisp.org>
85990
85991         * modules/lchown (Include): Add lchown.h.
85992         * modules/time_r (Include): Use "..." syntax.
85993         * modules/xgetdomainname (Include): Add xgetdomainname.h.
85994
85995 2003-10-01  Simon Josefsson  <jas@extundo.com>
85996
85997         * MODULES.html.sh (func_all_modules): Move gethostname from section
85998         'based on' to section 'lacking' POSIX:2001.
85999
86000 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
86001
86002         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
86003         to output mode on the same stream.
86004
86005 2003-09-29  Paul Eggert  <eggert@twinsun.com>
86006
86007         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
86008         Fix arg typo in previous patch.
86009
86010 2003-09-28  Jim Meyering  <jim@meyering.net>
86011
86012         * lib/error.c: Correct cpp indentation.
86013
86014 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86015
86016         * modules/free: New file.
86017
86018 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86019
86020         * m4/free.m4: New file.
86021
86022 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86023
86024         * lib/minmax.h (MIN, MAX)
86025         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
86026         Omit the special code that used __typeof__, since we worry that
86027         it could be more trouble than it's worth.  See:
86028         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
86029         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
86030
86031         * lib/free.c: New file.
86032
86033 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
86034
86035         Trivial fixes to Makefile.am parts of module listings.
86036         * modules/strstr: Append strstr.h to lib_SOURCES.
86037         * modules/strcase: Likewise, for strcase.h.
86038
86039 2003-09-27  Karl Berry  <karl@gnu.org>
86040
86041         * config/mkinstalldirs: update from automake.
86042
86043 2003-09-26  Paul Eggert  <eggert@twinsun.com>
86044
86045         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
86046         (error_tail): Do not loop, reallocating temporary buffer, since
86047         the output cannot contain more wide characters than the input
86048         contains bytes, the size must be big enough already.  This avoids
86049         one potential size overflow calculation.  Check for size overflow
86050         when calculating temporary buffer size.  Free temporary buffer
86051         when done, if it was allocated with malloc; this plugs a memory
86052         leak.  Remove casts from void * to pointers, that are no longer
86053         needed now that we're assuming C89 or better.
86054
86055         Merge error changes from glibc.
86056
86057         * lib/error.c, error.h: Update copyright notice header to match glibc.
86058         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
86059         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
86060         Disable cancellation while printing error.
86061         * lib/error.h: Prepend __ to parameter names.
86062
86063 2003-09-26  Jim Meyering  <jim@meyering.net>
86064
86065         * lib/error.c (error_tail): Move some declarations
86066         into inner scope where the local variables are used.
86067
86068 2003-09-26  Bruno Haible  <bruno@clisp.org>
86069
86070         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
86071         stpncpy().
86072         Don't define stpncpy through config.h; it's now done through stpncpy.h.
86073
86074 2003-09-26  Bruno Haible  <bruno@clisp.org>
86075
86076         * lib/stpncpy.h (gnu_stpncpy): New declaration.
86077         (stpncpy): Define as alias for gnu_stpncpy.
86078         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
86079
86080 2003-09-25  Simon Josefsson  <jas@extundo.com>
86081
86082         * lib/xgetdomainname.h: New file.
86083         * lib/xgetdomainname.c: New file.
86084
86085 2003-09-25  Simon Josefsson  <jas@extundo.com>
86086             Bruno Haible  <bruno@clisp.org>
86087
86088         * modules/getdomainname: New file.
86089         * modules/xgetdomainname: New file.
86090         * MODULES.html.sh (func_all_modules): Add getdomainname,
86091         xgetdomainname.
86092
86093 2003-09-25  Simon Josefsson  <jas@extundo.com>
86094             Bruno Haible  <bruno@clisp.org>
86095
86096         * m4/getdomainname.m4: New file.
86097
86098 2003-09-25  Simon Josefsson  <jas@extundo.com>
86099             Bruno Haible  <bruno@clisp.org>
86100
86101         * lib/getdomainname.h: New file.
86102         * lib/getdomainname.c: New file.
86103
86104 2003-09-25  Karl Berry  <karl@gnu.org>
86105
86106         * lib/argp-fmtstream.c, argp-help.c: update from libc.
86107
86108 2003-09-25  Karl Berry  <karl@gnu.org>
86109
86110         * config/install-sh: update from automake.
86111
86112 2003-09-25  Bruno Haible  <bruno@clisp.org>
86113
86114         * modules/version-etc-2: New file, from modules/version-etc with
86115         modifications.
86116         * MODULES.html.sh (func_all_modules): Add version-etc-2.
86117
86118 2003-09-25  Bruno Haible  <bruno@clisp.org>
86119
86120         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
86121         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
86122
86123 2003-09-24  Simon Josefsson  <jas@extundo.com>
86124
86125         * modules/xgethostname: Add xgethostname.h.
86126
86127 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86128
86129         * lib/linebuffer.c (freebuffer): Don't free the argument, just
86130         the buffer associated with the argument.  Bug reported by
86131         Simon Josefsson.
86132
86133 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86134
86135         * README: Document assumptions that 'int' is at least 32 bits
86136         wide, that integer arithmetic is 2's complement without overflow,
86137         that there are no holes in integer values, that adding sizes of
86138         two nonoverlapping objects can't overflow, and that all-bits-zero
86139         yields scalar zero.  Fix spelling and capitalization typos.
86140
86141 2003-09-19  Karl Berry  <karl@gnu.org>
86142
86143         * lib/argp.h: update from libc.
86144
86145 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86146
86147         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
86148         to avoid spurious warnings like "AC_RUN_IFELSE was called before
86149         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
86150
86151 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86152
86153         * gnulib-tool: Use "test -h", not "test -L", for portability
86154         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
86155         (tags_regexp): Remove, since \| doesn't conform to POSIX.
86156         (sed_extract_prog): Issue s commands one-by-one, rather than
86157         using \| in one s command.
86158
86159 2003-09-16  Paul Eggert  <eggert@twinsun.com>
86160
86161         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
86162         input error, instead of returning NULL the next time we are called
86163         (and therefore losing track of errno).
86164
86165 2003-09-16  Bruno Haible  <bruno@clisp.org>
86166
86167         * gnulib-tool (func_create_testdir): Warn about duplicated
86168         dependencies.
86169
86170 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86171
86172         * modules/argmatch, modules/fatal, modules/obstack,
86173         modules/xalloc, modules/xgethostname: Sort dependencies by
86174         importance, not alphabetically.
86175
86176 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86177
86178         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
86179         fails, so that the caller gets the proper errno.
86180
86181         * lib/readutmp.c (read_utmp): Likewise.
86182         Check for fstat error.  Close stream and free storage
86183         when failing.
86184
86185 2003-09-14  Karl Berry  <karl@gnu.org>
86186
86187         * config/srclist.txt (strdup.c): disable for c89 changes.
86188
86189 2003-09-14  Jim Meyering  <jim@meyering.net>
86190
86191         * lib/getloadavg.c: Correct cpp indentation.
86192         * lib/strdup.c: Likewise.
86193         * lib/vasnprintf.c: Likewise.
86194
86195 2003-09-14  Bruno Haible  <bruno@clisp.org>
86196
86197         * modules/fwriteerror: New file.
86198         * MODULES.html.sh (func_all_modules): Add fwriteerror.
86199
86200 2003-09-14  Bruno Haible  <bruno@clisp.org>
86201
86202         * lib/fwriteerror.h: New file.
86203         * lib/fwriteerror.c: New file.
86204
86205 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86206
86207         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
86208         modules/xgethostname, modules/xalloc: Depend on exit.
86209
86210 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86211
86212         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
86213
86214         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
86215         and AC_MINIX, too, so that their extensions are available.
86216
86217         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
86218         This macro has been superseded by gl_BACKUPFILE.
86219
86220         More patches to assume C89 or better.
86221
86222         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
86223
86224         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
86225         unconditionally.
86226         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
86227         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
86228         Include <string.h>, <stdlib.h> unconditionally.
86229         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
86230         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
86231         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
86232         headers or for string.h.
86233         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
86234         or strtoul.
86235
86236         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
86237         headers.
86238         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
86239         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86240         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
86241         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
86242         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86243         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
86244         memcpy, memset.
86245         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
86246         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
86247         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
86248         strtol.
86249         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
86250         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
86251         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
86252         strtoul.
86253
86254 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86255
86256         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
86257         * lib/obstack.c [!defined _LIBC]: Likewise.
86258         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
86259         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
86260         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
86261
86262         More changes to assume C89 or better.
86263
86264         * lib/error.c (error_tail): Assume vprintf.
86265
86266         * lib/argmatch.c (getenv): Remove decl.
86267         * lib/progreloc.c (get_full_program_name): Define via prototype.
86268         * lib/setenv.c (clearenv): Likewise.
86269         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
86270         needed.
86271         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
86272         (malloc, memcpy): Remove decls.
86273         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
86274         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
86275         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86276         (memcpy): Remove macro.
86277         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
86278         (__P): Remove.  All uses removed.
86279         (PTR): Remove.  All uses changed to void *.
86280         (CHAR_BIT, NULL): Remove.
86281         (spaces, zeros, memset_space, memset_zero)
86282         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
86283         Remove.
86284         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
86285         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
86286         Define with prototype.
86287         Remove now-unnecessary prototype decl.
86288         (extra_args_spec): Assume ANSI C.  All uses changed.
86289         (extra_args_spec_iso): Remove.
86290         (my_strftime, emacs_strftimeu): Define via prototype.
86291         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
86292         unconditionally.
86293         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
86294         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
86295         (strtoul, strtol): Remove decls.
86296         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
86297         LONG_MAX): Remove.
86298         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86299         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
86300         (LOCALE_PARAM_PROTO): New macro.
86301         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
86302         (INTERNAL (strtol), strtol): Define with a prototype.
86303         (PARAMS): Remove.  All uses removed.
86304         * lib/tempname.c: Include <string.h> unconditionally.
86305         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
86306         * lib/xgethostname.c (main): Define with a prototype.
86307         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
86308         Include <stdlib.h> unconditionally.
86309         (calloc, malloc, realloc, free): Remove decls.
86310         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
86311         Include <stdlib.h> unconditionally.  Sort include file names.
86312         (strtod): Remove.
86313         (xstrtod): Define with a prototype.
86314         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
86315         (strtol, strtoul): Remove decls.
86316
86317 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86318
86319         More patches to assume C89 or better.
86320         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
86321         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
86322         string.h, memchr, STDC_HEADERS.
86323
86324 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86325
86326         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
86327         Include <stdlib.h>, <string.h> unconditionally.
86328         Remove now-unnecessary cast to char *.
86329         * lib/strnlen.c: Include <string.h> unconditionally.
86330         * lib/yesno.c (yesno): Define with a prototype.
86331
86332 2003-09-11  Bruno Haible  <bruno@clisp.org>
86333
86334         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
86335
86336 2003-09-10  Jim Meyering  <jim@meyering.net>
86337
86338         * lib/error.c: Correct indentation of cpp directives.
86339
86340 2003-09-10  Bruno Haible  <bruno@clisp.org>
86341
86342         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
86343         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
86344         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
86345         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
86346         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
86347         <stdlib.h> and <string.h> checks.
86348         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
86349         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
86350
86351 2003-09-10  Bruno Haible  <bruno@clisp.org>
86352
86353         * lib/strcspn.c: Include <string.h> unconditionally.
86354         * lib/strpbrk.c: Include <string.h> unconditionally.
86355         * lib/strstr.c: Include <string.h> unconditionally.
86356         * lib/unicodeio.c: Include <string.h> unconditionally.
86357         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
86358         * lib/unsetenv.c: Likewise.
86359         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
86360         * lib/yesno.c: Include <stdlib.h> unconditionally.
86361         (rpmatch): Add prototype.
86362
86363 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86364
86365         More patches to assume C89 or better.
86366         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
86367         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
86368         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
86369         or for string.h.
86370         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
86371         stdlib.h.
86372         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
86373         C headers.
86374         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
86375         string.h.
86376         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
86377         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
86378         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
86379         or for string.h.
86380         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
86381         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
86382         C headers.
86383         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
86384         memcpy.
86385         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
86386         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
86387         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
86388         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
86389         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
86390         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
86391         string.h, free.
86392         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
86393         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
86394         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
86395         C headers, or for string.h.
86396         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
86397         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
86398         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
86399         headers, memory.h, stdlib.h, string.h, strings.h.
86400         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
86401         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
86402         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
86403         strchr.
86404         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
86405         headers, memory.h, string.h.
86406         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
86407         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
86408         free.
86409         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
86410         headers.
86411         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
86412         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
86413         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
86414         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
86415         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
86416
86417 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86418
86419         More K&R removal.
86420
86421         * lib/acosl.c (main): Use a prototype.
86422         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
86423         tanl.c: Likewise.
86424
86425         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
86426
86427         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
86428         (getopt, etopt_long, getopt_long_only, _getopt_internal)
86429         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
86430         with a prototype.
86431         * lib/getopt.c (const): Remove macro.
86432         Include <string.h> unconditionally.
86433         (my_index): Remove; all uses changed to strchr.
86434         (strlen): Remove decl.
86435         (exchange): Remove forward decl; no longer needed.
86436         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
86437         Define with prototype.
86438         * lib/getopt1.c (const): Remove macro.
86439         (getopt_long, getopt_long_only, main): Define with prototype.
86440
86441         * lib/getugroups.c: Include <string.h> unconditionally.
86442
86443         * lib/getusershell.c: Include <stdlib.h> unconditionally.
86444         (getusershell, setusershell, endusershell, readname, main):
86445         Define with prototypes.
86446
86447         * lib/group-member.c: Include group-member.h first.
86448         Include <stdlib.h> unconditionally.
86449
86450         * lib/hard-locale.c: Include hard-locale.h first.
86451         Include <stdlib.h>, <string.h> unconditionally.
86452
86453         * lib/hash.c (free, malloc): Remove decls.
86454         Include <stdlib.h> unconditionally.
86455
86456         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
86457         (getenv): Do not declare.
86458
86459         * lib/idcache.c: Include <string.h> unconditionally.
86460
86461         * lib/long-options.c: Include long-options.h first, to test interface.
86462         Include <stdlib.h> unconditionally.
86463
86464         * lib/makepath.c: Include makepath.h first, to test interface.
86465         Include <stdlib.h> and <string.h> unconditionally.
86466
86467         * lib/linebuffer.c: Include <stdlib.h>.
86468         (free): Remove decl.
86469
86470         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
86471         stddef.h. rpl_malloc returns void *, not char *.
86472         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
86473         prototype.
86474
86475         * lib/md5.h: Include <limits.h> unconditionally.
86476         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
86477         (__P): Remove; all uses removed.
86478         * lib/md5.c: Include "md5.h" first.
86479         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
86480         md5_buffer, md5_process_bytes, md5_process_block):
86481         Define with prototypes.
86482         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
86483         * lib/sha.c: Include "sha.h" first.
86484         Include <stdlib.h>, <string.h> unconditionally.
86485
86486         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
86487         * lib/memcmp.c (__ptr_t): Likewise.
86488         * lib/memrchr.c (__ptr_t): Likewise.
86489         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
86490         Include <string.h> unconditionally.
86491         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
86492         * lib/memchr.c: Include <stdlib.h> unconditionally.
86493         * lib/memchr.c (LONG_MAX): Remove.
86494         * lib/memrchr.c (LONG_MAX): Likewise.
86495         * lib/memchr.c (__memchr): Define via a prototype.
86496         * lib/memrchr.c (__memrchr): Likewise.
86497         * lib/memcmp.c (__P): Remove, and remove all uses.
86498         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
86499         Remove forward decls; no longer needed.
86500         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
86501         Use types required by C89 in prototype.
86502
86503         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
86504         * lib/savedir.c: Likewise.
86505         * lib/mkdir.c (free): Remove decl.
86506         * lib/rmdir.c (rmdir): Define with a prototype.
86507         * lib/savedir.c: Include savedir.h first, to test interface.
86508
86509         * lib/mktime.c (STDC_HEADERS): Remove.
86510         Include <stdlib.h>, <string.h> unconditionally.
86511
86512         * lib/modechange.c: Include <stdlib.h> unconditionally.
86513         (malloc): Remove decl.
86514
86515         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
86516         (free): Remove decl.
86517
86518         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
86519         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
86520         (This type really should be intptr_t, but that's a C99ism.)
86521         (_obstack_memcpy): Remove: all uses changed to memcpy.
86522         Include <string.h> unconditionally.
86523         (struct obstack): Assume __STDC__ for types of members
86524         chunkfun, freefun, extra_arg.
86525         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
86526         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
86527         obstack_begin, obstack_specify_allocation,
86528         obstack_specify_allocation_with_arg, obstack_chunkfun,
86529         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
86530         Remove unprototyped decls and the macros that use them.
86531         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
86532         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
86533         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
86534         (defined __STDC__ && __STDC__)]:
86535         Remove nonprototyped code.
86536         Include <stdlib.h> unconditionally.
86537         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
86538         _obstack_allocated_p, _obstack_free, obstack_free,
86539         _obstack_memory_used, print_and_abort):
86540         Define using prototypes.
86541         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
86542         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
86543         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
86544         obstack_next_free, obstack_object_size, obstack_room) [0]:
86545         Remove unused, unprototyped code.
86546
86547         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
86548
86549         * lib/physmem.c (physmem_total, physmem_available, main): Define
86550         with prototypes.
86551
86552         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
86553         (main): Define with a prototype.
86554
86555         * lib/posixver.c (getenv): Remove decl.
86556
86557         * lib/putenv.c (malloc): Returns void *, not char *.
86558         Include <string.h> unconditionally.
86559         (strchr, memcpy, NULL): Do not define.
86560
86561         * lib/readtokens.c: Include readtokens.h first, to test interface.
86562         Include <stdlib.h>, <string.h> unconditionally.
86563         (init_tokenbuffer): Define with a prototype.
86564
86565         * lib/regex.c (PARAMS): Remove.  All uses removed.
86566         All uses of _RE_ARGS removed, too.
86567         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86568         unconditionally.
86569         (bzero): Assume memset exists.
86570         (memcmp, memcpy, NULL): Remove.
86571         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
86572         char, or assignments to local vars of type signed char.
86573         (init_syntax_once, PREFIX(extract_number_and_incr),
86574         PREFIX(print_partial_compiled_pattern),
86575         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
86576         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
86577         PREFIX(regex_grow_registers), PREFIX(regex_compile),
86578         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
86579         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
86580         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
86581         wcs_compile_range, byte_compile_range, truncate_wchar,
86582         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
86583         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
86584         count_mbs_length, wcs_re_match_2_internal,
86585         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
86586         PREFIX(alt_match_null_string_p),
86587         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
86588         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
86589         regfree, PREFIX(extract_number)): Define with prototype.  Remove
86590         now-unnecessary declaration, if any.
86591         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
86592         regcomp, regexec):
86593         Remove now-unnecessary casts among pointer types.
86594         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
86595
86596         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
86597         (free): Remove decl.
86598
86599         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
86600
86601         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
86602         (free): Remove decl.
86603
86604         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
86605         * lib/xgetcwd.c: Likewise.
86606
86607         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
86608         (free): Remove decl.
86609
86610         * lib/strchrnul.c (strchrnul): Define with a prototype.
86611         Fix bug: c_in was not converted to char before searching.
86612
86613         The following changes are not K&R related:
86614
86615         * lib/group-member.h: Include <sys/types.h>, so that this file is
86616         self-contained.
86617         * lib/makepath.h: Likewise.
86618
86619         * lib/getusershell.c (readname, default_index, line_size, readname):
86620         Use size_t, not int, for sizes.
86621         (readname): If the size overflows, report an error instead of
86622         looping forever.
86623
86624 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86625
86626         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
86627         libc.
86628
86629 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86630
86631         * README: New section: portability guidelines.
86632
86633 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86634
86635         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
86636         C89 spec.
86637
86638 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86639
86640         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
86641
86642 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86643
86644         Assume C89 or better; remove K&R cruft.
86645         A few of these changes were first proposed by Derek Robert Price
86646         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
86647
86648         * lib/addext.c: Include <string.h> unconditionally.
86649         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
86650         Don't declare getenv or malloc.
86651
86652         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
86653         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
86654         (NULL): Remove.
86655         (find_stack_direction, alloca): Use prototypes.
86656
86657         * lib/atexit.c (atexit): Define using a prototype.
86658
86659         * lib/basename.c, dirname.c, stripslash.c:
86660         Include <string.h> unconditionally.
86661
86662         * lib/bcopy.c: Include <stddef.h>.
86663         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
86664
86665         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
86666
86667         * lib/error.h (error, error_at_line, error_print_progname)
86668         [! (defined (__STDC__) && __STDC__)]: Remove decls.
86669         * lib/error.c: Include error.h first, to check interface.
86670         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86671         (VA_START): Remove; all uses changeed to va_start.
86672         (exit, strerror): Remove decls.
86673         (error_print_progname): Prototype uncondionally.
86674         Don't include <errno.h>; no longer needed.
86675         (private_strerror): Remove.
86676         (error_tail): Always define.
86677         (error, error_at_line): Assume C89 or better; always use prototypes.
86678         * lib/fatal.c: Include "fatal.h" first, to test interface.
86679         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86680         (VA_START): Remove; all uses changed to va_start.
86681         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86682         this case.
86683         (exit): Remove decl.
86684         (fatal): Prototype unconditionally.  Assume va_start works.
86685         Abort at end, to pacify gcc.
86686
86687         * lib/euidaccess.c (main): Define with a prototype.
86688
86689         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86690
86691         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86692
86693         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86694         prototypes.
86695         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86696         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86697         (getenv): Remove decl.
86698         (fnmatch): Define using a prototype.
86699         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86700         (FCT): Define using a prototype.
86701
86702         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86703
86704         * lib/gethostname.c: Include <stddef.h>.
86705         (gethostname): Define with prototype.  Length is size_t, not int.
86706
86707 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86708
86709         Assume C89 or better; remove K&R cruft.
86710         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86711         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86712         string.h, getenv, malloc.
86713         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86714         headers.
86715         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86716         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86717         do not check for strerror.
86718         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86719         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86720         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86721         do not check for doprnt or vprintf.
86722         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86723         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86724
86725 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86726
86727         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86728         getversion.c should have been removed then, but was accidentally
86729         preserved.
86730
86731         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86732         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86733
86734 2003-09-08  Karl Berry  <karl@gnu.org>
86735
86736         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86737                 config, forget about prep.
86738
86739         * config/depcomp, missing: update from automake.
86740
86741 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86742
86743         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86744         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86745
86746 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86747
86748         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86749         copy_tm_result.  Bug reported by Simon Josefsson in
86750         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86751
86752 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86753
86754         * m4/time_r.m4: New file.
86755         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86756         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86757         is. Check for timegm declaration.
86758         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86759         Do not check for gmtime_r.
86760         Replace mktime if __mktime_internal does not exist and if mktime
86761         hasn't been replaced already.
86762
86763 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86764
86765         * lib/time_r.c, lib/time_r.h: New files.
86766
86767         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86768         __localtime_r.
86769         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86770         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86771
86772         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86773         __gmtime_r.
86774         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86775         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86776         Include <time_r.h>.
86777
86778         * lib/timegm.c: Switch to glibc implementation, with the following
86779         changes:
86780         [defined HAVE_CONFIG_H]: Include <config.h>.
86781         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86782         (__mktime_internal) [!defined _LIBC]: New decl.
86783         (__gmtime_r) [!defined _LIBC]: New macro and function.
86784         (timegm): Use a prototype, since gnulib assumes C89.
86785         Do not bother declaring tmp to be const, as it's not really usefu.
86786         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86787         (timegm): Declare only if HAVE_DECL_TIMEGM.
86788
86789 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86790
86791         * MODULES.html.sh (func_all_modules): Add time_r.
86792         * modules/time_r: New file.
86793         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86794         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86795
86796 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86797
86798         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86799         Bug reported by Lute Kamstra in
86800         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86801
86802         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86803         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86804         course with correspondingly smaller numbers for tomorrow and
86805         yesterday.  From Tadayoshi Funaba.  Originally installed into
86806         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86807         coreutils merge?).
86808
86809 2003-08-31  Simon Josefsson  <jas@extundo.com>
86810
86811         * modules/timegm: New file.
86812         * MODULES.html.sh (func_all_modules): Add timegm.
86813
86814 2003-08-31  Simon Josefsson  <jas@extundo.com>
86815
86816         * m4/timegm.m4: New file.
86817
86818 2003-08-31  Simon Josefsson  <jas@extundo.com>
86819
86820         * lib/timegm.h: New file.
86821         * lib/timegm.c: New file.  Based on
86822         wget-1.8.2/src/http.c:mktime_from_utc.
86823
86824 2003-08-31  Karl Berry  <karl@gnu.org>
86825
86826         * lib/argp.h: update from libc.
86827
86828 2003-08-28  Bruno Haible  <bruno@clisp.org>
86829
86830         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
86831         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
86832         followed by '#define fnmatch fnmatch_posix' gives an error.
86833
86834 2003-08-28  Bruno Haible  <bruno@clisp.org>
86835
86836         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
86837         warning on QNX, which defines O_BINARY to 000000.
86838
86839 2003-08-27  Jim Meyering  <jim@meyering.net>
86840
86841         * m4/mkstemp.m4: Require that the system mkstemp be able to create
86842         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
86843         would fail after 32.  Reported by Danny Levinson.  Details here:
86844         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86845
86846 2003-08-24  Bruno Haible  <bruno@clisp.org>
86847
86848         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86849         MSVC7 <stdio.h> is included later.
86850
86851 2003-08-22  Simon Josefsson  <jas@extundo.com>
86852
86853         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86854
86855 2003-08-20  Karl Berry  <karl@gnu.org>
86856
86857         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86858
86859 2003-08-20  Bruno Haible  <bruno@clisp.org>
86860
86861         * modules/progname: New file.
86862         * MODULES.html.sh (func_all_modules): Add progname.
86863
86864 2003-08-20  Bruno Haible  <bruno@clisp.org>
86865
86866         * lib/progname.h: New file, from GNU gettext.
86867         * lib/progname.c: New file, from GNU gettext.
86868         * lib/progreloc.c: New file, from GNU gettext.
86869
86870 2003-08-19  Jim Meyering  <jim@meyering.net>
86871
86872         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86873         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86874
86875 2003-08-19  Bruno Haible  <bruno@clisp.org>
86876
86877         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86878         more.
86879
86880 2003-08-19  Bruno Haible  <bruno@clisp.org>
86881
86882         * lib/xstrdup.c: Assume <string.h> exists.
86883
86884 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86885
86886         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86887         in makefile rules.
86888
86889 2003-08-18  Jim Meyering  <jim@meyering.net>
86890
86891         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86892         * m4/lib-ld.m4: Likewise.
86893
86894 2003-08-18  Jim Meyering  <jim@meyering.net>
86895
86896         * lib/setenv.h: Indent nested cpp directive.
86897         * lib/vasnprintf.c: Remove trailing blanks.
86898
86899 2003-08-17  Simon Josefsson  <jas@extundo.com>
86900
86901         * modules/xstrndup: New file.
86902         * MODULES.html.sh (func_all_modules): Add xstrndup.
86903
86904 2003-08-17  Simon Josefsson  <jas@extundo.com>
86905
86906         * modules/argp: Fix autoconf macro name. Add more dependencies.
86907
86908 2003-08-17  Simon Josefsson  <jas@extundo.com>
86909
86910         * m4/xstrndup.m4: New file.
86911
86912 2003-08-17  Simon Josefsson  <jas@extundo.com>
86913
86914         * m4/argp.m4: New file.
86915
86916 2003-08-17  Simon Josefsson  <jas@extundo.com>
86917             Bruno Haible  <bruno@clisp.org>
86918
86919         * lib/xstrndup.h: New file.
86920         * lib/xstrndup.c: New file.
86921
86922 2003-08-17  Bruno Haible  <bruno@clisp.org>
86923
86924         * modules/strndup (Files, Include): Add lib/strndup.h.
86925
86926 2003-08-17  Bruno Haible  <bruno@clisp.org>
86927
86928         * modules/euidaccess (Files): Add lib/euidaccess.h.
86929
86930 2003-08-17  Bruno Haible  <bruno@clisp.org>
86931
86932         * lib/strndup.h: New file.
86933
86934 2003-08-17  Bruno Haible  <bruno@clisp.org>
86935
86936         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86937         like AC_GNU_SOURCE.
86938         * modules/extensions (configure.ac): Comment out the invocation of
86939         gl_USE_SYSTEM_EXTENSIONS.
86940
86941 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86942
86943         Merges from coreutils, etc.
86944         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86945         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86946         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86947         fixing a typo.
86948         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86949         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86950
86951 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86952
86953         Document merge from coreutils.
86954         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86955         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86956         * modules/utime: Add m4/utimes-null.m4.
86957
86958 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86959
86960         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
86961         space, undoing this 2003-08-12 change:
86962         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86963
86964 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86965
86966         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
86967         strtoul.c from libc, undoing this 2003-08-12 change:
86968         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86969
86970 2003-08-16  Jim Meyering  <jim@meyering.net>
86971
86972         Merges from coreutils.
86973         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
86974         prefix.  Adjust cache variables similarly.  Create 500 rather than
86975         just 300 files, to exercise bug on Darwin6.5, too.
86976         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
86977         $missing_dir.
86978         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
86979         AM_SYS_POSIX_TERMIOS.
86980         Reported by mkc@mathdogs.com.
86981         Also change use of $am_cv_sys_posix_termios
86982         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
86983         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
86984         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
86985         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
86986         in /proc/mounts until it finds one with matching device number.  This
86987         is unnecessary when the FILE argument *is* a mount point.  No stat call
86988         is necessary in that case.  So, disable the statvfs-testing code on
86989         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
86990         as RedHat bug# 84846.
86991         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86992         to 1MB, so as not to render systems with no stack size limit (e.g.,
86993         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86994         Include <unistd.h>.  On some systems,
86995         it is required for the definition of _SC_PAGESIZE.
86996
86997 2003-08-16  Jim Meyering  <jim@meyering.net>
86998
86999         Merge from coreutils.
87000         * lib/xstrtoimax.c: #else #if -> #elif.
87001         * lib/xstrtoumax.c: Likewise.
87002
87003 2003-08-16  Jim Meyering  <jim@meyering.net>
87004
87005         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
87006         * m4/utimes.m4: Removed.
87007         * m4/utimes-null.m4: Renamed from utimes.m4.
87008
87009         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
87010         to 1MB, so as not to render systems with no stack size limit (e.g.,
87011         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
87012         Include <unistd.h>.  On some systems,
87013         it is required for the definition of _SC_PAGESIZE.
87014
87015 2003-08-16  Jim Meyering  <jim@meyering.net>
87016         and Paul Eggert  <eggert@cs.ucla.edu>
87017
87018         Merges from coreutils, etc.
87019
87020         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
87021         using the latest version from cvs.  This avoids problems with #line
87022         directives using a vendor (Sun) compiler.
87023         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
87024         Don't set GETGROUPS_LIB here; now it's
87025         done via getgroups.m4's wrapper function.
87026         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
87027         rather than just in sh-util/configure.in, so that the
87028         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
87029         same.
87030         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
87031         AC_FUNC_GETLOADAVG where to find getloadavg.c.
87032         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
87033         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
87034         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
87035         Remove code that is now done by the newly-required macros.
87036         Append $(EXEEXT) to DF_PROG.
87037         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
87038         Do not invoke or require the following here,
87039         since prereq.m4 or some gnulib .m4 now does this for us:
87040         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
87041         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
87042         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
87043         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
87044         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
87045         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
87046         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
87047         AC_FUNC_OBSTACK.
87048         Do not replace the following functions, as this is now the job
87049         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
87050         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
87051         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
87052         atexit getpass, strdup, getpagesize.
87053         Replace 'raise'.
87054         Do not check for the following functions, as this is now the job
87055         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
87056         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
87057         setregid.
87058         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
87059         Check for sys/sysctl.h.
87060         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
87061         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
87062         of checking for ssize_t ourselves.
87063
87064         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
87065         Require every macro that gnulib/modules/* suggests for us.
87066         (jm_PREREQ_ADDEXT): New macro.
87067         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
87068         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
87069
87070         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
87071         (gl_PHYSMEM): Use it.
87072         Also check for `table' function.
87073         Check for new headers and functions.
87074         Add check for sys/sysmp.h.
87075         With suggestions from Kaveh Ghazi.
87076         Ignore headers that are present but cannot be compiled.  This
87077         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
87078         C 5.4.
87079
87080 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87081
87082         Document merge from coreutils.
87083         * modules/userspec: Depend on posixver.
87084         * modules/strftime: Depend on tzset.
87085
87086 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87087
87088         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
87089         rather than tab, after '#' in shell-script copyright notices.
87090         Suggested by Bruno Haible.
87091
87092 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87093
87094         * config/srclist-update: Use three spaces, rather than tab, after '#'
87095         in shell-script copyright notices.  Suggested by Bruno Haible.
87096         Remove unnecessary parenthesization in regular expression.
87097
87098 2003-08-15  Jim Meyering  <jim@meyering.net>
87099
87100         Merge from coreutils.
87101         * lib/xgethostname.c: Include <stdlib.h>.
87102         (xghostname): Don't exit for anything other than memory-related
87103         failure; just return NULL.
87104         * lib/userspec.c: Include "posixver.h".
87105         (parse_user_spec): Accept `.' as a separator only
87106         in pre-POSIX-200112 mode.
87107         * lib/strtoimax.c: Use #elif rather than #else #if.
87108         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
87109         Remove function, now that we can rely on a working tzset function.
87110         [!_LIBC]: Ensure that the required autoconf test has been run.
87111         [!defined _NL_CURRENT && HAVE_STRFTIME]:
87112         Use underlying_strftime for %r.
87113         * lib/sha.c: Merge in some clean-up and optimization changes from
87114         glibc.
87115         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
87116         Ensure that it is a multiple of 64.
87117         Rearrange loop exit tests so as to avoid performing an
87118         additional fread after encountering an error or EOF.
87119         * lib/realloc.c: Update copyright date.
87120
87121 2003-08-15  Jim Meyering  <jim@meyering.net>
87122         and Paul Eggert  <eggert@twinsun.com>
87123
87124         Merge from coreutils.
87125         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
87126         member but strut utmpx does not.  Needed for AIX 4.3.3.
87127         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
87128
87129 2003-08-15  Jim Meyering  <jim@meyering.net>
87130         and Paul Eggert  <eggert@cs.ucla.edu>
87131
87132         Merges from coreutils, etc.
87133         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
87134         Require gl_FUNC_TZSET_CLOBBER.
87135         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
87136         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
87137         members.
87138
87139 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87140
87141         Help the merge from coreutils.
87142         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
87143         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
87144         * m4/tzset.m4: Use it too.
87145
87146 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87147
87148         * modules/tzset: New file.
87149
87150 2003-08-14  Jim Meyering  <jim@meyering.net>
87151
87152         Merges from coreutils.
87153         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
87154         variable names, rather than @FNMATCH_H@.
87155         * modules/alloca: Likewise for $(ALLOCA_H).
87156
87157         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
87158         the three copies of the literal target, `fnmatch.h'.
87159         * modules/alloca (alloca.h): Likewise.
87160
87161 2003-08-14  Jim Meyering  <jim@meyering.net>
87162
87163         Merge from coreutils.
87164         * m4/tzset.m4: New file.
87165         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
87166         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
87167         otherwise, AIX 5.1 systems would end up using the latter.
87168         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
87169         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
87170         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
87171         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
87172
87173 2003-08-14  Jim Meyering  <jim@meyering.net>
87174
87175         Merge from coreutils.
87176         * lib/obstack.h: Whitespace changes.
87177         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
87178         and xcalloc return values.
87179         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
87180         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
87181         hang on OSF/1 5.1 for DIR on both local and remote file systems.
87182         Reported by (and fix confirmed by) Nelson H. F. Beebe.
87183         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87184         error from mntctl.
87185         Use mntctl's return value to drive the entry-processing loop, since
87186         we can't rely on the value of the vmt_length member in the last
87187         entry.  On some systems doing so could result in exhausting
87188         virtual memory.  Based in part on a patch from Mike Jetzer.
87189
87190 2003-08-14  Jim Meyering  <jim@meyering.net>
87191         and Paul Eggert  <eggert@twinsun.com>
87192
87193         Merges from coreutils, plus other fixes.
87194         * lib/physmem.c: Merge in portability changes from gcc/libiberty
87195         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
87196         for credits and details.  Thanks to Kaveh Ghazi for helping
87197         to keep these files in sync.
87198         (ARRAY_SIZE): Define it.
87199         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
87200         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
87201         (memcasecmp): Don't assume size_t fits in unsigned int.
87202         Remove casts and duplicate code.
87203         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
87204         (memcpy): Remove definition.
87205         Merge in some clean-up and optimization changes from glibc.
87206         [BLOCKSIZE]: Move definition to top of file.
87207         Ensure that it is a multiple of 64.
87208         Rearrange loop exit tests so as to avoid performing an
87209         additional fread after encountering an error or EOF.
87210         * lib/md5.h (md5_uintptr): Define.
87211         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
87212         return to the initial working directory.  Preserve errno
87213         for caller.
87214         * lib/idcache.c: Include "xalloc.h".
87215         (xmalloc, xrealloc): Remove decls.
87216         (getuser): Remove casts no longer required in C89.
87217         * lib/human.c: Include stdio.h, for sprintf.
87218         * lib/group-member.c: Include "xalloc.h".
87219         (xmalloc, xrealloc): Remove decls.
87220         (get_group_info): Remove casts no longer required in C89.
87221         * lib/getusershell.c (readname): Remove casts no longer required in
87222         C89.
87223         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
87224         * lib/getline.c: Whitespace fix, from coreutils.
87225
87226 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87227
87228         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
87229         Check for isascii.
87230
87231         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87232         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87233         Undo previous (whitespace-only) change.
87234
87235 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87236
87237         * lib/exclude.c: Include <ctype.h>
87238         (IN_CTYPE_DOMAIN): New macro.
87239         (is_space): New fn.
87240         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
87241         and empty lines.
87242
87243         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87244         Undo previous (whitespace-only) change.
87245
87246 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87247
87248         * config/srclist-update: Change update back to the old behavior,
87249         leaving whitespace alone.  Use one 'sed' command rather than a
87250         pipeline.
87251         (fixlicense): Now a variable, not a function.
87252         (remove_trailing_blanks): Remove.
87253         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
87254         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87255         Undo previous (whitespace-only) change.
87256
87257 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87258
87259         Merge from coreutils.
87260         * modules/euidaccess: Add lib_SOURCES, include for new
87261         file euidaccess.h
87262
87263 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87264
87265         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87266         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87267         Normalize leading white space and remove trailing white space.
87268
87269         Merge from coreutils
87270         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
87271
87272         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
87273         0.12.1.  These files are now being upgraded automatically by
87274         ../config/srclist-update.
87275
87276 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87277
87278         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87279         Normalize leading white space and remove trailing white space.
87280         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
87281         notice, as per ../config/srclist-update.
87282
87283         Merge from coreutils.
87284         * lib/euidaccess.h: New file.
87285         * lib/euidaccess.c: Include it.
87286         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
87287         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
87288         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
87289
87290 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87291
87292         * config/srclist-update: Add copyright notice.
87293         (remove_id_lines, remove_trailing_blanks): New constants.
87294         (fixfile): Use them to normalize spacing a bit in copied files.
87295         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87296         Normalize leading white space and remove trailing white space.
87297
87298         * config/texinfo.tex: Sync with texinfo.
87299
87300         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
87301         strtoul.c from libc, to merge coreutils whitespace changes.
87302
87303         * config/srclist.txt: Get the following m4 files from gettext:
87304         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
87305         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
87306         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
87307         wint_t.m4.
87308
87309 2003-08-12  Karl Berry  <karl@gnu.org>
87310
87311         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
87312         been made.
87313
87314 2003-08-11  Paul Eggert  <eggert@twinsun.com>
87315
87316         * modules/gnu-source, m4/gnu-source.m4:
87317         Remove; we're assuming Autoconf 2.54 or later now.
87318         Suggested by Bruno Haible.
87319         * MODULES.html.sh (func_all_modules): Remove gnu-source.
87320
87321 2003-08-11  Bruno Haible  <bruno@clisp.org>
87322
87323         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
87324
87325 2003-08-11  Bruno Haible  <bruno@clisp.org>
87326
87327         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
87328         (vasnprintf): Use it instead of wcslen.
87329
87330 2003-08-11  Bruno Haible  <bruno@clisp.org>
87331
87332         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
87333         value to ensure that _Bool promotes to int. Use #define for _Bool when
87334         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
87335
87336 2003-08-10  Karl Berry  <karl@gnu.org>
87337
87338         * lib/regex.h: update from libc (whitespace fix).
87339
87340 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87341
87342         Merge some files from coreutils.  These changes were
87343         originally made by Jim Meyering.
87344         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
87345         many older Unixes require this.
87346         * lib/alloca.c (alloca): Remove cast to argument of free;
87347         no longer needed in C89.
87348         * lib/alloca_.h, regex.h: Fix white space to match
87349         what GNU indent does.
87350
87351 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87352
87353         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
87354         apparently Emacs's Unicode mode got confused before my 2003-08-05
87355         checkin.
87356
87357 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87358
87359         * m4/extensions.m4: New file.
87360         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
87361         Require gl_USE_SYSTEM_EXTENSIONS.
87362         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
87363         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
87364
87365 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87366
87367         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
87368         * modules/extensions, modules/gnu-source: New files.
87369         * modules/timespec, modules/unlocked-io: Depend on extensions.
87370
87371 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87372
87373         * modules/restrict: New file.
87374         * MODULES.html.sh (func_all_modules): Add restrict.
87375         * modules/regex: Depend on restrict.
87376
87377 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87378
87379         * m4/restrict.m4: New file.
87380         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
87381
87382 2003-08-07  Bruno Haible  <bruno@clisp.org>
87383
87384         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
87385         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
87386
87387 2003-08-07  Bruno Haible  <bruno@clisp.org>
87388
87389         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
87390         makes the module 'getndelim2' compatible with the module 'getline'.
87391
87392 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87393
87394         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
87395         byte with "\201" to avoid glitches when editing that source file
87396         with multi-gnome-terminal.
87397
87398 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87399
87400         * lib/bumpalloc.h: Remove.
87401
87402 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87403
87404         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
87405         * modules/bumpalloc: Remove.
87406
87407 2003-08-04  Paul Eggert  <eggert@twinsun.com>
87408
87409         * lib/getloadavg.c: Change copyright notice and spacing to conform to
87410         GNU coding style.
87411
87412         Merge from coreutils.
87413         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
87414         1. From glibc.
87415         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
87416         from Karl Berry, implemented by Jim Meyering.
87417         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
87418         from Dmitry V. Levin.
87419         Remove anachronistic cast of xrealloc.
87420         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
87421         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
87422         type. Otherwise, it wouldn't compile with at least /bin/cc on
87423         ymp-cray-unicos9.0.2.X.
87424         Combine two mostly-identical uses of alloca into one.
87425         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
87426
87427 2003-08-04  Dave Love  <d.love@dl.ac.uk>
87428
87429         [From Emacs.]
87430
87431         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
87432         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
87433         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
87434         obsolete NLIST_NAME_UNION.
87435         [__GNU__]: Undef BSD and FSCALE.
87436         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
87437
87438 2003-08-03  Paul Eggert  <eggert@twinsun.com>
87439
87440         * lib/stdbool_.h (_Bool): Make it signed char, instead of
87441         an enum type, so that it's guaranteed to promote to int.  See:
87442         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
87443
87444 2003-08-03  Karl Berry  <karl@gnu.org>
87445
87446         * config/depcomp: update from automake.
87447
87448 2003-07-31  Paul Eggert  <eggert@twinsun.com>
87449
87450         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
87451         (strerror): Don't assume that a printable int fits in 14 bytes.
87452
87453 2003-07-31  Bruno Haible  <bruno@clisp.org>
87454
87455         * modules/getpass-gnu: New file.
87456         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
87457
87458 2003-07-31  Bruno Haible  <bruno@clisp.org>
87459
87460         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
87461
87462 2003-07-24  Karl Berry  <karl@gnu.org>
87463
87464         * config/missing: update from automake.
87465
87466 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
87467             Bruno Haible  <bruno@clisp.org>
87468
87469         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
87470         * lib/getline.c (getline, getdelim): Likewise.
87471         Remove _GNU_SOURCE define; now it's defined in config.h through
87472         m4/getline.m4.
87473
87474 2003-07-23  Karl Berry  <karl@gnu.org>
87475
87476         * config/config.sub: update from prep.
87477
87478 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87479
87480         * modules/xalloc (Depends-on): Add exitfail.
87481         * modules/xmemcoll: Likewise.
87482
87483 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87484
87485         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
87486         over-parenthesization in macros.
87487
87488         Sync with coreutils.
87489
87490         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
87491         required by C99.
87492
87493         Use `exit_failure' for xalloc and xmemcoll instead of their own
87494         private exit-failure variables.
87495         * lib/xalloc.h (xalloc_exit_failure): Remove.
87496         * lib/xmalloc.c: Likewise.  Include exitfail.h.
87497         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
87498         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
87499         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
87500         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
87501
87502 2003-07-20  Jim Meyering  <jim@meyering.net>
87503
87504         * modules/closeout (Depends-on): Add exitfail.
87505         Suggestion from Bruno Haible.
87506
87507 2003-07-19  Karl Berry  <karl@gnu.org>
87508
87509         * config/config.sub: update from prep.
87510
87511 2003-07-18  Paul Eggert  <eggert@twinsun.com>
87512
87513         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
87514         Remove.
87515         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
87516         to test that it can stand by itself.  Include "exitfail.h".
87517         Clients should set exit_failure instead.
87518         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
87519
87520 2003-07-18  Bruno Haible  <bruno@clisp.org>
87521
87522         * modules/getndelim2: New file.
87523         * modules/getline: Share files with module getndelim2.
87524         * modules/getnline: Depend on getndelim2 instead of sharing files with
87525         it. Add getnline.c to lib_SOURCES.
87526         * MODULES.html.sh (func_all_modules): Add getndelim2.
87527
87528 2003-07-18  Bruno Haible  <bruno@clisp.org>
87529
87530         * m4/getndelim2.m4: New file.
87531         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
87532         invoke gl_PREREQ_GETNDELIM2.
87533         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
87534         gl_PREREQ_GETNDELIM2.
87535         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
87536         gl_GETNDELIM2.
87537
87538 2003-07-18  Bruno Haible  <bruno@clisp.org>
87539
87540         * lib/getndelim2.h: New file.
87541         * lib/getndelim2.c: Make into a module of its own. Include config.h,
87542         getndelim2.h.
87543         (getndelim2): Make non-static. Change return type to ssize_t.
87544         * lib/getline.h: Change argument names.
87545         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
87546         * lib/getnline.c: Include getndelim2.h.
87547
87548 2003-07-18  Andreas Schwab  <schwab@suse.de>
87549
87550         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
87551
87552 2003-07-17  Karl Berry  <karl@gnu.org>
87553
87554         * config/config.sub: update from prep.
87555
87556 2003-07-17  Bruno Haible  <bruno@clisp.org>
87557
87558         * modules/getnline: New file.
87559         * modules/getline: Add lib/getndelim2.c to source file list.
87560         * MODULES.html.sh (func_all_modules): Add getnline.
87561
87562 2003-07-17  Bruno Haible  <bruno@clisp.org>
87563
87564         * m4/getnline.m4: New file.
87565
87566 2003-07-17  Bruno Haible  <bruno@clisp.org>
87567
87568         * m4/Makefile.am.in: Remove file.
87569         * m4/Makefile.am: Remove file.
87570         * m4/Makefile.in: Remove file.
87571
87572 2003-07-17  Bruno Haible  <bruno@clisp.org>
87573
87574         * lib/getnline.h: New file.
87575         * lib/getnline.c: New file.
87576         * lib/getndelim2.c: New file, extracted from getline.c.
87577         (getndelim2): Renamed from getdelim2, with added nmax argument.
87578         * lib/getline.c: Include getndelim2.c.
87579         (getdelim2): Moved out to getndelim2.c.
87580         (getline, getdelim): Update.
87581
87582 2003-07-17  Bruno Haible  <bruno@clisp.org>
87583
87584         * lib/Makefile.am: Remove file.
87585         * lib/Makefile.in: Remove file.
87586
87587 2003-07-17  Bruno Haible  <bruno@clisp.org>
87588
87589         * configure.in: Remove file.
87590         * Makefile.in: Remove file.
87591
87592 2003-07-17  Bruno Haible  <bruno@clisp.org>
87593
87594         * MODULES.html.sh: Put the </BODY> right before </HTML>.
87595
87596 2003-07-16  Karl Berry  <karl@gnu.org>
87597
87598         * config/srclist-update: was running fixlicense twice, which caused
87599                 texinfo.tex to be nullified for some reason.  Simplify,
87600                 $gplsrc is no longer needed as far as I can see?
87601
87602 2003-07-16  Jim Meyering  <jim@meyering.net>
87603
87604         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
87605
87606 2003-07-15  Paul Eggert  <eggert@twinsun.com>
87607
87608         * config/srclist.txt: Get the following files from gettext-runtime/intl
87609         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
87610         ref-del.sin.  From Bruno Haible.
87611         * config/srclist-update (fixfile): Change grep pattern again, since the
87612         previous fix didn't work (there was another trailing $).  Use
87613         '[$]' to escape the $s.
87614
87615 2003-07-15  Karl Berry  <karl@gnu.org>
87616
87617         * lib/vasnprintf.c: update from gettext.
87618
87619 2003-07-15  Karl Berry  <karl@gnu.org>
87620
87621         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
87622         gets expanded when surrounded by '$'.
87623
87624 2003-07-15  Jim Meyering  <jim@meyering.net>
87625
87626         * modules/save-cwd: Don't depend on error.  From Derek Price.
87627
87628 2003-07-15  Jim Meyering  <jim@meyering.net>
87629
87630         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
87631
87632 2003-07-14  Simon Josefsson  <jas@extundo.com>
87633
87634         * modules/mempcpy: New file.
87635         * MODULES.html.sh (func_all_modules): Add mempcpy.
87636
87637 2003-07-14  Simon Josefsson  <jas@extundo.com>
87638
87639         * m4/mempcpy.m4: New file.
87640
87641 2003-07-14  Simon Josefsson  <jas@extundo.com>
87642
87643         * lib/mempcpy.h: New file.
87644         * lib/mempcpy.c: New file.
87645
87646 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87647
87648         * modules/getdate, modules/posixtm: Depend on mktime.
87649
87650 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87651
87652         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
87653         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
87654         unicodeio.c, unicodeio.h, unlocked-io.h:
87655         Switch from LGPL to GPL.
87656
87657 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87658
87659         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
87660         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
87661         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
87662         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
87663         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
87664         updated automatically by ../config/srclist-update.  This changes
87665         their license from LPGL to GPL.
87666
87667 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87668
87669         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
87670         assumed to refer to the root of the most recent stable gettext version.
87671         * config/srclistvars.sh: Add defaults for eggert.
87672         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
87673         Match "This program" as well as "The program".  This is needed
87674         for gettext.
87675
87676 2003-07-14  Jim Meyering  <jim@meyering.net>
87677
87678         Don't emit diagnostics.  Let callers do that.
87679         * lib/save-cwd.c: Don't include "error.h".
87680         (save_cwd): Don't call error.  Ensure that errno is valid
87681         when returning nonzero.
87682
87683         * lib/save-cwd.h (restore_cwd): Update prototype.
87684         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87685         Simplify.  Don't call error upon failure.  Let callers do that.
87686         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87687         when auditing is enabled.  But don't bother updating the #if.
87688
87689 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87690
87691         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87692         it breaks C++ compilation.
87693         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87694
87695 2003-07-10  Simon Josefsson  <jas@extundo.com>
87696
87697         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87698
87699 2003-07-10  Jim Meyering  <jim@meyering.net>
87700
87701         * m4/clock_time.m4: Remove trailing blank.
87702         * m4/intmax_t.m4: Likewise.
87703
87704 2003-07-10  Jim Meyering  <jim@meyering.net>
87705
87706         * lib/vasnprintf.c: Remove trailing blanks.
87707         Make cpp indentation consistent.
87708
87709 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87710
87711         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87712         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87713         Switch from LGPL to GPL.
87714
87715 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87716
87717         * config/srclist.txt: Sort sublists.  Add
87718         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87719         that differ from gnulib for one reason or another; we'd like this list
87720         to be smaller but for now let's document what we have.
87721
87722 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87723
87724         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87725         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87726         and sweeter "eval x=$x".
87727         * config/srclist.txt: Get lib/argp* from glibc.
87728
87729 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87730
87731         * lib/mktime.c: Fix some boundary cases and remove need for floating
87732         point.
87733
87734         Issue a compile-time diagnostic if time_t is floating point, or if
87735         two's complement arithmetic is not in effect, or if arithmetic
87736         right shift does not propagate the sign.  These assumptions were
87737         all in the original code but they weren't checked.
87738
87739         (TIME_T_MIDPOINT, verify): New macros.
87740         (__isleap): Remove; it has integer overflow problems.
87741         (leapyear): New function, without those problems.
87742         (ydhms_tm_diff): Remove; splitting into two parts.
87743         (ydhms_diff): New function, containing the arithmetic part of
87744         the old ydhms_tm_diff function.  Issue a compile-time
87745         diagnostic if we are not using C99 integer division.
87746         Avoid casts when possible.
87747         (guess_time_tm): New function, containing the checking part of
87748         the old ydhms_tm_diff function.  Return the new value, rather than
87749         the difference between it and the old.  Accept a new argument T
87750         so that *T specifies the old value.  Check for overflow in the result.
87751
87752         (__mktime_internal): Use a time_t offset, not a long int offset.
87753         This undoes the 2003-06-04 change, which is no longer needed now
87754         that we have better overflow checking.
87755         (localtime_offset): Likewise.
87756
87757         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87758         and long are 64-bit but int is only 32-bit.
87759         (ydhms_diff): Use long int to store year1 and yday1.
87760         Issue a compile-time diagnostic if long int is not wide enough.
87761
87762         (__mktime_internal): Use long int to store adjusted year and yday.
87763         Use plain C rather than preprocessor commands, if that doesn't
87764         affect efficiency.
87765         Check for overflow (and try to repair) after each probe
87766         rather than checking only at the very end.  This avoids some bugs
87767         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87768         does not equal GMT offset at maximum time).
87769         Use integer to check for overflow rather than floating point; this
87770         is more portable to non-IEEE hosts, and is a tad faster.
87771         When we detect that we are oscillating between two values,
87772         don't check whether tm_isdst has the requested value, since
87773         we already know the answer.  When tm_isdst has the wrong value,
87774         use a different heuristic to find the right one, based on the
87775         extreme values actually observed in practice in tz2003a,
87776         rather than the (overly optimistic) "previous 3 calendar quarters".
87777
87778         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87779         "T const" to accommodate glibc style.
87780         (check_result): Use less-confusing report format.  "long" -> "long int.
87781         (main): Likewise.
87782         Don't loop if the iteration overflows time_t.
87783         Allow a negative step in the iteration.
87784
87785 2003-07-06  Karl Berry  <karl@gnu.org>
87786
87787         * config/depcomp: update from automake.
87788         * config/config.sub: update from prep.
87789
87790 2003-07-03  Karl Berry  <karl@gnu.org>
87791
87792         * config/config.guess: update from prep.
87793
87794 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87795
87796         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87797         xreadlink.c now includes it unconditionally.
87798
87799 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87800
87801         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87802         having it depend on HAVE_SYS_TYPES_H.
87803
87804 2003-07-01  Bruno Haible  <bruno@clisp.org>
87805
87806         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87807         <sys/types.h> should be sufficient.
87808         Reported by Paul Eggert.
87809
87810 2003-06-26  Karl Berry  <karl@gnu.org>
87811
87812         * config/depcomp: update from automake.
87813
87814 2003-06-26  Bruno Haible  <bruno@clisp.org>
87815
87816         * modules/human: Depend on module stdbool.
87817
87818 2003-06-25  Bruno Haible  <bruno@clisp.org>
87819
87820         * modules/readlink: New file.
87821         * modules/xreadlink: Depend on it.
87822         * MODULES.html.sh (func_all_modules): Add readlink.
87823
87824 2003-06-25  Bruno Haible  <bruno@clisp.org>
87825
87826         * m4/readlink.m4: New file.
87827
87828 2003-06-25  Bruno Haible  <bruno@clisp.org>
87829
87830         * lib/readlink.c: New file.
87831
87832 2003-06-22  Karl Berry  <karl@gnu.org>
87833
87834         * config/srclist.txt: update mkinstalldirs from automake.
87835         * config/mkinstalldirs: update.
87836
87837 2003-06-22  Bruno Haible  <bruno@clisp.org>
87838
87839         Portability to mingw32.
87840         * m4/ssize_t.m4: New file, from GNU gettext.
87841         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
87842         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
87843
87844 2003-06-22  Bruno Haible  <bruno@clisp.org>
87845
87846         * modules/safe-read: Add m4/ssize_t.m4.
87847         * modules/xreadlink: Add m4/ssize_t.m4.
87848
87849 2003-06-20  Bruno Haible  <bruno@clisp.org>
87850
87851         Assume C89, so PARAMS isn't needed.
87852         * lib/unicodeio.h (PARAMS): Remove.
87853         * lib/unicodeio.c: Don't use PARAMS.
87854
87855 2003-06-18  Karl Berry  <karl@gnu.org>
87856
87857         * config/config.{guess,sub}: update from prep.
87858
87859 2003-06-18  Jim Meyering  <jim@meyering.net>
87860
87861         Merge changes from coreutils.
87862         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87863         Remove explicit declarations of xmalloc and realloc.
87864         Include xalloc.h.
87865         (read_utmp): Remove anachronistic cast of xmalloc.
87866
87867 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87868
87869         Assume C89, so PARAMS isn't needed.
87870         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87871         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87872         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87873         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87874         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87875         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87876         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87877         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87878         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87879         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87880         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87881         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87882         no longer needed. Anyway, config.h should always be included before any
87883         other file.
87884
87885 2003-06-11  Simon Josefsson  <jas@extundo.com>
87886
87887         * modules/sysexits: New file.
87888         * MODULES.html.sh (func_all_modules): Add sysexits.
87889
87890 2003-06-11  Simon Josefsson  <jas@extundo.com>
87891
87892         * lib/sysexit_.h: New file.
87893
87894 2003-06-11  Derek Price  <derek@ximbiot.com>
87895
87896         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87897         necessary.
87898
87899 2003-06-11  Bruno Haible  <bruno@clisp.org>
87900
87901         * m4/sysexits.m4: New file.
87902
87903 2003-06-10  Simon Josefsson  <jas@extundo.com>
87904
87905         * lib/argp.h: New file, from glibc.
87906         * lib/argp-ba.c: New file, from glibc.
87907         * lib/argp-eexst.c: New file, from glibc.
87908         * lib/argp-fmtstream.c: New file, from glibc.
87909         * lib/argp-fmtstream.h: New file, from glibc.
87910         * lib/argp-fs-xinl.c: New file, from glibc.
87911         * lib/argp-help.c: New file, from glibc.
87912         * lib/argp-namefrob.h: New file, from glibc.
87913         * lib/argp-parse.c: New file, from glibc.
87914         * lib/argp-pv.c: New file, from glibc.
87915         * lib/argp-pvh.c: New file, from glibc.
87916         * lib/argp-xinl.c: New file, from glibc.
87917
87918 2003-06-10  Simon Josefsson  <jas@extundo.com>
87919
87920         * modules/strchrnul: New file.
87921
87922 2003-06-10  Simon Josefsson  <jas@extundo.com>
87923
87924         * modules/argp: New file.
87925
87926 2003-06-10  Simon Josefsson  <jas@extundo.com>
87927
87928         * m4/strchrnul.m4: New file.
87929
87930 2003-06-10  Simon Josefsson  <jas@extundo.com>
87931
87932         * lib/strchrnul.h: New file.
87933         * lib/strchrnul.c: New file.
87934
87935 2003-06-10  Bruno Haible  <bruno@clisp.org>
87936
87937         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87938
87939 2003-06-07  Karl Berry  <karl@gnu.org>
87940
87941         * config/config.{guess,sub}: update from prep.
87942
87943 2003-06-07  Jim Meyering  <jim@meyering.net>
87944
87945         * modules/strtod: Use $(...) notation, not @...@ for
87946         AC_REPLACE'd variables.
87947         * modules/localcharset: Likewise.
87948
87949 2003-06-07  Jim Meyering  <jim@meyering.net>
87950
87951         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87952         in place of my name in the copyright comment.
87953         Remove definition and uses of __P.
87954
87955         From coreutils.
87956         * lib/stat.c: Don't declare xmalloc explicitly.
87957         Instead, include "xalloc.h".
87958         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
87959         xrealloc, and xcalloc return values.
87960         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
87961         Improve comment.
87962         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
87963
87964 2003-06-07  Bruno Haible  <bruno@clisp.org>
87965
87966         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
87967         avoid AC_CONFIG_LINKS.
87968         * modules/fnmatch (Makefile.am): Use explicit creation rule for
87969         fnmatch.h, to avoid AC_CONFIG_LINKS.
87970         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
87971
87972 2003-06-07  Bruno Haible  <bruno@clisp.org>
87973
87974         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
87975         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
87976         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87977         directory.
87978         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
87979         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87980         directory.
87981
87982 2003-06-06  Jim Meyering  <jim@meyering.net>
87983
87984         Merge from coreutils.
87985         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
87986         Consolidate declarations and initializations of *_base* locals.
87987
87988         Merge from coreutils.
87989         This avoids a core dump on systems without GNU putenv,
87990         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
87991         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
87992         (unsetenv): New static function, from GNU libc.
87993         (rpl_putenv): Use it.
87994
87995         * lib/modechange.c: Remove trailing blanks.
87996
87997         Merge from coreutils.
87998         * lib/fsusage.c: Remove declaration of statfs.
87999         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
88000
88001         * lib/posixtm.c: Include <stdbool.h> unconditionally.
88002
88003 2003-06-06  Jim Meyering  <jim@meyering.net>
88004
88005         * lib/stdbool_.h: Renamed from stdbool.h.in.
88006
88007 2003-06-06  Jim Meyering  <jim@meyering.net>
88008             Bruno Haible  <bruno@clisp.org>
88009
88010         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
88011         Adjust Makefile.am snippet not to redirect directly to target.
88012         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
88013
88014 2003-06-05  Paul Eggert  <eggert@twinsun.com>
88015
88016         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
88017         mismatch, look in future quarters as well as past.  This fixes a
88018         bug when processing fall-backwards gaps immediately after a long
88019         period of daylight-saving time.
88020
88021         * lib/mktime.c: Assume freestanding C89 or better.
88022         (HAVE_LIMITS_H): Remove.  Assume it's 1.
88023         (__P): Remove; not used.
88024         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
88025         (mktime, not_equal_tm, print_tm, check_result,
88026         main): Use prototypes.  Use const * where appropriate.
88027         (main): Fix typo in testing code that uncovered by above changes.
88028         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
88029
88030 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88031
88032         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
88033         locale.h, localeconv.  This merges changes from coreutils.
88034
88035         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
88036         It can be removed after the next Autoconf is released.
88037         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
88038         needed.
88039
88040 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88041
88042         * lib/mktime.c: Fix Debian bug 177940
88043         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
88044         (localtime_offset): Now long int, not time_t, because we want it
88045         to be guaranteed to be signed.  All uses changed.
88046         (__mktime_internal): If overflow would occur when adding offset,
88047         don't add it.
88048
88049         Merge 'human' changes from coreutils.  Rewrite to support
88050         locale-specific notations like thousands separators.
88051         * lib/human.c: Simplify authorship notice.
88052         Include human.h immediately after config.h.
88053         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
88054         <limits.h>: Do not include, since human.h does.
88055         (SIZE_MAX, UINTMAX_MAX): New macros.
88056         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
88057         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
88058         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
88059         (power_letter): Renamed from suffixes.
88060         (generate_suffix_backwards): Remove.
88061         (adjust_value): Now takes int style (because of human.h changes)
88062         and long double value (for greater precision on some platforms).
88063         (group_number): New function.
88064         (human_readable): Use it.  Use integer options, not enum.
88065         Put the options before the sizes in the arg list.
88066         Support all the new options.
88067         The old human_readable function has been removed;
88068         use inttostr.h instead.
88069         (human_readable, default_block_size, humblock):
88070         Use uintmax_t, not int, for block sizes.
88071         (human_readable_inexact, block_size_types): Remove.
88072         (block_size_opts): New constant.
88073         (human_options): Renamed from human_block_size, with new signature
88074         that allows block sizes up to UINTMAX_MAX.  All callers changed.
88075         * lib/human.h: Add copyright and authorship notice.
88076         Include <limits.h> and <stdbool.h> unconditionally.
88077         (PARAMS): Remove.  All uses removed.
88078         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
88079         (enum human_inexact_style): Remove tag; now a nameless enum.
88080         (human_floor, human_ceiling, human_round_to_even): Now have
88081         values 2, 0, 1 rather than -1, 1, 0.
88082         (human_group_digits, human_suppress_point_zero, human_autoscale,
88083         human_base_1024, human_SI, human_B): New constants.
88084         (human_readable_inexact, human_block_size): Remove.
88085         (human_readable): Size args are now uintmax_t, not int.
88086         (human_options): New decl.
88087
88088         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
88089         unnecessary now that we assume C89 or better.  This change
88090         imported from coreutils.
88091
88092         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88093         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
88094         in the 2003-05-30 sync from glibc.
88095
88096         .h files should stand alone, but we shouldn't include <sys/types.h>
88097         if we can get away with just <stddef.h>.
88098
88099         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
88100         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
88101         rather than <sys/types.h>, as we merely need size_t.
88102         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
88103         to get size_t.
88104         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
88105         Include <stdio.h>, to get FILE.
88106         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
88107         memcasecmp.h has included <stddef.h> and all we need is size_t.
88108         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
88109         our interface, instead of including <sys/types.h>
88110
88111 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88112
88113         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
88114         now, as glibc mktime is buggy on non-glibc systems.
88115
88116 2003-06-03  Karl Berry  <karl@gnu.org>
88117
88118         * config/config.sub: update from prep.
88119
88120 2003-06-02  Paul Eggert  <eggert@twinsun.com>
88121
88122         [from coreutils]
88123         Fix some minor time-related bugs with POSIX time arguments.
88124         Some valid time stamps were being rejected (notably -1, and
88125         time stamps before 1900 on 64-bit hosts).  And some invalid
88126         time stamps were being accepted, e.g. September 31.
88127
88128         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
88129         that we can return (time_t) -1 successfully.
88130         * lib/posixtm.c: Likewise.
88131         [HAVE_STDBOOL_H]: Include <stdbool.h>.
88132         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
88133         (t): Remove static var.
88134         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
88135         of static var.  All uses changed.
88136         (year): Do not reject years before 1900; they can occur with
88137         64-bit time_t.
88138         (posix_time_parse): Do not check for out-of-range components;
88139         that is now the caller's responsibility, since our checks were
88140         only approximations.
88141         (posixtime): Use mktime to check for out-of-range components,
88142         since it knows them exactly.
88143         If mktime returns (time_t) -1, check whether an error actually occurred
88144         by invoking localtime on -1.
88145         (main) [TEST_POSIXTIME]: Check for input data errors, and report
88146         posixtime failures better.
88147         Improve the test data (in comments only).
88148
88149 2003-06-02  Karl Berry  <karl@gnu.org>
88150
88151         * config/mkinstalldirs (version): new variable.
88152         (--version): new option.
88153         (usage): improve message.
88154
88155 2003-05-30  Karl Berry  <karl@gnu.org>
88156
88157         * lib/mktime.c: update from libc.
88158
88159 2003-05-30  Bruno Haible  <bruno@clisp.org>
88160
88161         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
88162         * config/config.rpath: Upgrade to gettext-0.12.1.
88163
88164 2003-05-30  Bruno Haible  <bruno@clisp.org>
88165
88166         * m4/gettext.m4: Upgrade to gettext-0.12.1.
88167         * m4/nls.m4: New file, from gettext-0.12.1.
88168         * m4/po.m4: New file, from gettext-0.12.1.
88169         * m4/progtest.m4: Upgrade to gettext-0.12.1.
88170
88171 2003-05-30  Bruno Haible  <bruno@clisp.org>
88172
88173         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
88174         * lib/localcharset.h: Likewise.
88175         * lib/localcharset.c: Likewise.
88176
88177 2003-05-29  Karl Berry  <karl@gnu.org>
88178
88179         * config/config.rpath: update from gettext.
88180
88181 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88182
88183         Assume the headers required for C89 freestanding compilers.
88184         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
88185         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
88186         * m4/human.m4 (gl_HUMAN): Likewise.
88187         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
88188         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
88189         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88190         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
88191         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88192         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
88193
88194 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88195
88196         Assume the headers required for C89 freestanding compilers.
88197         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
88198         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
88199         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
88200         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
88201         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
88202         define, since <limits.h> is guaranteed to do that.
88203         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
88204         * lib/exclude.c: Include <stdbool.h> unconditionally.
88205         * lib/tempname.c: Include <stddef.h> unconditionally.
88206         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
88207         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
88208         <stddef.h> does that.
88209         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
88210         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
88211         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
88212         needed.
88213         * lib/xstrtol.c: Likewise.
88214         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
88215         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
88216
88217         * lib/addext.c (addext): Use assignment rather than cast, to avoid
88218         warnings on some platforms.
88219
88220         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88221         arbitrarily.
88222
88223 2003-05-26  Jim Meyering  <jim@meyering.net>
88224
88225         Merge in a change from coreutils:
88226         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
88227         that is guaranteed to be `no'.  Use `no_such_member' to indicate
88228         that condition, rather than `-1' which is slightly misleading.
88229         Change the name of the cache variable to have the gl_ prefix.
88230         Prompted by a patch from Richard Dawe for DJGPP.
88231
88232 2003-05-24  Karl Berry  <karl@gnu.org>
88233
88234         * config/config.guess: update from prep.
88235
88236 2003-05-22  Karl Berry  <karl@gnu.org>
88237
88238         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
88239
88240 2003-05-20  Karl Berry  <karl@gnu.org>
88241
88242         * config/config.guess: update from prep.
88243
88244 2003-05-18  Karl Berry  <karl@gnu.org>
88245
88246         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
88247         might actually be set by the user.
88248
88249         * config/depcomp, install-sh, mdate-sh: update from automake.
88250
88251 2003-05-17  Bruno Haible  <bruno@clisp.org>
88252
88253         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
88254         invalid expansion for AC_EGREP_CPP.
88255         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
88256         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
88257         Suggested by Akim Demaille <akim@epita.fr> in
88258         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
88259
88260 2003-05-12  Jim Meyering  <jim@meyering.net>
88261
88262         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
88263         the space-padded-by-default conversion specifiers, %e, %k, %l.
88264
88265 2003-05-12  Bruno Haible  <bruno@clisp.org>
88266
88267         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
88268         the string is longer than 4 KB.
88269
88270 2003-05-11  Karl Berry  <karl@gnu.org>
88271
88272         * config/config.{guess,sub}: update from prep.
88273
88274 2003-05-09  Bruno Haible  <bruno@clisp.org>
88275
88276         * modules/error: Add m4/strerror_r.m4 to file list.
88277
88278 2003-05-03  Bruno Haible  <bruno@clisp.org>
88279
88280         Upgrade to Unicode-4.0.
88281         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
88282         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
88283         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
88284         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
88285         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
88286         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
88287         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
88288         Change width of U+E0100..U+E01EF from 1 to 0.
88289
88290 2003-04-25  Jim Meyering  <jim@meyering.net>
88291
88292         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
88293         of type size_t, not int.
88294
88295 2003-04-25  Bruno Haible  <bruno@clisp.org>
88296
88297         * lib/copy-file.c: Include <stddef.h>, for size_t.
88298
88299 2003-04-21  Paul Eggert  <eggert@twinsun.com>
88300
88301         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
88302         code which expansion is under static control.  Patch imported from
88303         Akim Demaille's patch to Bison; see
88304         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
88305
88306 2003-04-14  Bruno Haible  <bruno@clisp.org>
88307
88308         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
88309
88310 2003-04-11  Jim Meyering  <jim@meyering.net>
88311
88312         Merge changes from Coreutils.
88313
88314         2003-03-22  Jim Meyering  <jim@meyering.net>
88315
88316         * lib/strftime.c (widen): Cast alloca return value to proper type.
88317
88318         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
88319
88320         From GNU libc.
88321         * lib/strftime.c (my_strftime): Handle very large width
88322         specifications for numeric values correctly.  Improve checks for
88323         overflow.
88324
88325         2003-01-19  Jim Meyering  <jim@meyering.net>
88326
88327         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
88328         definitions.
88329         (nl_get_alt_digit) [! defined my_strftime]: Define.
88330         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
88331         _nl_get_alt_digit and _nl_get_walt_digit.
88332
88333         * lib/strftime.c (my_strftime): Merge in locale-related changes from
88334         libc. These changes have no effect outside of _LIBC.
88335
88336 2003-04-10  Bruno Haible  <bruno@clisp.org>
88337
88338         * modules/findprog: New file.
88339         * MODULES.html.sh (func_all_modules): Add it.
88340
88341 2003-04-10  Bruno Haible  <bruno@clisp.org>
88342
88343         * m4/findprog.m4: New file.
88344         * m4/eaccess.m4: New file.
88345
88346 2003-04-10  Bruno Haible  <bruno@clisp.org>
88347
88348         * lib/findprog.h: New file, from GNU gettext.
88349         * lib/findprog.c: New file, from GNU gettext.
88350
88351 2003-04-05  Jim Meyering  <jim@meyering.net>
88352
88353         Merge changes from Coreutils.
88354
88355         * lib/exclude.h (PARAMS): Remove definition and uses.
88356         * lib/exclude.c: Remove uses of `PARAMS'.
88357
88358         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
88359         Add test-cases for DOS filenames. Declare program_name.
88360         (main): Set up program_name.  Patch by Rich Dawe.
88361
88362         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88363         error from mntctl.
88364         Use mntctl's return value to drive the entry-processing loop, since
88365         we can't rely on the value of the vmt_length member in the last
88366         entry.  On some systems doing so could result in exhausting
88367         virtual memory.  Based in part on a patch from Mike Jetzer.
88368
88369 2003-04-04  Bruno Haible  <bruno@clisp.org>
88370
88371         * modules/linebreak: New file.
88372         * MODULES.html.sh (func_all_modules): Add it.
88373
88374 2003-04-04  Bruno Haible  <bruno@clisp.org>
88375
88376         * m4/linebreak.m4: New file.
88377
88378 2003-04-04  Bruno Haible  <bruno@clisp.org>
88379
88380         * lib/linebreak.h: New file, from GNU gettext.
88381         * lib/linebreak.c: New file, from GNU gettext with slight
88382         modifications.
88383         * lib/lbrkprop.h: New file, from GNU gettext.
88384
88385 2003-04-03  Bruno Haible  <bruno@clisp.org>
88386
88387         * modules/utf8-ucs4: New file.
88388         * modules/utf16-ucs4: New file.
88389         * modules/ucs4-utf8: New file.
88390         * modules/ucs4-utf16: New file.
88391         * MODULES.html.sh (func_all_modules): Add them.
88392
88393 2003-04-03  Bruno Haible  <bruno@clisp.org>
88394
88395         * m4/utf-ucs4.m4: New file.
88396         * m4/ucs4-utf.m4: New file.
88397
88398 2003-04-03  Bruno Haible  <bruno@clisp.org>
88399
88400         * lib/utf8-ucs4.h: New file, from GNU gettext.
88401         * lib/utf16-ucs4.h: New file, from GNU gettext.
88402         * lib/ucs4-utf8.h: New file, from GNU gettext.
88403         * lib/ucs4-utf16.h: New file, from GNU gettext.
88404
88405 2003-04-02  Bruno Haible  <bruno@clisp.org>
88406
88407         * modules/binary-io: New file.
88408         * MODULES.html.sh (func_all_modules): Add it.
88409
88410 2003-04-02  Bruno Haible  <bruno@clisp.org>
88411
88412         * lib/binary-io.h: New file, from GNU gettext.
88413
88414 2003-04-01  Bruno Haible  <bruno@clisp.org>
88415
88416         * modules/pathname: New file.
88417         * MODULES.html.sh (func_all_modules): Add it.
88418
88419 2003-04-01  Bruno Haible  <bruno@clisp.org>
88420
88421         * lib/pathname.h: New file, from GNU gettext.
88422         * lib/concatpath.c: New file, from GNU gettext.
88423
88424 2003-03-30  Bruno Haible  <bruno@clisp.org>
88425
88426         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
88427
88428 2003-03-30  Bruno Haible  <bruno@clisp.org>
88429
88430         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
88431         function chown() doesn't exist.
88432
88433 2003-03-28  Bruno Haible  <bruno@clisp.org>
88434
88435         * modules/copy-file: New file.
88436         * MODULES.html.sh (func_all_modules): Add it.
88437
88438 2003-03-28  Bruno Haible  <bruno@clisp.org>
88439
88440         * m4/copy-file.m4: New file.
88441
88442 2003-03-28  Bruno Haible  <bruno@clisp.org>
88443
88444         * lib/copy-file.h: New file, from GNU gettext.
88445         * lib/copy-file.c: New file, from GNU gettext.
88446
88447 2003-03-18  Jim Meyering  <jim@meyering.net>
88448
88449         * lib/quote.c (quote_n): Fix typo in comment.
88450
88451 2003-03-18  Bruno Haible  <bruno@clisp.org>
88452
88453         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
88454         checking.
88455         * m4/onceonly_2_57.m4: Likewise.
88456
88457 2003-03-17  Bruno Haible  <bruno@clisp.org>
88458
88459         * m4/onceonly.m4: Require autoconf 2.54 or newer.
88460         (m4_quote): Remove macro.
88461         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
88462
88463 2003-03-14  Jim Meyering  <jim@meyering.net>
88464
88465         Merge changes from Coreutils.
88466         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
88467         to be const, in order to avoid warnings.
88468         (obstack_room): Likewise.
88469         (obstack_empty_p): Likewise.
88470
88471 2003-03-14  Bruno Haible  <bruno@clisp.org>
88472
88473         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
88474         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
88475
88476 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88477
88478         Merge changes from Bison.
88479         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
88480         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
88481         when compiling Bison 1.875's `bitset bset = obstack_alloc
88482         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
88483         * lib/hash.c: Include <stdbool.h> unconditionally.
88484
88485 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88486
88487         * m4/onceonly.m4 (m4_quote): New macro.
88488         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
88489         Quote AC_FOREACH variable-expansions properly.
88490
88491 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88492
88493         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
88494
88495 2003-03-09  Paul Eggert  <eggert@twinsun.com>
88496
88497         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
88498         Reported by Bruce Becker; see:
88499         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
88500
88501 2003-03-03  Paul Eggert  <eggert@twinsun.com>
88502             Bruno Haible  <bruno@clisp.org>
88503
88504         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
88505         Reported by John Hughes, see
88506         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
88507
88508 2003-02-20  Bruno Haible  <bruno@clisp.org>
88509
88510         * MODULES.html.sh (func_all_modules): Add poll.
88511
88512 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88513
88514         * modules/poll: New file.
88515
88516 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88517
88518         * lib/poll_.h: New file.
88519         * lib/poll.c: New file.
88520
88521 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88522
88523         * m4/poll.m4: New file.
88524
88525 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88526
88527         * modules/mathl: New file.
88528
88529 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88530
88531         * lib/mathl.h: New file.
88532         * lib/acosl.c: New file.
88533         * lib/asinl.c: New file.
88534         * lib/atanl.c: New file.
88535         * lib/ceill.c: New file.
88536         * lib/cosl.c: New file.
88537         * lib/expl.c: New file.
88538         * lib/floorl.c: New file.
88539         * lib/frexpl.c: New file.
88540         * lib/ldexpl.c: New file.
88541         * lib/logl.c: New file.
88542         * lib/sincosl.c: New file.
88543         * lib/sinl.c: New file.
88544         * lib/sqrtl.c: New file.
88545         * lib/tanl.c: New file.
88546         * lib/trigl.c: New file.
88547         * lib/trigl.h: New file.
88548
88549 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88550
88551         * m4/mathl.m4: New file.
88552
88553 2003-02-18  Bruno Haible  <bruno@clisp.org>
88554
88555         * MODULES.html.sh (func_all_modules): Add mathl.
88556
88557 2003-02-17  Bruno Haible  <bruno@clisp.org>
88558
88559         * modules/mkdtemp: New module.
88560         * MODULES.html.sh (func_all_modules): Add it.
88561
88562 2003-02-17  Bruno Haible  <bruno@clisp.org>
88563
88564         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
88565
88566 2003-02-17  Bruno Haible  <bruno@clisp.org>
88567
88568         * lib/mkdtemp.h: New file, from GNU gettext.
88569         * lib/mkdtemp.c: New file, from GNU gettext.
88570
88571 2003-02-02  Jim Meyering  <jim@meyering.net>
88572
88573         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
88574         e.g. glibc-2.2.93.
88575
88576 2003-01-31  Bruno Haible  <bruno@clisp.org>
88577
88578         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
88579         'rpl_rename'.
88580         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
88581         'rpl_strnlen'.
88582         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
88583         'rpl_strtod'.
88584         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
88585         'rpl_utime'.
88586
88587 2003-01-31  Bruno Haible  <bruno@clisp.org>
88588
88589         * lib/rename.c: #undef rename before defining rpl_rename.
88590         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
88591
88592 2003-01-30  Bruno Haible  <bruno@clisp.org>
88593
88594         * modules/vasnprintf, modules/vasprintf: New modules.
88595         * MODULES.html.sh (func_all_modules): Add them.
88596
88597 2003-01-30  Bruno Haible  <bruno@clisp.org>
88598
88599         * m4/signed.m4: New file, from GNU gettext.
88600         * m4/longdouble.m4: New file, from GNU gettext.
88601         * m4/wchar_t.m4: New file, from GNU gettext.
88602         * m4/wint_t.m4: New file, from GNU gettext.
88603         * m4/vasnprintf.m4: New file.
88604         * m4/vasprintf.m4: New file.
88605
88606 2003-01-30  Bruno Haible  <bruno@clisp.org>
88607
88608         * lib/printf-args.h: New file, from GNU gettext.
88609         * lib/printf-args.c: New file, from GNU gettext.
88610         * lib/printf-parse.h: New file, from GNU gettext.
88611         * lib/printf-parse.c: New file, from GNU gettext.
88612         * lib/vasnprintf.h: New file, from GNU gettext.
88613         * lib/vasnprintf.c: New file, from GNU gettext.
88614         * lib/asnprintf.c: New file, from GNU gettext.
88615         * lib/vasprintf.h: New file, from GNU gettext with modifications.
88616         * lib/vasprintf.c: New file, from GNU gettext.
88617         * lib/asprintf.c: New file, from GNU gettext.
88618
88619 2003-01-29  Bruno Haible  <bruno@clisp.org>
88620
88621         * modules/stpncpy: New module.
88622         * MODULES.html.sh (func_all_modules): Add it.
88623
88624 2003-01-29  Bruno Haible  <bruno@clisp.org>
88625
88626         * m4/stpncpy.m4: New file.
88627
88628 2003-01-29  Bruno Haible  <bruno@clisp.org>
88629
88630         * lib/stpncpy.h: New file, from GNU gettext with modifications.
88631         * lib/stpncpy.c: New file, from GNU gettext with modifications.
88632
88633 2003-01-28  Bruno Haible  <bruno@clisp.org>
88634
88635         * modules/c-ctype: New module.
88636         * MODULES.html.sh (func_all_modules): Add it.
88637
88638 2003-01-28  Bruno Haible  <bruno@clisp.org>
88639
88640         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
88641         Paul Eggert.
88642         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
88643         Paul Eggert.
88644
88645 2003-01-27  Bruno Haible  <bruno@clisp.org>
88646
88647         * modules/xsetenv: New module.
88648         * MODULES.html.sh (func_all_modules): Add it.
88649
88650 2003-01-27  Bruno Haible  <bruno@clisp.org>
88651
88652         * lib/xsetenv.h: New file, from GNU gettext.
88653         * lib/xsetenv.c: New file, from GNU gettext.
88654
88655 2003-01-23  Jim Meyering  <jim@meyering.net>
88656
88657         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
88658         from working on systems without dirfd (at least Irix and OSF1/Tru64).
88659
88660 2003-01-23  Bruno Haible  <bruno@clisp.org>
88661
88662         * modules/minmax: New module.
88663         * MODULES.html.sh (func_all_modules): Add it.
88664
88665 2003-01-23  Bruno Haible  <bruno@clisp.org>
88666
88667         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
88668         Eggert.
88669
88670 2003-01-22  Bruno Haible  <bruno@clisp.org>
88671
88672         * modules/exit: New module.
88673         * MODULES.html.sh (func_all_modules): Add it.
88674
88675 2003-01-22  Bruno Haible  <bruno@clisp.org>
88676
88677         * lib/exit.h: New file, from GNU gettext.
88678
88679 2003-01-19  Bruno Haible  <bruno@clisp.org>
88680
88681         * gnulib-tool: Recognize option --extract-maintainer.
88682         (func_get_maintainer): New function.
88683         * modules/*: Add Maintainer entry.
88684
88685 2003-01-16  Jim Meyering  <jim@meyering.net>
88686
88687         * m4/regex.m4: The `regex' struct is both input and output.
88688         Initialize it before each use.  Patch by Tim Waugh.
88689
88690 2003-01-16  Bruno Haible  <bruno@clisp.org>
88691
88692         * MODULES.html.sh: Add a table of contents. Add the module name as
88693         leftmost column. Add hyperlinks.
88694
88695 2003-01-15  Bruno Haible  <bruno@clisp.org>
88696
88697         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88698
88699 2003-01-15  Bruno Haible  <bruno@clisp.org>
88700
88701         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88702         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88703         suffix.
88704
88705 2003-01-15  Bruno Haible  <bruno@clisp.org>
88706
88707         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88708
88709 2003-01-15  Bruno Haible  <bruno@clisp.org>
88710
88711         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88712         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88713
88714 2003-01-14  Jim Meyering  <jim@meyering.net>
88715
88716         * lib/same.c (same_name): Tweak a comment.
88717
88718 2003-01-14  Bruno Haible  <bruno@clisp.org>
88719
88720         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88721         when a string comparison is sufficient.
88722
88723 2003-01-14  Bruno Haible  <bruno@clisp.org>
88724
88725         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88726         'unsigned int'.
88727
88728 2003-01-14  Bruno Haible  <bruno@clisp.org>
88729
88730         * lib/hash-pjw.c: Add comment about low quality of this function.
88731
88732 2003-01-13  Bruno Haible  <bruno@clisp.org>
88733
88734         * modules/stpcpy: Distribute lib/stpcpy.h.
88735         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88736
88737 2003-01-13  Bruno Haible  <bruno@clisp.org>
88738
88739         * modules/*: Add a description.
88740         * modules/strpbrk: Fix Makefile.am snippet.
88741         * modules/strtoimax: Fix dependencies.
88742         * modules/strtoumax: Likewise.
88743
88744 2003-01-13  Bruno Haible  <bruno@clisp.org>
88745
88746         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88747         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88748         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88749
88750 2003-01-13  Bruno Haible  <bruno@clisp.org>
88751
88752         * gnulib-tool (func_create_testdir): Store config/* files in the main
88753         directory.
88754         * config.rpath: Move to ...
88755         * config/config.rpath: ... here.
88756         * modules/gettext: Contains config/config.rpath, not config.rpath.
88757         * modules/iconv: Likewise.
88758
88759 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88760
88761         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88762         to avoid collisions with libcurses and libreadline.
88763
88764         * m4/getstr.m4: Remove.
88765         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88766
88767 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88768
88769         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88770         to avoid collisions with libcurses and libreadline.
88771
88772         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88773         * lib/getstr.h, getstr.c: Remove.
88774         * lib/getline.c: Include "getline.h", to check interface.
88775         Move body of old getstr.c here: this defines MIN_CHUNK and
88776         declares getdelim2, which is renamed from getstr.
88777         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88778
88779         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88780         All uses changed.
88781         * lib/linebuffer.h: Likewise.
88782         (readline): Remove backward-compatibility macro.
88783
88784 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88785
88786         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88787         to avoid collisions with libcurses and libreadline.
88788         * getstr: Remove.
88789         * MODULES.html.sh: Remove getstr.
88790         * modules/getline: Depend on unlocked-io, not getstr.
88791
88792 2003-01-12  Jim Meyering  <jim@meyering.net>
88793
88794         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88795
88796 2003-01-10  Bruno Haible  <bruno@clisp.org>
88797
88798         * modules/alloca: Change Makefile.am requirements. Simplify Include
88799         requirements. Add lib/alloca_.h to file list.
88800
88801 2003-01-10  Bruno Haible  <bruno@clisp.org>
88802
88803         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88804
88805 2003-01-10  Bruno Haible  <bruno@clisp.org>
88806
88807         * lib/alloca_.h: New file.
88808         * lib/getdate.y: Unconditionally include alloca.h.
88809         * lib/makepath.c: Likewise.
88810         * lib/setenv.c: Likewise.
88811         * lib/userspec.c: Likewise.
88812
88813 2003-01-09  Karl Berry  <karl@gnu.org>
88814
88815         * MODULES.html.sh: include `dirname $0` in PATH, to find
88816         gnulib-tool.
88817
88818 2003-01-09  Bruno Haible  <bruno@clisp.org>
88819
88820         * modules/stdbool: Change configure.ac, Makefile.am requirements.
88821         Simplify Include requirements. Add lib/stdbool.h.in to file list.
88822
88823 2003-01-09  Bruno Haible  <bruno@clisp.org>
88824
88825         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
88826
88827 2003-01-09  Bruno Haible  <bruno@clisp.org>
88828
88829         * lib/stdbool.h.in: New file.
88830
88831 2003-01-09  Bruno Haible  <bruno@clisp.org>
88832
88833         * gnulib-tool (func_all_modules): Ignore files ending in ~.
88834         * MODULES.html.sh: Likewise.
88835
88836 2003-01-08  Jim Meyering  <jim@meyering.net>
88837
88838         * lib/full-write.c: Undefine and define-away `const' after inclusion
88839         of errno.h, not before.  Suggestion from Bruno Haible.
88840
88841 2003-01-08  Bruno Haible  <bruno@clisp.org>
88842
88843         * modules/full-read: Depend on full-write.
88844
88845 2003-01-08  Bruno Haible  <bruno@clisp.org>
88846
88847         * lib/safe-read.c: Include specification header first, to ensure its
88848         selfcontainedness.
88849         * lib/full-write.c: Likewise.
88850
88851 2003-01-07  Jim Meyering  <jim@meyering.net>
88852
88853         * lib/full-write.c: Rework so that it may serve to define full_read,
88854         too.
88855         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88856
88857 2003-01-07  Bruno Haible  <bruno@clisp.org>
88858
88859         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88860         <inttypes.h>.
88861         * lib/xstrtol.h: Likewise.
88862         * lib/xstrtoimax.c: Likewise.
88863         * lib/xstrtoumax.c: Likewise.
88864         * lib/human.h: Likewise.
88865
88866         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88867         on systems that have <inttypes.h> but not <stdint.h>.
88868
88869 2003-01-07  Bruno Haible  <bruno@clisp.org>
88870
88871         * MODULES.html.sh: Add copyright notice.
88872         (missed_files): Omit CVS directory entries.
88873         (func_module): Make it work with sed-3.02.
88874         * MODULES.txt: Remove file.
88875
88876 2003-01-06  Jim Meyering  <jim@meyering.net>
88877
88878         * lib/version-etc.c: Update year in translatable copyright string.
88879
88880 2003-01-03  Karl Berry  <karl@gnu.org>
88881
88882         * config/config.{guess,sub}: update from prep.
88883
88884 2003-01-02  Karl Berry  <karl@gnu.org>
88885
88886         * doc/COPYING.DOC: belatedly updated to 1.2.
88887
88888 2003-01-01  Karl Berry  <karl@gnu.org>
88889
88890         * gnulib-tool (func_verify_module): report module name $module in
88891         error message, not $1.
88892         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88893         be created, only if it doesn't exist.
88894         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88895
88896 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88897
88898         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88899
88900 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88901
88902         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88903         memcmp if strcoll doesn't work.
88904
88905 2002-12-31  Bruno Haible  <bruno@clisp.org>
88906
88907         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88908         nonempty.
88909
88910 2002-12-31  Bruno Haible  <bruno@clisp.org>
88911
88912         * lib/memcoll.c (STRCOLL): New macro.
88913         (memcoll): Use it.
88914
88915 2002-12-31  Bruno Haible  <bruno@clisp.org>
88916
88917         * lib/localcharset.h: New file.
88918         * lib/localcharset.c: Include it.
88919         * lib/unicodeio.c: Likewise.
88920
88921 2002-12-31  Bruno Haible  <bruno@clisp.org>
88922
88923         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88924         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88925
88926 2002-12-31  Bruno Haible  <bruno@clisp.org>
88927
88928         * lib/getline.h: Include <stddef.h>, for size_t.
88929
88930         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88931         * lib/unicodeio.c: Don't include <stddef.h>.
88932
88933 2002-12-31  Bruno Haible  <bruno@clisp.org>
88934
88935         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88936         HAVE_TM_ZONE.
88937
88938 2002-12-24  Karl Berry  <karl@gnu.org>
88939
88940         * config/config.guess: update from prep.
88941
88942 2002-12-24  Bruno Haible  <bruno@clisp.org>
88943
88944         General infrasructure.
88945         * m4/README: Rewritten.
88946         * m4/onceonly.m4: New file.
88947         * m4/onceonly_2_57.m4: New file.
88948
88949         Module atexit.
88950         * m4/atexit.m4: New file.
88951
88952         Module strtod.
88953         * m4/strtod.m4: New file.
88954
88955         Module strtol.
88956         * m4/strtol.m4: New file.
88957
88958         Module strtoul.
88959         * m4/strtoul.m4: New file.
88960
88961         Module memchr.
88962         * m4/memchr.m4: New file.
88963
88964         Module memcmp.
88965         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
88966         (jm_FUNC_MEMCMP): Invoke it.
88967
88968         Module memcpy.
88969         * m4/memcpy.m4: New file.
88970
88971         Module memmove.
88972         * m4/memmove.m4: New file.
88973
88974         Module memset.
88975         * m4/memset.m4: New file.
88976
88977         Module strcspn.
88978         * m4/strcspn.m4: New file.
88979
88980         Module strpbrk.
88981         * m4/strpbrk.m4: New file.
88982
88983         Module strstr.
88984         * m4/strstr.m4: New file.
88985
88986         Module strerror.
88987         * m4/strerror.m4: New file.
88988
88989         Module mktime.
88990         * m4/mktime.m4: Renamed from jm-mktime.m4.
88991         (gl_PREREQ_MKTIME): New macro.
88992         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
88993
88994         Module malloc.
88995         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
88996         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
88997         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
88998
88999         Module realloc.
89000         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
89001         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
89002         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
89003
89004         Module strftime.
89005         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
89006         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
89007         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
89008         gl_TM_GMTOFF.
89009         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
89010
89011         Module xalloc.
89012         * m4/xalloc.m4: New file.
89013
89014         Module alloca.
89015         * m4/alloca.m4: New file.
89016
89017         Module putenv.
89018         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
89019         (jm_FUNC_PUTENV): Invoke it.
89020
89021         Module setenv.
89022         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
89023         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
89024         when invoked twice.
89025         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
89026         gt_FUNC_SETENV.
89027
89028         Module memrchr.
89029         * m4/memrchr.m4: New file.
89030
89031         Module stpcpy.
89032         * m4/stpcpy.m4: New file.
89033
89034         Module strcase.
89035         * m4/strcase.m4: New file.
89036
89037         Module strdup.
89038         * m4/strdup.m4: New file.
89039
89040         Module strnlen.
89041         * m4/strnlen.m4: New file.
89042
89043         Module strndup.
89044         * m4/strndup.m4: New file.
89045
89046         Module xstrtod.
89047         * m4/xstrtod.m4: New file.
89048
89049         Module xstrtol.
89050         * m4/xstrtol.m4: New file.
89051
89052         Module getdate.
89053         * m4/getdate.m4: New file.
89054
89055         Module unlocked-io.
89056         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
89057         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
89058         * m4/jm-glibc-io.m4n: Remove file.
89059
89060         Module long-options.
89061         * m4/long-options.m4: New file.
89062
89063         Module md5.
89064         * m4/md5.m4: New file.
89065
89066         Module sha.
89067         * m4/sha.m4: New file.
89068
89069         Module getstr.
89070         * m4/getstr.m4: New file.
89071
89072         Module getline.
89073         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
89074         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
89075         <sys/types.h>, for size_t. Use the function name gnu_getline, not
89076         simply getline. Infoke gl_PREREQ_GETLINE.
89077
89078         Module obstack.
89079         * m4/obstack.m4: New file.
89080
89081         Module hash.
89082         * m4/hash.m4: New file.
89083
89084         Module readtokens.
89085         * m4/readtokens.m4: New file.
89086
89087         Module strverscmp.
89088         * m4/strverscmp.m4: New file.
89089
89090         Module stdbool.
89091         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
89092         OSF/1.
89093
89094         Module strtoll.
89095         * m4/strtoll.m4: New file.
89096
89097         Module strtoull.
89098         * m4/strtoull.m4: New file.
89099
89100         Module strtoimax.
89101         * m4/strtoimax.m4: New file.
89102
89103         Module strtoumax.
89104         * m4/strtoumax.m4: New file.
89105
89106         Module xstrtoimax.
89107         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
89108         jm_AC_PREREQ_XSTRTOIMAX.
89109         Moved the strtol prerequisites to strtol.m4.
89110         Moved the strtoll prerequisites to strtoll.m4.
89111         Moved the strtoimax prerequisites to strtoimax.m4.
89112
89113         Module xstrtoumax.
89114         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
89115         jm_AC_PREREQ_XSTRTOUMAX.
89116         Moved the strtoul prerequisites to strtoul.m4.
89117         Moved the strtoull prerequisites to strtoull.m4.
89118         Moved the strtoumax prerequisites to strtoumax.m4.
89119
89120         Module chown.
89121         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
89122         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
89123
89124         Module dup2.
89125         * m4/dup2.m4: New file.
89126
89127         Module ftruncate.
89128         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
89129         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
89130
89131         Module getgroups.
89132         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
89133         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
89134
89135         Module gettimeofday.
89136         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
89137         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
89138         gl_PREREQ_GETTIMEOFDAY.
89139
89140         Module mkdir.
89141         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
89142         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
89143
89144         Module mkstemp.
89145         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
89146         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
89147         jm_AC_TYPE_UINTMAX_T.
89148         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
89149
89150         Module stat.
89151         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
89152         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
89153
89154         Module lstat.
89155         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
89156         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
89157
89158         Module timespec.
89159         * m4/timespec.m4 (gl_TIMESPEC): New macro.
89160         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
89161         * m4/st_mtim.m4: Indentation.
89162
89163         Module nanosleep.
89164         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
89165         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
89166         gl_PREREQ_NANOSLEEP.
89167
89168         Module regex.
89169         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
89170         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
89171         (gl_REGEX): New macro.
89172
89173         Module rename.
89174         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
89175         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
89176
89177         Module rmdir.
89178         * m4/rmdir.m4: New file.
89179
89180         Module utime.
89181         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
89182         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
89183         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
89184
89185         Module dirname.
89186         * m4/dirname.m4: New file.
89187
89188         Module getopt.
89189         * m4/getopt.m4: New file.
89190
89191         Module unistd-safer.
89192         * m4/unistd-safer.m4: New file.
89193
89194         Module fnmatch.
89195         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
89196         declaration.
89197         (gl_PREREQ_FNMATCH_EXTRA): New macro.
89198         (gl_FUNC_FNMATCH_POSIX): New macro.
89199         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
89200         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
89201         simply fnmatch.
89202
89203         Module exclude.
89204         * m4/exclude.m4: New file.
89205
89206         Module human.
89207         * m4/human.m4: New file.
89208
89209         Module acl.
89210         * m4/acl.m4: Nop.
89211
89212         Module backupfile.
89213         * m4/backupfile.m4: New file.
89214         * m4/d-ino.m4: Indentation.
89215
89216         Module fsusage.
89217         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
89218         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
89219         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
89220
89221         Module dirfd.
89222         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
89223         requirements.
89224
89225         Module euidaccess.
89226         * m4/euidaccess.m4: New file.
89227
89228         Module file-type.
89229         * m4/file-type.m4: New file.
89230
89231         Module fileblocks.
89232         * m4/fileblocks.m4: New file.
89233
89234         Module filemode.
89235         * m4/filemode.m4: New file.
89236
89237         Module isdir.
89238         * m4/isdir.m4: New file.
89239
89240         Module lchown.
89241         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
89242         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
89243
89244         Module makepath.
89245         * m4/makepath.m4: New file.
89246
89247         Module modechange.
89248         * m4/modechange.m4: New file.
89249
89250         Module mountlist.
89251         * m4/mountlist.m4: New file.
89252         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
89253         Indentation.
89254
89255         Module path-concat.
89256         * m4/path-concat.m4: New file.
89257
89258         Module pathmax.
89259         * m4/pathmax.m4: New file.
89260
89261         Module same.
89262         * m4/same.m4: New file.
89263
89264         Module save-cwd.
89265         * m4/save-cwd.m4: New file.
89266
89267         Module savedir.
89268         * m4/savedir.m4: New file.
89269
89270         Module xgetcwd.
89271         * m4/xgetcwd.m4: New file.
89272         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
89273
89274         Module xreadlink.
89275         * m4/xreadlink.m4: New file.
89276
89277         Module safe-read.
89278         * m4/safe-read.m4: New file.
89279
89280         Module safe-write.
89281         * m4/safe-write.m4: New file.
89282
89283         Module closeout.
89284         * m4/closeout.m4: New file.
89285
89286         Module stdio-safer.
89287         * m4/stdio-safer.m4: New file.
89288
89289         Module getpass.
89290         * m4/getpass.m4: New file.
89291
89292         Module getugroups.
89293         * m4/getugroups.m4: New file.
89294
89295         Module group-member.
89296         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
89297         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
89298
89299         Module idcache.
89300         * m4/idcache.m4: New file.
89301
89302         Module userspec.
89303         * m4/userspec.m4: New file.
89304
89305         Module gettime.
89306         * m4/clock_time.m4: New file.
89307         * m4/gettime.m4: New file.
89308
89309         Module settime.
89310         * m4/settime.m4: New file.
89311
89312         Module posixtm.
89313         * m4/posixtm.m4: New file.
89314
89315         Module gethostname.
89316         * m4/gethostname.m4: New file.
89317
89318         Module canon-host.
89319         * m4/canon-host.m4: New file.
89320
89321         Module gettext.
89322         * m4/codeset.m4: New file, from gettext-0.11.5.
89323         * m4/gettext.m4: New file, from gettext-0.11.5.
89324         * m4/glibc21.m4: New file, from gettext-0.11.5.
89325         * m4/iconv.m4: New file, from gettext-0.11.5.
89326         * m4/intdiv0.m4: New file, from gettext-0.11.5.
89327         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
89328         * m4/inttypes.m4: New file, from gettext-0.11.5.
89329         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
89330         * m4/isc-posix.m4: New file, from gettext-0.11.5.
89331         * m4/lcmessage.m4: New file, from gettext-0.11.5.
89332         * m4/lib-ld.m4: New file, from gettext-0.11.5.
89333         * m4/lib-link.m4: New file, from gettext-0.11.5.
89334         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
89335         * m4/progtest.m4: New file, from gettext-0.11.5.
89336         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
89337         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
89338         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
89339
89340         Module localcharset.
89341         * m4/localcharset.m4: New file.
89342
89343         Module hard-locale.
89344         * m4/hard-locale.m4: New file.
89345
89346         Module mbswidth.
89347         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
89348         onceonly macros.
89349         * m4/mbrtowc.m4: Add comment.
89350
89351         Module memcasecmp.
89352         * m4/memcasecmp.m4: New file.
89353
89354         Module memcoll.
89355         * m4/memcoll.m4: New file.
89356
89357         Module unicodeio.
89358         * m4/unicodeio.m4: New file.
89359
89360         Module rpmatch.
89361         * m4/rpmatch.m4: New file.
89362
89363         Module yesno.
89364         * m4/yesno.m4: New file.
89365
89366         Module exitfail.
89367         * m4/exitfail.m4: New file.
89368
89369         Module c-stack.
89370         * m4/c-stack.m4 (gl_C_STACK): New macro.
89371         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
89372
89373         Module error.
89374         * m4/error.m4 (gl_ERROR): New macro.
89375         (jm_PREREQ_ERROR): Use onceonly macros.
89376
89377         Module fatal.
89378         * m4/fatal.m4: New file.
89379
89380         Module getloadavg.
89381         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
89382         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
89383
89384         Module getpagesize.
89385         * m4/getpagesize.m4: New file.
89386
89387         Module getusershell.
89388         * m4/getusershell.m4: New file.
89389
89390         Module physmem.
89391         * m4/physmem.m4: New file.
89392
89393         Module posixver.
89394         * m4/posixver.m4: New file.
89395
89396         Module quotearg.
89397         * m4/quotearg.m4: New file.
89398
89399         Module quote.
89400         * m4/quote.m4: New file.
89401
89402         Module readutmp.
89403         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
89404
89405         Module sig2str.
89406         * m4/sig2str.m4: New file.
89407
89408         Other.
89409         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
89410         ulonglong.m4.
89411         * m4/intmax_t.m4: New file.
89412         * m4/d-type.m4: Indentation.
89413         * m4/jm-macros.m4: Update.
89414         * m4/prereq.m4 (jm_PREREQ): Update.
89415         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
89416         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
89417         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
89418         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
89419         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
89420         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
89421         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
89422         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
89423         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
89424         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
89425         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
89426         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
89427         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
89428         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
89429         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
89430         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
89431         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
89432         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
89433         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
89434
89435 2002-12-24  Bruno Haible  <bruno@clisp.org>
89436
89437         * MODULES.txt: Update according to m4/ changes.
89438
89439         Module gettext.
89440         * config.rpath: New file, from gettext-0.11.5.
89441
89442         * modules/*: New module descriptions.
89443         * gnulib-tool: New file.
89444         * MODULES.html.sh: New file.
89445
89446 2002-12-21  Karl Berry  <karl@gnu.org>
89447
89448         * doc/fdl.texi: update to version 1.2.
89449
89450 2002-12-19  Karl Berry  <karl@gnu.org>
89451
89452         * config/config.guess: update from prep.
89453
89454 2002-12-18  Bruno Haible  <bruno@clisp.org>
89455
89456         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
89457         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
89458
89459 2002-12-17  Bruno Haible  <bruno@clisp.org>
89460
89461         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
89462         stdlib.h, string.h.
89463
89464 2002-12-17  Bruno Haible  <bruno@clisp.org>
89465
89466         * lib/canon-host.c (strdup): Remove unused declaration.
89467
89468         * lib/fsusage.c: Include full_read.h.
89469         (get_fs_usage): Use full_read instead of safe_read.
89470
89471         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
89472
89473 2002-12-12  Karl Berry  <karl@gnu.org>
89474
89475         * config/config.guess: update from prep.
89476
89477 2002-12-11  Bruno Haible  <bruno@clisp.org>
89478
89479         * m4/setenv.m4: New file, from gettext-0.11.5.
89480
89481 2002-12-11  Bruno Haible  <bruno@clisp.org>
89482
89483         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
89484         not unsetenv().
89485         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
89486         modifications:
89487
89488         2002-12-11  Bruno Haible  <bruno@clisp.org>
89489
89490                 * setenv.c (alloca): Fall back to malloc.
89491                 (freea): New macro.
89492                 (setenv): Use freea() to free memory allocated with alloca().
89493
89494         2002-11-13  Bruno Haible  <bruno@clisp.org>
89495
89496                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
89497                 function declarations.
89498                 * unsetenv.c (unsetenv): Likewise.
89499
89500         2002-03-04  Bruno Haible  <bruno@clisp.org>
89501
89502                 Portability to AIX 4.3.3.
89503                 * unsetenv.c: New file, extracted from setenv.c.
89504                 * setenv.c: Move the unsetenv() function to unsetenv.c.
89505
89506         2001-12-20  Bruno Haible  <bruno@clisp.org>
89507
89508                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
89509                 use malloc instead. For SunOS 4.
89510
89511         2001-12-11  Bruno Haible  <bruno@clisp.org>
89512
89513                 * setenv.c: Declare alloca.
89514                 (compar_fn_t): New typedef.
89515                 (KNOWN_VALUE, STORE_VALUE): Use it.
89516
89517         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
89518         setenv.h.
89519
89520 2002-12-10  Paul Eggert  <eggert@twinsun.com>
89521
89522         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
89523         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
89524         Choose values that are less likely to collide with system fnmatch
89525         options.
89526         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
89527         defined (e.g., a pure POSIX system).
89528         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
89529         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
89530
89531 2002-12-06  Paul Eggert  <eggert@twinsun.com>
89532
89533         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
89534         a pain in practice to deal with generated m4 files.  This change
89535         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
89536
89537         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
89538         and jm-glibc-io.m4, as they are no longer a special case.
89539         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
89540         kludge and the auto-generation stuff.  Check only whether the
89541         functions are declared, not whether they exist, since older hosts
89542         that don't declare the functions can't use the optimization anyway.
89543
89544 2002-12-06  Jim Meyering  <jim@meyering.net>
89545
89546         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
89547
89548         Merge in changes from libc's misc/error.c, in preparation
89549         for the merge of gnulib's changes back into libc.
89550
89551         * lib/error.c (_): Define only if not already defined.
89552         Move definition to follow all #include directives.
89553         Include unlocked-io.h only if !_LIBC.
89554         [_LIBC]: Include <libio/libioP.h>.
89555         [USE_IN_LIBIO]: Include <libio/iolibio.h>
89556         (fflush): Tweak definition to use INTUSE.
89557         (putc): Define.
89558
89559 2002-12-05  Paul Eggert  <eggert@twinsun.com>
89560
89561         * lib/alloca.c [defined emacs]: Include "lisp.h".
89562         (xalloc_die) [defined emacs]: New macro.
89563         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
89564         [! defined emacs]: Include <xalloc.h>.
89565         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
89566         (pointer): Typedef to POINTER_TYPE *.
89567         (malloc): Remove decl; we now always use xmalloc.
89568         (alloca): Use old-style definition, since Emacs needs this.
89569         Check for arithmetic overflow when computing combined size.
89570
89571 2002-12-04  Paul Eggert  <eggert@twinsun.com>
89572
89573         Do not generate unlocked-io.h automatically, since it's easier to
89574         maintain it by hand.
89575
89576         * lib/unlocked-io.h: New file, from GNU diffutils,
89577         but with proper copyright notice and attribution.
89578         * lib/gen-uio: Remove.
89579         * lib/Makefile.am: Add copyright notice.
89580         (libfetish_a_SOURCES): Add unlocked-io.h.
89581         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
89582         (DISTCLEANFILES, io_functions): Remove macros.
89583         (EXTRA_DIST): Remove gen_uio.
89584         (unlocked-io.h): Remove rule.
89585
89586 2002-12-04  Jim Meyering  <jim@meyering.net>
89587
89588         Reflect the fact that stat.c and lstat.c are no longer generated.
89589         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
89590         (DISTCLEANFILES): Likewise.
89591         (EXTRA_DIST): Likewise.
89592         (all_local): Don't depend on stat.c or lstat.c.
89593         (stat.c, lstat.c): Remove rules.
89594         (EXTRA_DIST): Remove xstat.in.
89595
89596         * lib/xstat.in: Remove file.  Contents moved into stat.c.
89597         * lib/stat.c: New file.  Contents mostly from xstat.in.
89598         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
89599         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
89600
89601         * lib/safe-read.c: Rework so that it may serve to define safe_write,
89602         too.
89603         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
89604
89605 2002-12-03  Jim Meyering  <jim@meyering.net>
89606
89607         * lib/safe-read.c, safe-write.c: Change variable names and comments,
89608         but not semantics, to minimize the differences between these two files.
89609         (safe_read): Change comment to mention SAFE_READ_ERROR.
89610
89611         * lib/safe-read.c (IS_EINTR): Define.
89612         (safe_read): Use IS_EINTR in place of in-function cpp directives.
89613
89614 2002-12-02  Jim Meyering  <jim@meyering.net>
89615
89616         * lib/safe-read.c (EINTR): Define.
89617         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89618         (INT_MAX): Provide fallback.
89619         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
89620
89621         * lib/safe-read.h (SAFE_READ_ERROR): Define.
89622
89623 2002-12-02  Bruno Haible  <bruno@clisp.org>
89624
89625         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
89626         Define, taken from safe-read.c.
89627         (INT_MAX): Provide fallback.
89628         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
89629         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
89630
89631         * lib/safe-read.c (EINTR): Remove definition.
89632         (safe_read): Don't use EINTR if it is absent.
89633
89634 2002-12-01  Jim Meyering  <jim@meyering.net>
89635
89636         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
89637         zero.
89638         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
89639
89640 2002-11-27  Paul Eggert  <eggert@twinsun.com>
89641
89642         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
89643         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
89644         with `if (! (value < limit)) abort ();', for readability.
89645
89646 2002-11-26  Karl Berry  <karl@gnu.org>
89647
89648         * lib/strdup.c: copy from libc again, with jim's ok.
89649         * lib/.cppi-disable: re-add strdup.c
89650
89651 2002-11-25  Karl Berry  <karl@gnu.org>
89652
89653         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
89654         instead of "strtol.c".
89655
89656 2002-11-25  Karl Berry  <karl@gnu.org>
89657
89658         * config/install-sh: update from automake for variable quoting, $0 in
89659         error msgs, etc.
89660
89661         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
89662         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
89663         entry.
89664
89665 2002-11-25  Jim Meyering  <jim@meyering.net>
89666
89667         * lib/mktime.c: Sync from libc, now that it has the latest fix.
89668
89669 2002-11-24  Karl Berry  <karl@gnu.org>
89670
89671         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
89672         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
89673
89674 2002-11-24  Jim Meyering  <jim@meyering.net>
89675
89676         Update from coreutils:
89677
89678         * lib/mktime.c: Merge in changes from libc.
89679
89680         Avoid a link-time failure on some Linux systems.
89681         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89682         (otherwise).
89683         (__mon_yday): Declare with the STATIC attribute.
89684         (__mktime_internal): Likewise.
89685         Based on a report from Greg Schafer.
89686
89687 2002-11-23  Jim Meyering  <jim@meyering.net>
89688
89689         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89690         Use `unsigned', not `int', as type of index.
89691
89692         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89693
89694         * lib/fsusage.c: Remove unneeded parentheses around operands of
89695         `defined'.
89696
89697 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89698
89699         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89700         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89701         so that we can be included first.
89702         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89703         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89704         No need to include stddef.h or sys/types.h any more.
89705         Surround local include files with "", not "<>".
89706         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89707         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89708         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89709         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89710         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89711         (ISPRINT): Remove; no longer needed now that we assume C89.
89712
89713         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89714         Preserve errno.
89715
89716         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89717         quotearg_char): Use SIZE_MAX rather than
89718         (size_t) -1 when we are talking about "infinity".
89719
89720         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89721
89722 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89723
89724         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89725         hint that one should use `if (! x) abort ();' rather than `assert
89726         (x);', and anyway it's one less thing to worry about configuring.
89727         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89728         hash_rehash, hash_insert): Use abort rather than assert.
89729
89730 2002-11-22  Bruno Haible  <bruno@clisp.org>
89731
89732         * lib/safe-read.h: Assume C89. Add comments.
89733         (safe_read): Change return type to size_t.
89734         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89735         byte counts > SSIZE_MAX correctly.
89736         * lib/safe-write.h: New file.
89737         * lib/safe-write.c: New file.
89738         * lib/full-read.h: New file.
89739         * lib/full-read.c: New file.
89740         * lib/full-write.h: Assume C89. Add comments.
89741         * lib/full-write.c: Include safe-write.h.
89742         (full_write): Rewritten to use safe_write.
89743         Suggested by Jim Meyering and Paul Eggert.
89744
89745 2002-11-21  Jim Meyering  <jim@meyering.net>
89746
89747         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89748
89749         Merge in changes from the coreutils.
89750
89751         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89752         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89753         <stdint.h>.
89754         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89755         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89756         int.  Work more efficiently if X is the same width as uintmax_t.
89757         Do not compare X to -1, to avoid bogus compiler warning.
89758         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89759         Don't assume that f_frsize and f_bsize are the same type.
89760
89761         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89762         warning on FreeBSD.
89763
89764         * lib/makepath.c (make_path): Restore umask *before* creating the final
89765         component.
89766         (make_path): Minor reformatting.
89767
89768         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89769         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89770         HAVE_MALLOC/HAVE_REALLOC.
89771
89772         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89773         dummy ones.  At least on GNU/Linux systems, `auto' means something
89774         else.
89775         From Michael Stone.
89776
89777 2002-11-21  Bruno Haible  <bruno@clisp.org>
89778
89779         Remove case insensitive option matching.
89780         * lib/argmatch.h (argcasematch): Remove declaration.
89781         (ARGCASEMATCH): Remove macro.
89782         (__xargmatch_internal): Remove case_sensitive argument.
89783         (XARGMATCH): Update.
89784         (XARGCASEMATCH): Remove macro.
89785         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89786         case_sensitive argument.
89787         (argcasematch): Remove function.
89788         (__xargmatch_internal): Remove case_sensitive argument.
89789         (main): Use XARGMATCH instead of XARGCASEMATCH.
89790
89791         * lib/xmalloc.c: Change compile-time error message. Add comment about
89792         required autoconf version.
89793
89794 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89795
89796         Merge argmatch cleanups from Bison.  Assume C89.
89797
89798         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89799         Include stdlib.h, for EXIT_FAILURE.
89800         Always include <string.h>, since we assume C89.
89801         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89802         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89803         Include <stddef.h> instead, since it's all we need for size_t.
89804         (PARAMS): Remove.  All uses removed.
89805         (ARRAY_CARDINALITY): Do not bother to #undef.
89806         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89807         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89808         Remove unnecessary parentheses.
89809         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89810         Insert necessary parentheses.
89811         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89812         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89813
89814 2002-11-19  Bruno Haible  <bruno@clisp.org>
89815
89816         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89817         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89818
89819         * lib/mbswidth.h (PARAMS): Remove macro.
89820         (mbswidth, mbsnwidth): Use ANSI C function declarations.
89821         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
89822
89823         * lib/gcd.h (PARAMS): Remove macro.
89824         (gcd): Use ANSI C function declarations.
89825         * lib/gcd.c (gcd): Likewise.
89826
89827 2002-11-15  Bruno Haible  <bruno@clisp.org>
89828
89829         * lib/strcspn.c: Include <stddef.h>.
89830         (strcspn): Use ANSI C function declaration. Change return type to
89831         size_t. Use NULL.
89832         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
89833         (strpbrk): Use NULL.
89834         * lib/strpbrk.h (PARAMS): Remove macro.
89835         (strpbrk): Use ANSI C function declaration.
89836         * lib/strstr.c: Don't include <sys/types.h>.
89837         * lib/strstr.h (PARAMS): Remove macro.
89838         (strstr): Use ANSI C function declarations.
89839
89840 2002-11-14  Karl Berry  <karl@gnu.org>
89841
89842         * config/mkinstalldirs: `do' on separate line, instead of
89843         `for var; do'.
89844
89845 2002-11-06  Bruno Haible  <bruno@clisp.org>
89846
89847         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89848         * lib/gcd.c (gcd): Likewise.
89849
89850 2002-11-05  Bruno Haible  <bruno@clisp.org>
89851
89852         * lib/gcd.h: New file, from gettext-0.11.5.
89853         * lib/gcd.c: New file, from gettext-0.11.5.
89854
89855 2002-11-05  Bruno Haible  <bruno@clisp.org>
89856
89857         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89858         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89859         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89860         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89861
89862         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89863         <libintl.h>.
89864         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89865         <libintl.h>.
89866
89867         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89868         * lib/human.c: Include gettext.h instead of <libintl.h>.
89869         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89870         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89871         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89872         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89873         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89874         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89875         (textdomain): Remove definition.
89876         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89877
89878         * lib/long-options.c: Remove include of <libintl.h> and definition of
89879         _.
89880         * lib/same.c: Remove include of <libintl.h> and definition of _.
89881
89882 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89883
89884         * lib/config.charset: A few additions for Solaris.
89885
89886 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89887
89888         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89889         * lib/localcharset.c (locale_charset): Declare as extern "C".
89890
89891 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89892
89893         * lib/config.charset: msdos in uk_UA uses CP1125.
89894
89895 2002-11-04  Bruno Haible  <bruno@clisp.org>
89896
89897         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89898         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89899         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89900         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89901         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89902
89903 2002-11-04  Bruno Haible  <bruno@clisp.org>
89904
89905         * lib/localcharset.c (locale_charset): Don't return an empty string.
89906
89907 2002-11-04  Bruno Haible  <bruno@clisp.org>
89908
89909         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89910         aliases.
89911
89912 2002-11-04  Bruno Haible  <bruno@clisp.org>
89913
89914         * lib/config.charset: Update for newest glibc. Add canonical names
89915         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89916
89917 2002-11-04  Bruno Haible  <bruno@clisp.org>
89918
89919         * lib/config.charset: Add support for NetBSD.
89920
89921 2002-11-04  Bruno Haible  <bruno@clisp.org>
89922
89923         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89924
89925 2002-11-01  Bruno Haible  <bruno@clisp.org>
89926
89927         * configure.in: Add AC_CONFIG_AUX_DIR call.
89928         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89929         test/Makefile.
89930         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89931
89932 2002-09-28  Karl Berry  <karl@gnu.org>
89933
89934         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89935         installed automake until the next release, since changes have been
89936         made.
89937
89938 2002-09-25  Karl Berry  <karl@gnu.org>
89939
89940         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89941         * lib/getopt*: copy from libc/posix.
89942         * lib/gettext.h: copy from gettext.
89943         * lib/.cppi-disable: add strdup.c, gettext.h.
89944
89945 2002-09-25  Karl Berry  <karl@gnu.org>
89946
89947         * config/srclist.txt: enable gettext.h check.
89948         * config/config.{guess,sub}: update from prep.
89949         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89950                 from automake 1.6.3.
89951         See srclist*.
89952
89953 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89954
89955         * regex.c (PATFETCH): Remove the translating fetch.
89956         (PATFETCH_RAW): Rename to PATFETCH.
89957         (set_image_of_range): New fun.
89958         (SET_RANGE_TABLE_WORK_AREA): Use it.
89959         (regex_compile): Don't translate the pattern chars so eagerly.
89960         Only do it when inserting an `exactn' bytecode or when handling
89961         a char-range.
89962         (mutually_exclusive_p): Avoid empty statement.
89963
89964 2002-07-06  Jim Meyering  <meyering@lucent.com>
89965
89966         * m4/README: Don't mention Makefile.am.in.
89967         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
89968
89969 2002-07-01  Jim Meyering  <meyering@lucent.com>
89970
89971         * lib/c-stack.c: Include sys/time.h.
89972         From Volker Borchert.
89973
89974 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89975
89976         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
89977
89978 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89979
89980         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
89981         New macro.  Use it uniformly instead of
89982         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
89983         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
89984         reported by Vin Shelton.
89985
89986 2002-06-22  Paul Eggert  <eggert@twinsun.com>
89987
89988         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
89989         Do not assume SA_SIGINFO behavior.
89990         Bug reported by Jim Meyering on NetBSD 1.5.2.
89991
89992 2002-06-22  Jim Meyering  <meyering@lucent.com>
89993
89994         * m4/c-stack.m4: New file, from diffutils-2.8.2.
89995         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
89996
89997         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
89998         now that configure.ac uses AC_GNU_SOURCE.
89999         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
90000         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
90001
90002         Update to latest tools.  Suggestions from Paul Eggert.
90003         * m4/stdbool.m4: New file, from diffutils-2.8.2.
90004         * m4/gnu-source.m4: Update from diffutils-2.8.2.
90005         * m4/fnmatch.m4: Likewise.
90006         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
90007         to AC_HEADER_STDBOOL
90008
90009 2002-06-22  Jim Meyering  <meyering@lucent.com>
90010
90011         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
90012         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
90013
90014 2002-06-22  Jim Meyering  <meyering@lucent.com>
90015
90016         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
90017
90018         * lib/exitfail.c, exitfail.h: Likewise.
90019         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
90020
90021         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
90022         of fnmatch.h.
90023         (EXTRA_DIST): Add fnmatch_loop.c.
90024         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
90025
90026         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
90027         * lib/fnmatch.c: Update from diffutils-2.8.2.
90028         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
90029         * lib/fnmatch.h: Remove file.
90030
90031 2002-06-21  Jim Meyering  <meyering@lucent.com>
90032
90033         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
90034         * m4/mbrtowc.m4: Likewise.
90035
90036         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
90037         * m4/mbswidth.m4: Reflect name change:
90038         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
90039         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90040
90041         * m4/lib-link.m4: Update from gettext-0.11.2.
90042         * m4/gettext.m4: Likewise.
90043
90044         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
90045         From Alfred M. Szmidt.
90046
90047 2002-06-18  Paul Eggert  <eggert@twinsun.com>
90048
90049         * lib/file-type.h: Report an error if neither S_ISREG nor
90050         S_IFREG is defined, instead of using a test specific to glibc
90051         2.2.  This should be safe, since POSIX requires S_ISREG and
90052         Unix Version 7 had S_IFREG.  We don't need to check for
90053         <sys/types.h> since we don't use any symbols that it defines.
90054
90055 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
90056
90057         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
90058         $@-t, so that each temporary file name is unique and valid in the first
90059         8 characters, for operation under DOS.
90060
90061 2002-06-15  Paul Eggert  <eggert@twinsun.com>
90062
90063         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
90064
90065 2002-06-15  Jim Meyering  <meyering@lucent.com>
90066
90067         Work even with DJGPP 2.03, which lacks support for symlinks.
90068         From Richard Dawe.
90069         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
90070         is defined.
90071         * lib/lchown.c (S_ISLNK): Likewise.
90072
90073 2002-06-15  Jim Meyering  <meyering@lucent.com>
90074
90075         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
90076         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
90077         have been included before this file.
90078
90079 2002-06-14  Jim Meyering  <meyering@lucent.com>
90080
90081         * lib/file-type.h: Use the version from diffutils-2.8.2.
90082         * lib/file-type.c: Likewise.
90083
90084 2002-06-07  Jim Meyering  <meyering@lucent.com>
90085
90086         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
90087         They're needed at least for NetBSD 1.5.2.
90088         ($statxfs_includes): Include those same headers.
90089         ($statxfs_includes): Include sys/vfs.h if available.
90090         ($statxfs_includes): Likewise for sys/statvfs.h.
90091         Check for the following members in both structs statfs and statvfs:
90092         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
90093
90094 2002-06-01  Jim Meyering  <meyering@lucent.com>
90095
90096         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
90097         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
90098
90099 2002-05-28  Jim Meyering  <meyering@lucent.com>
90100
90101         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
90102         Reported by Volker Borchert.
90103
90104 2002-05-27  Jim Meyering  <meyering@lucent.com>
90105
90106         Fix a problem seen only on nonconforming systems whereby ls.c's
90107         use of localtime, and then of gettimeofday would cause trouble:
90108         the localtime call used to initialize rpl_gettimeofday's save
90109         mechanism would clobber ls's current local time information so
90110         that in any long listing the first file would always be listed
90111         with date 1970-01-01.  Analysis by Volker Borchert.
90112
90113         * lib/gettimeofday.c (localtime): Undefine.
90114         (rpl_localtime): New function.
90115
90116 2002-05-27  Jim Meyering  <meyering@lucent.com>
90117
90118         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
90119         localtime.
90120
90121         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
90122         use the replacement function; it wouldn't resolve at link time.
90123         Reported by Volker Borchert.
90124
90125 2002-05-22  Jim Meyering  <meyering@lucent.com>
90126
90127         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
90128         file-type.h.
90129         * lib/file-type.h: New file.
90130         * lib/file-type.c (file_type): New file/function.  Extracted from
90131         diffutils.
90132
90133 2002-04-30  Jim Meyering  <meyering@lucent.com>
90134
90135         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
90136
90137 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90138
90139         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
90140
90141 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90142
90143         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
90144         Do not check for alloca.h (no longer used) or stdbool.h (was never
90145         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
90146
90147 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90148
90149         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
90150
90151 2002-04-29  Jim Meyering  <meyering@lucent.com>
90152
90153         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
90154         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
90155         Use AC_FUNC_STRNLEN here instead.
90156
90157         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
90158         With autoconf-2.53a, it's part of AC_PROG_CC.
90159
90160 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90161
90162         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
90163         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
90164
90165 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90166
90167         * lib/sig2str.h, lib/sig2str.c: New files.
90168         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
90169
90170 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90171
90172         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
90173         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
90174         of 127, since 64 is the largest conceivable number for ancient
90175         nonstandard hosts.
90176         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
90177
90178 2002-04-28  Jim Meyering  <meyering@lucent.com>
90179
90180         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
90181
90182 2002-04-24  Jim Meyering  <meyering@lucent.com>
90183
90184         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
90185         (jm_PREREQ): Use it.
90186
90187         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
90188         mach/mach.h fcntl.h.
90189         Check for this function: setlocale.
90190
90191 2002-04-24  Jim Meyering  <meyering@lucent.com>
90192
90193         * lib/gettext.h: New file, from Gettext.
90194         * lib/Makefile.am (INCLUDES): Remove -I../intl.
90195         (libfetish_a_SOURCES): Add gettext.h.
90196
90197 2002-04-16  Jim Meyering  <meyering@lucent.com>
90198
90199         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
90200         ut_pid, ut_id, ut_exit.
90201
90202 2002-04-16  Jim Meyering  <meyering@lucent.com>
90203
90204         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
90205         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
90206         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
90207
90208 2002-04-12  Jim Meyering  <meyering@lucent.com>
90209
90210         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
90211         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
90212         existence of the getmntinfo function.  Needed for Darwin 5.3.
90213
90214         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
90215         This is necessary at least on Darwin 5.3.
90216
90217         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
90218         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
90219         strnlen.o in the library, and that makes some versions of ranlib
90220         object.
90221
90222 2002-04-12  Jim Meyering  <meyering@lucent.com>
90223
90224         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
90225
90226 2002-04-09  Jim Meyering  <meyering@lucent.com>
90227
90228         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
90229         to be more precise.  Rather than saying we're checking whether the
90230         function `works', say what we're testing.
90231         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
90232         Reported by Bruno Haible.
90233
90234 2002-03-10  Jim Meyering  <meyering@lucent.com>
90235
90236         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
90237         Suggestion from Santiago Vila.
90238
90239 2002-03-08  Jim Meyering  <meyering@lucent.com>
90240
90241         * lib/rename.c: Mention that this wrapper is needed also on
90242         mips-dec-ultrix4.4 systems.
90243
90244 2002-03-02  Jim Meyering  <meyering@lucent.com>
90245
90246         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
90247         not HAVE_CLOCK_SETTIME.
90248
90249 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90250
90251         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
90252         Check for clock_settime.
90253
90254 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90255
90256         * lib/nanosleep.h: Rename to....
90257         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
90258
90259         * lib/gettime.c: New file.
90260         * lib/settime.c: New file.
90261         * lib/stime.c: Remove.
90262
90263         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
90264         timespec.h.  Remove nanosleep.h.
90265
90266 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90267
90268         * m4/acl.m4: New file.
90269         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
90270         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
90271
90272 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90273
90274         * lib/acl.c, lib/acl.h: New files.
90275         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
90276
90277 2002-02-24  Jim Meyering  <meyering@lucent.com>
90278
90279         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
90280         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
90281         cause trouble.  Reported by Nelson Beebe.
90282
90283 2002-02-23  Paul Eggert  <eggert@twinsun.com>
90284
90285         * lib/path-concat.c (xpath_concat): Reorder code to pacify
90286         compilers that don't know that xalloc_die never returns.
90287
90288 2002-02-20  Jim Meyering  <meyering@lucent.com>
90289
90290         * lib/getdate.c: Regenerate using bison-1.33.
90291
90292 2002-02-17  Jim Meyering  <meyering@lucent.com>
90293
90294         * config/config.guess (main): Don't use `head -1'; it's no longer
90295         portable. Use `sed 1q' instead.
90296
90297 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
90298
90299         * m4/codeset.m4: Upgrade to gettext-0.11.
90300         * m4/gettext.m4: Upgrade to gettext-0.11.
90301         * m4/glibc21.m4: Upgrade to gettext-0.11.
90302         * m4/iconv.m4: Upgrade to gettext-0.11.
90303         * m4/isc-posix.m4: Upgrade to gettext-0.11.
90304         * m4/lcmessage.m4: Upgrade to gettext-0.11.
90305         * m4/lib-ld.m4: New file, from gettext-0.11.
90306         * m4/lib-link.m4: New file, from gettext-0.11.
90307         * m4/lib-prefix.m4: New file, from gettext-0.11.
90308         * m4/progtest.m4: Upgrade to gettext-0.11.
90309
90310 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90311
90312         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
90313         (jm_PREREQ): Use it.
90314
90315 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90316
90317         * lib/posixver.c, lib/posixver.h: New files.
90318         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90319
90320 2002-02-02  Paul Eggert  <eggert@twinsun.com>
90321             Bruno Haible  <bruno@clisp.org>
90322
90323         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
90324         (fwrite_success_callback): New declaration.
90325         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
90326         print_unicode_char. Call failure callback instead of error.
90327         (fwrite_success_callback): New function.
90328         (exit_failure_callback): New function.
90329         (fallback_failure_callback): New function.
90330         (print_unicode_char): Call unicode_to_mb.
90331
90332 2002-01-26  Jim Meyering  <meyering@lucent.com>
90333
90334         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
90335         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
90336
90337 2002-01-26  Jim Meyering  <meyering@lucent.com>
90338
90339         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
90340
90341 2002-01-22  Paul Eggert  <eggert@twinsun.com>
90342
90343         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
90344
90345 2002-01-22  Jim Meyering  <meyering@lucent.com>
90346
90347         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
90348         Otherwise, some versions of automake would omit the rule that makes
90349         Makefile from Makefile.in.
90350
90351 2002-01-21  Paul Eggert  <eggert@twinsun.com>
90352
90353         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
90354         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90355         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
90356         (memcoll): Set errno to zero if there is no error.
90357
90358         * lib/quotearg.c (quotearg_buffer_restyled):
90359         Fix bug with quoting buffers containing NUL when backslashing escapes.
90360         This bug was exposed by the other changes in this patch.
90361         (quotearg_n_options): New arg ARGSIZE.
90362         All callers changed.
90363         (quoting_options_from_style): New function.
90364         (quotearg_n_style): Use it.
90365         (quotearg_n_style_mem): New function.
90366
90367         * lib/quotearg.h (quotearg_n_style_mem): New function.
90368
90369 2002-01-19  Jim Meyering  <meyering@lucent.com>
90370
90371         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
90372         Remove useless quotes: DF_PROG="df".
90373         * m4/strnlen.m4: New file.
90374
90375 2002-01-16  Paul Eggert  <eggert@twinsun.com>
90376
90377         * lib/backupfile.c (ISDIGIT): Comment fix.
90378         * lib/getdate.y (ISDIGIT): Likewise.
90379         * lib/posixtm.c (ISDIGIT, year): Likewise.
90380         * lib/strverscmp.c (ISDIGIT): Likewise.
90381         * lib/userspec.c (ISDIGIT): Likewise.
90382
90383 2002-01-16  Jim Meyering  <meyering@lucent.com>
90384
90385         * lib/getdate.y: Add three semicolons, each just before a closing
90386         brace. Bison (as of version 1.31) no longer papers over that mistake.
90387
90388 2002-01-05  Jim Meyering  <meyering@lucent.com>
90389
90390         * lib/version-etc.c (version_etc_copyright): Update copyright year.
90391
90392 2001-12-19  Paul Eggert  <eggert@twinsun.com>
90393
90394         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
90395         not silently exit merely because the output buffer happens to
90396         have nothing pending.
90397
90398 2001-12-18  Paul Eggert  <eggert@twinsun.com>
90399
90400         See the big note in ../ChangeLog.
90401         * lib/human.c (suffixes): Prefer K to k for 1024.
90402         (generate_suffix_backwards): New function.
90403         (human_readable_inexact): Use it.
90404         * lib/xstrtol.c (__xstrtol): If there is no number but there
90405         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
90406         Accept 'K' as well as 'k'.
90407
90408 2001-12-15  Jim Meyering  <meyering@lucent.com>
90409
90410         * lib/regex.h (__restrict_arr): Update from libc.
90411
90412         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
90413         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
90414         (STREQ): Define.
90415
90416 2001-12-14  Jim Meyering  <meyering@lucent.com>
90417
90418         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
90419         Suggestion from Bruno Haible.
90420
90421 2001-12-10  Jim Meyering  <meyering@lucent.com>
90422
90423         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
90424         xrealloc, Instead, include "xalloc.h".
90425         (initbuffer): Don't cast xmalloc return value to char*.
90426         (readline): Reword comment.
90427         Don't cast xrealloc return value to char*
90428         Return NULL, not 0.
90429
90430 2001-12-09  Jim Meyering  <meyering@lucent.com>
90431
90432         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
90433         about `signed and unsigned type in conditional expression'.
90434         * lib/posixtm.c (posix_time_parse): Likewise.
90435
90436         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
90437
90438         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
90439         to avoid a pedantic warning.
90440
90441         * lib/getstr.c: Don't include assert.h.
90442         (getstr): Remove warning-evoking assertions.
90443         Return -1 if offset parameter is out of bounds.
90444         Change the type of a local from int to size_t.
90445
90446         * lib/strftime.c (my_strftime_localtime_r): Include this function
90447         definition in the `#if ! HAVE_TM_GMTOFF' block.
90448
90449         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
90450         Include xalloc.h instead.
90451
90452 2001-12-02  Jim Meyering  <meyering@lucent.com>
90453
90454         * lib/tempname.c: Don't declare getenv, thus reverting the change of
90455         2001-11-18.  It's no longer necessary, now that stdlib.h is always
90456         included.
90457
90458         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
90459         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
90460
90461 2001-11-30  Akim Demaille  <akim@epita.fr>
90462
90463         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
90464         before being defined.
90465
90466 2001-11-27  Paul Eggert  <eggert@twinsun.com>
90467
90468         * lib/quotearg.h (quotearg_n, quotearg_n_style):
90469         First arg is int, not unsigned.
90470         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
90471         (SIZE_MAX, UINT_MAX): New macros.
90472         (quotearg_n_options): Abort if N is negative.
90473         Avoid overflow check on hosts where size_t is 64 bits and int
90474         is 32 bits, as overflow is impossible there.
90475         Fix off-by-one typo that caused unnecessary reallocation.
90476
90477 2001-11-27  Jim Meyering  <meyering@lucent.com>
90478
90479         * lib/tempname.c: Merge with version from libc.
90480         * lib/regex.c: Likewise.
90481
90482         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
90483         systems for which STDC_HEADERS is 0, it was not included, resulting in
90484         a warning about an integer-to-pointer conversion problem with getenv.
90485         Reported by Volker Borchert.
90486
90487 2001-11-26  Jim Meyering  <meyering@lucent.com>
90488
90489         * lib/gtod.h: Remove file.
90490         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
90491         * lib/gettimeofday.c: Don't include gtod.h.
90492         (GTOD_init): Remove function.
90493         (rpl_gettimeofday): Do its job here instead, rather than aborting.
90494         Suggestion from Volker Borchert.
90495
90496 2001-11-23  Jim Meyering  <meyering@lucent.com>
90497
90498         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
90499         it.
90500         * lib/hash.c (struct hash_table): Define it here instead.
90501
90502 2001-11-22  Jim Meyering  <meyering@lucent.com>
90503
90504         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
90505
90506 2001-11-20  Jim Meyering  <meyering@lucent.com>
90507
90508         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
90509         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
90510
90511 2001-11-19  Jim Meyering  <meyering@lucent.com>
90512
90513         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
90514         directory.  Use "conftestXXXXXX" as the template.
90515         Suggestion from Paul Eggert.
90516
90517         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
90518         immediately, so the test doesn't mistakenly hit the max-open-files
90519         limit.
90520
90521 2001-11-18  Paul Eggert  <eggert@twinsun.com>
90522
90523         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
90524         (TEMPORARIES): New macro.
90525         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
90526         removes an artificial limitation (e.g. HP-UX 10.20, where
90527         TMP_MAX is 17576).
90528
90529 2001-11-18  Jim Meyering  <meyering@lucent.com>
90530
90531         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
90532
90533 2001-11-18  Jim Meyering  <meyering@lucent.com>
90534
90535         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
90536         on SunOS 4.
90537
90538         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
90539         files will be created before anything else.
90540
90541 2001-11-17  Paul Eggert  <eggert@twinsun.com>
90542
90543         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
90544         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
90545
90546 2001-11-17  Jim Meyering  <meyering@lucent.com>
90547
90548         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
90549         Prompted by a report from Bob Proulx.
90550
90551         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
90552         Instead, require UTILS_FUNC_MKSTEMP.
90553
90554 2001-11-17  Jim Meyering  <meyering@lucent.com>
90555
90556         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
90557         Now, that's done as part of AC_FUNC_STRTOD.
90558
90559 2001-11-17  Jim Meyering  <meyering@lucent.com>
90560
90561         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
90562         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
90563         rather than group writable.  Patch by Juan F. Codagnone.
90564
90565         * lib/readtokens.c: Remove explicit declarations of xmalloc and
90566         xrealloc, Instead, include "xalloc.h".
90567
90568         * lib/mountlist.c: Include unlocked-io.h after all system headers.
90569         Remove explicit declarations of xmalloc, xrealloc,
90570         and xstrdup.  Instead, include "xalloc.h".
90571
90572         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
90573         unlocked-io.h.
90574         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
90575         Likewise.
90576         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
90577
90578         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
90579         Reported by Padraig Brady.
90580
90581         * lib/mkstemp.c: #undef mkstemp.
90582         Include config.h.
90583         (rpl_mkstemp): Rename from mkstemp.
90584         Protoize.
90585
90586 2001-11-16  Jim Meyering  <meyering@lucent.com>
90587
90588         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
90589         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
90590         determine the amount of total physical memory, use pstat_getstatic.
90591         HPUX-11 doesn't define _SC_PHYS_PAGES.
90592         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
90593         If sysconf couldn't be used to determine the amount of available
90594         physical memory, use both pstat_getstatic and pstat_getdynamic.
90595         Based on a patch from Bob Proulx.
90596
90597 2001-11-10  Jim Meyering  <meyering@lucent.com>
90598
90599         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
90600         (jm_PREREQ): Use it.
90601
90602 2001-11-09  Jim Meyering  <meyering@lucent.com>
90603
90604         * m4/jm-macros.m4: Require autoconf-2.52f.
90605         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
90606         Use these AC_-prefixed names, not the AM_-prefixed ones.
90607
90608         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
90609
90610 2001-11-05  Jim Meyering  <meyering@lucent.com>
90611
90612         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
90613
90614 2001-11-04  Jim Meyering  <meyering@lucent.com>
90615
90616         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
90617         $DEFS.
90618
90619 2001-11-03  Jim Meyering  <meyering@lucent.com>
90620
90621         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
90622         of AC_DEFUN.
90623
90624         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
90625         know the name of the variable in the macro definition.
90626
90627 2001-11-03  Jim Meyering  <meyering@lucent.com>
90628
90629         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
90630         in argmatch_to_argument call.
90631
90632         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
90633         argument.
90634
90635         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
90636         e.g., a fault due to an attempt to free a NULL pointer.
90637
90638 2001-11-01  Jim Meyering  <meyering@lucent.com>
90639
90640         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
90641         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
90642
90643 2001-11-01  Jim Meyering  <meyering@lucent.com>
90644
90645         * lib/dirfd.c, lib/dirfd.h: New files.
90646         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
90647
90648         * lib/hash.c (hash_print) [TESTING]: Clean up.
90649
90650 2001-10-22  Paul Eggert  <eggert@twinsun.com>
90651
90652         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
90653         to avoid a warning if -Wall.
90654
90655 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
90656
90657         * README: New file
90658         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
90659         (per RMS's instructions, this is now the canonical source)
90660         * lgpl/, gpl/: New directories.
90661
90662 2001-10-21  Paul Eggert  <eggert@twinsun.com>
90663
90664         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
90665
90666 2001-10-21  Jim Meyering  <meyering@lucent.com>
90667
90668         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
90669         this code would end up calling gettext even in packages built
90670         with --disable-nls.
90671         * lib/getopt.c (_): Likewise.
90672         * lib/regex.c (_): Likewise.
90673
90674 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90675
90676         * m4/error.m4 (jm_PREREQ_ERROR):
90677         Do not invoke AC_CHECK_FUNCS with strerror_r, as
90678         AC_FUNC_STRERROR_R does that.
90679         Check for strerror declaration.
90680
90681         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90682         are supposed to have them these days.
90683         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90684         Merge changes from latest Autoconf CVS.
90685         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90686         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90687         POSIX decided to standardize on the int flavor of strerror_r.
90688
90689 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90690
90691         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90692         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90693         Use strerror_r that is only a macro, even if it is not a function.
90694         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90695         (private_strerror): Use prototypes, not old-style function definition.
90696         (print_errno_message): New function.
90697         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90698         char*-flavored one.
90699         (error_tail, error, error_at_line): Use it.
90700
90701 2001-10-11  Jim Meyering  <meyering@lucent.com>
90702
90703         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90704         and quote_n (1, ... to avoid clobbering a buffer.
90705
90706 2001-10-05  Jim Meyering  <meyering@lucent.com>
90707
90708         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90709         hash-pjw.h.
90710         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90711         * lib/hash-pjw.h: New file.
90712
90713 2001-09-30  Jim Meyering  <meyering@lucent.com>
90714
90715         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90716         `struct fsstat' has the `f_fstypename' member.
90717         Use that to define FS_TYPE, which is now used to make
90718         the getfsstat link test tighter.
90719
90720 2001-09-30  Jim Meyering  <meyering@lucent.com>
90721
90722         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90723         Include <sys/ucred.h>, for Apple Darwin.
90724         Include sys/mount.h and sys/fs_types.h only if available.
90725         (FS_TYPE): Define.
90726         (read_filesystem_list): Use FS_TYPE.
90727
90728 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90729
90730         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90731         a boolean context.
90732
90733 2001-09-29  Jim Meyering  <meyering@lucent.com>
90734
90735         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90736         [one-argument getmntent function]): Include stdio.h before mntent.h.
90737         SunOS 4.1.x needs it for the declaration of `FILE'.
90738         Patch by Volker Borchert.
90739
90740         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90741         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90742         sys/fs_types.h, and make the link-test for getfsstat guard #include
90743         directives with appropriate #if HAVE_*_H tests so that we can
90744         detect getfsstat on Apple Darwin1.3.7 systems.
90745         Reported by Nelson Beebe.
90746         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90747
90748 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90749
90750         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90751         #defines strtoimax.  Also treat the other strto* functions
90752         like strtoimax.
90753
90754         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90755         Check for strtoul and strtoumax,
90756         as those declarations are made even in the signed case.
90757         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90758         Likewise, for strtol and strtoimax.
90759
90760 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90761
90762         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90763         #defines strtoimax.  Also treat the other strto* functions
90764         like strtoimax.
90765
90766         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90767         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90768         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90769
90770 2001-09-26  Jim Meyering  <meyering@lucent.com>
90771
90772         Most macros in unlocked-io.h had the wrong number of arguments.
90773         * lib/gen-uio: New script.
90774         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90775         * lib/unlocked-io.hin: Remove file.
90776         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90777         rather than trying to embed it here.
90778         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90779         Reported by Padraig Brady.
90780
90781 2001-09-25  Volker Borchert  <bt@teknon.de>
90782
90783         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90784         `result'.
90785
90786 2001-09-24  Jim Meyering  <meyering@lucent.com>
90787
90788         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90789
90790 2001-09-23  Jim Meyering  <meyering@lucent.com>
90791
90792         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90793         instead of the mere test for existence of mntent.h.  The latter
90794         would get a false-positive on AIX 3.4 systems.
90795         In the outer getmntent if-block, don't die if neither of the getmntent
90796         tests succeeds.  Instead, just fall through and continue with the
90797         remaining tests.
90798
90799 2001-09-23  Jim Meyering  <meyering@lucent.com>
90800
90801         * lib/mountlist.c: Remove useless parentheses in #if directives.
90802         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90803         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90804
90805 2001-09-22  Jim Meyering  <meyering@lucent.com>
90806
90807         * m4/gettext.m4: New file.  From gettext.
90808         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90809         * m4/progtest.m4: Likewise
90810         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90811         * m4/glibc21.m4: Likewise.
90812
90813         * m4/libintl.m4: Remove.  No longer used.
90814
90815 2001-09-22  Jim Meyering  <meyering@lucent.com>
90816
90817         * lib/localcharset.c: Update from latest gettext.
90818         * lib/config.charset: Likewise.
90819
90820 2001-09-20  Jim Meyering  <meyering@lucent.com>
90821
90822         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
90823         strtoimax.
90824         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
90825         strtoumax.
90826
90827 2001-09-20  Jim Meyering  <meyering@lucent.com>
90828
90829         * lib/xstrtol.c (strtoimax): Guard declaration with
90830         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
90831         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
90832         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
90833         (strtoumax): Likewise, for completeness (it wasn't necessary).
90834
90835 2001-09-17  Paul Eggert  <eggert@twinsun.com>
90836
90837         * lib/strtoimax.c (HAVE_LONG_LONG):
90838         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
90839         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
90840         to work around bug in IBM C compiler.
90841
90842 2001-09-17  Jim Meyering  <meyering@lucent.com>
90843
90844         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90845         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90846         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90847         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90848         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90849         whenever the right hand side need not be expanded by the shell.
90850
90851 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90852
90853         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90854         library.  It's not correct, as some older glibcs are buggy.
90855         fnmatch wasn't fixed until glibc 2.2.
90856
90857         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90858         special shell magic here.
90859
90860 2001-09-16  Jim Meyering  <meyering@lucent.com>
90861
90862         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90863         * m4/jm-macros.m4: Require it.
90864
90865 2001-09-16  Jim Meyering  <meyering@lucent.com>
90866
90867         * lib/mkdir.c: New file.
90868
90869 2001-09-15  Jim Meyering  <meyering@lucent.com>
90870
90871         * m4/jm-macros.m4: Check for help2man.
90872
90873 2001-09-11  Jim Meyering  <meyering@lucent.com>
90874
90875         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90876         The body, by Paul Eggert, was moved here from configure.in.
90877         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90878
90879 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90880
90881         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90882         (jm_PREREQ): Use it.
90883
90884 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90885
90886         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90887         Use ssize_t, not int, to store result of readlink.
90888         Check for ssize_t overflow as well as size_t overflow,
90889         as POSIX says the result of readlink is implementation-defined
90890         when ssize_t overflows.
90891         Remove unnecessary cast to char*.
90892         Use free+malloc instead of realloc, as the storage doesn't need
90893         to be preserved and it's clearer and can be more efficient that way.
90894         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90895         * lib/xreadlink.h (xreadlink): Update prototype.
90896
90897 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90898
90899         * lib/xgetcwd.c: Revert some of the previous change; intead,
90900         fix the HAVE_GETCWD_NULL code to behave more like the
90901         !HAVE_GETCWD_NULL code used to.
90902
90903         Include "xalloc.h".
90904         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90905         invoke xalloc_die.
90906
90907 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90908
90909         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90910         sys/param.h, as pathmax.h includes them.
90911
90912 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90913
90914         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90915         (jm_PREREQ_XGETCWD): New macro.
90916
90917         * m4/getcwd.m4: New file.
90918
90919 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90920
90921         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90922         like the HAVE_GETCWD_NULL code.
90923         Include pathmax.h if not HAVE_GETCWD.
90924         Do not include xalloc.h.
90925         (INITIAL_BUFFER_SIZE): New symbol.
90926         Do not use xmalloc / xrealloc, since the caller is responsible for
90927         handling errors.  Preserve errno around `free' during failure.
90928         Do not overrun buffer when using getwd.
90929
90930 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90931
90932         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90933         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90934         getcwd (NULL, 0).
90935
90936 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90937
90938         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90939         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90940         spotted by Jim Meyering.
90941
90942 2001-09-03  Jim Meyering  <meyering@lucent.com>
90943
90944         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90945         failure.
90946
90947 2001-09-02  Jim Meyering  <meyering@lucent.com>
90948
90949         * lib/error.c: Update from GNU libc.
90950
90951 2001-09-01  Jim Meyering  <meyering@lucent.com>
90952
90953         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90954         Used by df.
90955
90956 2001-09-01  Jim Meyering  <meyering@lucent.com>
90957
90958         * lib/xreadlink.c: New file.
90959         * lib/xreadlink.h: New file.
90960         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
90961         xreadlink.h.
90962
90963         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
90964         doesn't conflict with sparc Solaris 7's definition in
90965         /usr/include/sys/int_types.h.
90966
90967         * lib/exclude.c: Use `""', not `<>' to #include non-system header
90968         files.
90969         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
90970         and strncasecmp as r-values.  Unixware didn't have declarations.
90971
90972 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90973
90974         * lib/xstrtol.h: Add copyright notice.
90975         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
90976         LONGINT_INVALID_SUFFIX_CHAR.
90977
90978 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90979
90980         * lib/xstrtol.c (strtoimax): New decl.
90981
90982 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90983
90984         * lib/xgetcwd.c: Don't include pathmax.h.
90985         Include stdlib.h and unistd.h if available.
90986         Include xalloc.h.
90987         (xmalloc, xstrdup, free): Remove decls.
90988         (xgetcwd): Don't assume sizes fit in unsigned.
90989         Check for overflow when computing sizes.
90990         Simplify reallocation code.
90991
90992 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90993
90994         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
90995         a directory's st_size can have an arbitrary value, so the old
90996         usage could waste an arbitrary amount of memory.  All uses
90997         changed.
90998         * lib/savedir.h: Update prototype.
90999
91000 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91001
91002         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
91003
91004         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
91005         old strtoimax.c.
91006
91007         Also, make the following further changes to make this file's
91008         configuration more similar to that of strtol.c:
91009         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
91010         (strtoumax, uintmax_t, strtoull, strtol): Remove.
91011         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
91012         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
91013         changed to signed values.
91014
91015         And make the following changes as well:
91016         Fix copyright notice, as 1999 was missing.
91017         (verify): New macro.
91018         (strtoimax): Check sizes at compile-time, not run-time.
91019         Prefer strtol to strtoll if both work.
91020         (main): Remove; it was not that useful and was a pain to maintain.
91021
91022         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
91023
91024 2001-08-31  Jim Meyering  <meyering@lucent.com>
91025
91026         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
91027         Use an initial, malloc'd, buffer of length 128 rather than
91028         a statically allocated one of length 1024.
91029
91030 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91031
91032         Simplify code, partly by assuming autoconf 2.52 semantics.
91033
91034         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
91035
91036         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
91037         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
91038         All uses removed.
91039         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
91040         Move AC_REQUIRE to next-to-top level, to avoid confusion.
91041         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
91042         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
91043         jm_AC_HEADER_INTTYPES_H.
91044         * m4/jm-macros.m4 (jm_MACROS): Likewise.
91045
91046         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
91047
91048         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
91049         Quote first arg of AC_DEFUN.
91050         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
91051         since they are needed to parse the include file even if we need
91052         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
91053         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
91054         but with opposite signedness.
91055
91056 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91057
91058         Merge 'exclude' changes from tar 1.13.22.
91059         This fixes one or two unlikely storage allocation overflow bugs,
91060         but doesn't change user-visible behavior otherwise.
91061
91062 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91063
91064         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
91065         (jm_PREREQ_EXCLUDE): New macro.
91066
91067 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91068
91069         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
91070         tm to be declared.
91071
91072 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91073
91074         * lib/hash.c: Remove '2001' from copyright notice.
91075
91076 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91077
91078         * lib/full-write.h: New file.
91079         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
91080         * lib/full-write.c: Correct credits, as cccp.c no longer
91081         exists and anyway it was so heavily changed from the old cccp
91082         code as to be unrecognizable.  Include full-write.h.
91083         (full_write): Return size_t, with short writes meaning failure.
91084         All callers changed.  This fixes a bug with large buffers
91085         on 64-bit hosts.
91086         * lib/utime.c: Include full-write.h.
91087
91088 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91089
91090         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
91091         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
91092         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
91093         Include if available.
91094         (<xalloc.h>): Include
91095         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
91096         (verify): New macro.  Use it to verify that EXCLUDE macros do not
91097         collide with FNM macros.
91098         (struct patopts): New struct.
91099         (struct exclude): Use it, as exclude patterns now come with options.
91100         (new_exclude): Support above changes.
91101         (new_exclude, add_exclude_file):
91102         Initial size must now be a power of two to simplify overflow checking.
91103         (free_exclude, fnmatch_no_wildcards): New function.
91104         (excluded_filename): No longer requires options arg, as the options
91105         are determined by add_exclude.  Now returns bool, not int.
91106         (excluded_filename, add_exclude):
91107         Add support for the fancy new exclusion options.
91108         (add_exclude, add_exclude_file): Now takes int options arg.
91109         Check for arithmetic overflow when computing sizes.
91110         (add_exclude_file): xrealloc might modify errno, so don't
91111         realloc until after errno might be used.
91112
91113         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
91114         New macros.
91115         (free_exclude): New decl.
91116         (add_exclude, add_exclude_file): Now takes int options arg.
91117         (excluded_filename): No longer requires options arg, as the options
91118         are determined by add_exclude.  Now returns bool, not int.
91119
91120 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91121
91122         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
91123
91124 2001-08-27  Jim Meyering  <meyering@lucent.com>
91125
91126         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
91127
91128         * lib/version-etc.c (N_): Remove definition.
91129         Revert most of last change.
91130         Instead, simply don't mark the `Copyright...' string for translation.
91131         Based on advice from Paul Eggert.
91132
91133         * lib/strtoxmax.c: Tweak comment.
91134
91135 2001-08-26  Jim Meyering  <meyering@lucent.com>
91136
91137         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
91138
91139         * m4/xstrtoimax.m4: New file.
91140         * m4/xstrtoumax.m4: Add comments explaining why we
91141         AC_REPLACE_FUNCS(strtol).
91142
91143 2001-08-26  Jim Meyering  <meyering@lucent.com>
91144
91145         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
91146         of copyright with `%s' so translators don't get an untranslated
91147         message in 2002.
91148         (COPYRIGHT_YEAR): Define.
91149         (version_etc): Use fprintf rather than fputs.
91150         Suggestion from Ulrich Drepper.
91151
91152         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
91153
91154         * lib/strtoll.c: New file, from GNU libc.
91155         * lib/xstrtoimax.c: New file.
91156
91157         * lib/xstrtol.h: Add xstrtoimax.
91158         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
91159         * lib/strtoimax.c: New file.  Likewise, but first define
91160         STRTOUXMAX_SIGNED.
91161
91162         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
91163         ...
91164         * lib/strtoxmax.c: ... then renamed to this.
91165
91166 2001-08-18  Paul Eggert  <eggert@twinsun.com>
91167
91168         * m4/inttypes.m4: Add AC_PREREQ(2.13).
91169         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
91170         (jm_AC_TYPE_INTMAX_T): New macro.
91171         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
91172
91173         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
91174
91175         * m4/longlong.m4: Renamed from ulonglong.m4.
91176         * m4/inttypes.m4: Renamed from inttypes_h.m4.
91177         * m4/uintmax_t.m4: Removed.
91178
91179 2001-08-13  Paul Eggert  <eggert@twinsun.com>
91180
91181         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
91182         Port to Solaris 8, where 'sed' requires a space after the 'r'
91183         command, and where sh dislikes "$/".  Clean up the spacing a bit.
91184         Redirect output to $tmp just once.
91185
91186 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
91187
91188         * lib/addext.c (<errno.h>): Include.
91189         (errno): Declare if not defined.
91190         (addext): Work correctly when pathconf returns -1 and leaves
91191         errno alone because there is no limit.  Also, work even if
91192         pathconf returns a value greater than SIZE_MAX.
91193
91194 2001-08-12  Jim Meyering  <meyering@lucent.com>
91195
91196         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
91197         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
91198         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
91199         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
91200         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
91201         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
91202         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
91203         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
91204         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
91205         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
91206         utime.m4, utimes.m4, xstrtoumax.m4:
91207         Quote the first argument in each use of AC_DEFUN.
91208
91209 2001-08-12  Jim Meyering  <meyering@lucent.com>
91210
91211         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
91212         Simply `return getcwd (NULL, 0);'.
91213         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
91214         Use 1300 as initial value for length, not PATH_MAX.
91215
91216         * lib/pathmax.h: Clean up cpp syntax.
91217
91218 2001-08-12  Jim Meyering  <meyering@lucent.com>
91219
91220         * lib/gettimeofday.c: New file.
91221         * lib/gtod.h: New file.
91222         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
91223
91224 2001-08-05  Jim Meyering  <meyering@lucent.com>
91225
91226         * m4/jm-macros.m4: Require autoconf-2.52.
91227
91228 2001-08-04  Jim Meyering  <meyering@lucent.com>
91229
91230         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
91231         stmt, to get in sync with glibc.
91232
91233 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91234
91235         The following changes are from gettext 0.10.39 as maintained by
91236         Bruno Haible.
91237
91238         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
91239         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
91240         with inverted sense.  All uses changed.
91241
91242         * lib/mbswidth.c: Don't include <limits.h>.
91243         Include <stdlib.h> and <string.h> unconditionally.
91244         (iswcntrl, mbsinit, ISCNTRL): New macros.
91245         (mbsnwidth): Use K&R style function declarations.
91246         Don't bother checking for MB_LEN_MAX == 1, since the compiler
91247         can optimize it when MB_CUR_MAX == 1.
91248         The width of control characters is zero, not 1.
91249
91250 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91251
91252         The following changes are from gettext 0.10.39 as maintained by
91253         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
91254
91255         * m4/codeset.m4: Upgrade to serial AM1.
91256         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
91257         all uses changed.  Quote first arg of AC_DEFUN.
91258         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
91259
91260         * m4/iconv.m4: Upgrade to serial AM2.
91261         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
91262         Add --with-libconv-prefix.
91263         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
91264         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
91265         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
91266         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
91267         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
91268
91269         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
91270         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
91271         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
91272         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
91273         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
91274         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
91275         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
91276         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
91277         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
91278
91279         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
91280         string.h any more.
91281
91282         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
91283         not the default value.
91284
91285         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
91286         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
91287         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
91288         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
91289         Also check for iswcntrl, used for wcwidth fallback.
91290         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
91291         to Autoconf 2.13.
91292
91293 2001-08-03  Jim Meyering  <meyering@lucent.com>
91294
91295         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
91296         as it was in the original.  Reported by Paul Eggert.
91297
91298 2001-07-16  Jim Meyering  <meyering@lucent.com>
91299
91300         * m4/gettimeofday.m4: New file.
91301         Prompted by a report from Bernhard Baehr.
91302
91303 2001-07-15  Jim Meyering  <meyering@lucent.com>
91304
91305         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
91306         stuff. Now it's in ../Makefile.cfg.
91307
91308 2001-07-15  Jim Meyering  <meyering@lucent.com>
91309
91310         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
91311         (BUILT_SOURCES): Add unlocked-io.h.
91312         (io_functions): Define.
91313         (unlocked-io.h): New rule.
91314         (DISTCLEANFILES): Add unlocked-io.h.
91315         (all-local): Depend on unlocked-io.h, to ensure it is created.
91316
91317         * lib/unlocked-io.hin: New file
91318
91319         * lib/regex.c: Update from glibc.
91320
91321 2001-07-05  Jim Meyering  <meyering@lucent.com>
91322
91323         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
91324         recommendation.
91325         (libfetish_a_SOURCES): Put all .h files here instead.
91326         Remove a thus-exposed (better checks in automake) duplicate and
91327         two unnecessary .h files.
91328
91329 2001-07-04  Jim Meyering  <meyering@lucent.com>
91330
91331         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
91332         that generates jm-glibc-io.m4 so that it doesn't trigger any make
91333         distcheck failure.
91334
91335 2001-07-02  Jim Meyering  <meyering@lucent.com>
91336
91337         The following changes were prompted by suggestions from Bruno Haible.
91338
91339         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
91340         is now generated.
91341         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
91342         definition of EXTRA_DIST.
91343         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
91344         ensure that the generated file is created/updated whenever the list
91345         of $(unlocked_functions) is changed.
91346         (jm-glibc-io.m4): New rule.
91347         (unlocked-io.h): New rule -- currently unused.
91348
91349 2001-06-24  Jim Meyering  <meyering@lucent.com>
91350
91351         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
91352         unmatched right bracket, rather than kludging it with an extra,
91353         falsely-matching quote in a comment.  Patch by Akim Demaille.
91354
91355 2001-06-11  Jim Meyering  <meyering@lucent.com>
91356
91357         * lib/regex.c: Update from GNU libc.
91358
91359 2001-05-27  Jim Meyering  <meyering@lucent.com>
91360
91361         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
91362         Check for ut_type in struct utmp.
91363
91364 2001-05-27  Jim Meyering  <meyering@lucent.com>
91365
91366         * lib/readutmp.h (UT_TYPE): Define.
91367
91368 2001-05-24  Jim Meyering  <meyering@lucent.com>
91369
91370         * lib/argmatch.c: Include "quote.h".
91371         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
91372         quote function.  Reported by Göran Uddeborg.
91373
91374 2001-05-22  Jim Meyering  <meyering@lucent.com>
91375
91376         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
91377         now that we use the package-supplied version unconditionally.
91378         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
91379
91380 2001-05-21  Jim Meyering  <meyering@lucent.com>
91381
91382         * m4/regex.m4: Change a couple backticks to single quotes to avoid
91383         shell syntax errors.
91384
91385 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91386
91387         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
91388
91389 2001-05-20  Paul Eggert  <eggert@twinsun.com>
91390
91391         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
91392         Don't bother to check library strftime, since
91393         we'll be using our own my_strftime function anyway.
91394         Define my_strftime instead of strftime.
91395
91396 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
91397
91398         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
91399         which is not yet declared.
91400
91401 2001-05-15  Jim Meyering  <meyering@lucent.com>
91402
91403         * m4/regex.m4: Use proper quoting so brackets appear in the test
91404         program.
91405         Reported by, and with help from, Bruno Haible.
91406
91407 2001-05-13  Jim Meyering  <meyering@lucent.com>
91408
91409         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
91410         undefined.
91411
91412 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91413
91414         dirname code cleanup.  base_name now behaves more compatibly
91415         with POSIX basename when given file names that have trailing
91416         slashes, and similarly for dir_name.  Add new primitives
91417         base_len and dir_len.  Put the directory-name-related decls
91418         into dirname.h.
91419
91420         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
91421         * lib/backupfile.c (base_name): Likewise.
91422         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
91423         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
91424         * lib/makepath.c (strip_trailing_slashes): Likewise.
91425         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
91426         ISSLASH): Likewise.
91427         * lib/rename.c (strip_trailing_slashes): Likewise.
91428         * lib/same.c (base_name): Likewise.
91429         * lib/stripslash.c (ISSLASH): Likewise.
91430
91431         * lib/addext.c: Include <dirname.h> after size_t is defined.
91432         * lib/backupfile.c: Likewise.
91433
91434         * lib/addext.c (addext): Use base_len to trim redundant
91435         trailing slashes instead of doing it ourselves.
91436         But do not trim the last slash if it is not redundant.
91437
91438         * lib/backupfile.c (find_backup_file_name,
91439         max_backup_version): Use base_len instead of rolling it ourselves.
91440         Handle the case of "" and (on DOS) "C:" correctly.
91441
91442         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
91443         needed. Include <string.h>, <dirname.h>.
91444         (base_name): Allow file names ending in slashes, other than names
91445         that are all slashes.  In this case, return the basename followed
91446         by the slashes.  This is more general, and can be used in places
91447         where the original base_name purposely had an assertion failure.
91448         (base_len): New function.
91449
91450         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
91451         Do not include <assert.h>; no longer needed.
91452         Include xalloc.h.
91453         (memrchr): Remove decl.
91454         (dir_name_r): Remove.
91455         (dir_len): Renamed from dirlen.  All callers changed.
91456         Rewrite in terms of base_name, for simplicity and consistency.
91457         (dir_name): Never return NULL.  All callers changed.
91458         Do not include <stdlib.h> in test program; no longer needed.
91459         return 0; is fine for test program.
91460
91461         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
91462         New macros.
91463         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
91464
91465         * lib/path-concat.c (path_concat): Use base_len to compute
91466         base length, not strlen; this means we cannot rely on memcpy
91467         to null-terminate.
91468
91469         * lib/same.c (STREQ): Remove.
91470         (same_name): Handle the case where the basename ends in trailing '/'.
91471
91472         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
91473         a slash was stripped.  Do not strip the last slash after a
91474         file system prefix.
91475
91476 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91477
91478         * lib/Makefile.am (libfetish_a_SOURCES):
91479         Add strftime.c, since we now compile it on all hosts.
91480
91481         * lib/strftime.c (my_strftime):
91482         Define to nstrftime if emacs, but only if my_strftime is not defined.
91483         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
91484         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
91485         Add one more extra argument: a nanoseconds value.
91486         All uses changed.
91487         (ns): New macro.
91488         (my_strftime function): Add %N format.
91489         (emacs_strftimeu): Renamed from emacs_strftime,
91490         with extra ut argument.
91491
91492 2001-05-09  Paul Eggert  <eggert@twinsun.com>
91493
91494         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
91495
91496 2001-04-21  Jim Meyering  <meyering@lucent.com>
91497
91498         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
91499         doesn't interfere.
91500
91501 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91502
91503         * m4/ftruncate.m4: Check for chsize.
91504         Link with ftruncate.o unconditionally if ftruncate is missing.
91505         This was required when cross-compiling to i586-mingw32msvc.
91506
91507 2001-04-08  Jim Meyering  <meyering@lucent.com>
91508
91509         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
91510         recomputed; that's necessary when the offset spans a DST transition.
91511         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
91512
91513 2001-04-02  Jim Meyering  <meyering@lucent.com>
91514
91515         * lib/regex.h, regex.c: Update from GNU libc.
91516
91517 2001-03-24  Jim Meyering  <meyering@lucent.com>
91518
91519         * m4/jm-macros.m4: Require autoconf-2.49d.
91520
91521 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
91522
91523         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
91524
91525 2001-03-19  Paul Eggert  <eggert@twinsun.com>
91526
91527         * lib/version-etc.c (version_etc_copyright): Update to 2001.
91528
91529 2001-03-17  Jim Meyering  <meyering@lucent.com>
91530
91531         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
91532         now that the version in autoconf is equivalent.
91533         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
91534
91535         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
91536         Suggestion from Akim Demaille.
91537
91538         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
91539         (jm_PREREQ_TEMPNAME): New function.
91540
91541 2001-03-16  Paul Eggert  <eggert@twinsun.com>
91542
91543         * lib/tempname.c (uint64_t): Define to uintmax_t if
91544         not defined, and if UINT64_MAX is not defined.
91545         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
91546         Reported by John David Anglin.
91547
91548 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
91549
91550         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
91551         resolve alias if codeset is empty.
91552         * lib/config.charset (BeOS): Use wildcard syntax.
91553
91554 2001-03-13  Jim Meyering  <meyering@lucent.com>
91555
91556         * lib/path-concat.c (path_concat)
91557         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
91558         concatenating e.g., `C:' and `foo'.
91559         From Bruno Haible.
91560
91561 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91562
91563         * lib/localcharset.c (locale_charset): Don't use
91564         setlocale(LC_CTYPE,NULL). Don't return NULL.
91565         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
91566
91567 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91568
91569         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
91570         support for DOS/DJGPP.
91571
91572 2001-03-01  Paul Eggert  <eggert@twinsun.com>
91573
91574         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
91575         lacks mkstemp.  Compile our own tempname.c if we compile our own
91576         mkstemp.c, as mkstemp relies on tempname.
91577
91578 2001-03-01  Jim Meyering  <meyering@lucent.com>
91579
91580         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
91581         AH_VERBATIM really does output its argument verbatim.
91582
91583 2001-02-28  Paul Eggert  <eggert@twinsun.com>
91584
91585         * lib/Makefile.am (libfetish_a_SOURCES):
91586         Add dup-safer.c, fopen-safer.c.
91587         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
91588
91589         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
91590         * lib/unistd-safer.h: New files.
91591
91592 2001-02-25  Paul Eggert  <eggert@twinsun.com>
91593
91594         The mkstemp replacement is taken from glibc 2.2.2, with some
91595         portability fixes for use outside glibc, as follows:
91596
91597         * lib/tempname.c (struct_stat64): New macro.
91598         (direxists, __gen_tempname): Use it.
91599         This avoids a portability problem with Solaris 8.
91600
91601         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
91602         (<stddef.h>, <stdint.h>, <string.h>):
91603         Include only if STDC_HEADERS || _LIBC.
91604         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
91605         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
91606         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
91607         (__set_errno): Define this macro if <errno.h> doesn't.
91608         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
91609         Define these macros if <stdio.h> doesn't.
91610         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
91611         Define these macros if <sys/stat.h>
91612         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
91613         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
91614         __xstat64): Define if not _LIBC.
91615         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
91616         (__gen_tempname): Invoke gettimeofday only if
91617         HAVE_GETTIMEOFDAY || _LIBC;
91618         otherwise, fall back on plain "time".
91619         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
91620
91621         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
91622
91623         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
91624
91625 2001-02-18  Paul Eggert  <eggert@twinsun.com>
91626
91627         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
91628
91629 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91630
91631         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
91632         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
91633         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
91634         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91635
91636 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91637
91638         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
91639         Remove workaround macros for hosts that have mbrtowc but not
91640         mbstate_t, as we now insist on proper declarations for both
91641         before using mbrtowc.
91642
91643 2001-02-17  Jim Meyering  <meyering@lucent.com>
91644
91645         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
91646         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
91647         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
91648         UnixWare 7.1.1.
91649
91650         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
91651         rather than AC_CACHE_VAL.
91652
91653 2001-02-17  Jim Meyering  <meyering@lucent.com>
91654
91655         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
91656         around included file name.
91657
91658         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
91659
91660         * lib/strftime.c: Update from GNU libc (the only changes were to
91661         comments).
91662
91663 2001-02-17  Jim Meyering  <meyering@lucent.com>
91664
91665         * lib/regex.c: Update from libc.
91666
91667 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
91668
91669         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
91670         clash.
91671
91672 2001-02-16  Paul Eggert  <eggert@twinsun.com>
91673
91674         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
91675         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
91676         Reported by Mark Hounschell via Paul Eggert.
91677
91678 2001-02-07  Jim Meyering  <meyering@lucent.com>
91679
91680         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91681
91682 2001-02-05  Jim Meyering  <meyering@lucent.com>
91683
91684         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91685         it includes the patch required for `large file' support with at least
91686         HP-UX's 10.20 /bin/cc.
91687
91688 2001-02-03  Jim Meyering  <meyering@lucent.com>
91689
91690         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91691         AS_IF, now that it works once again (mysteriously).
91692         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91693
91694 2001-01-30  Jim Meyering  <meyering@lucent.com>
91695
91696         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91697         * m4/chown.m4: Rename conftestchown to conftest.chown.
91698         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91699         s/conftestdir2/conftest.d2/.
91700         * m4/utimes.m4: s/conftestdata/conftest.data/
91701         Inspired by Pavel Roskin's change in autoconf.
91702
91703 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91704
91705         * lib/config.charset: Update for FreeBSD 4.2.
91706
91707 2001-01-27  Jim Meyering  <meyering@lucent.com>
91708
91709         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91710         a use of AS_IF.
91711         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91712
91713 2001-01-26  Jim Meyering  <meyering@lucent.com>
91714
91715         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91716         quotearg.c includes it.
91717
91718 2001-01-26  Jim Meyering  <meyering@lucent.com>
91719
91720         * lib/quotearg.c: Include stddef.h.
91721         * lib/quote.c: Include stddef.h.
91722         Reported by Axel Kittenberger.
91723
91724         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91725         line in double quotes so that it evokes a better diagnostic.
91726         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91727         Reported by Axel Kittenberger.
91728
91729 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91730
91731         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91732         as if it was a `charset'.
91733
91734 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91735
91736         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91737         has const.
91738
91739 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91740
91741         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91742         to avoid a warning.  Add back 'const' to inptr.
91743
91744 2001-01-20  Jim Meyering  <meyering@lucent.com>
91745
91746         Be sure that headers are checked before used in code compiled
91747         for the type checks.
91748         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91749         In place of that, invoke jm_CHECK_ALL_TYPES.
91750         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91751         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91752         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91753         The check for ssize_t was mistakenly run before the test for unistd.h.
91754
91755         The configure-time check for stdbool.h was missing.
91756         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91757         (jm_PREREQ_HASH): New function.
91758
91759 2001-01-17  Jim Meyering  <meyering@lucent.com>
91760
91761         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91762         for autoconf-2.49c.
91763         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91764
91765 2001-01-16  Jim Meyering  <meyering@lucent.com>
91766
91767         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91768         From Bruno Haible.
91769
91770 2001-01-14  Jim Meyering  <meyering@lucent.com>
91771
91772         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91773         foo and bar.  Create conftestdir/ in the script, not in the C code.
91774         Remove directories in the script, not in the C code.
91775         Remove conftestdir{,2} before trying to create the directory.
91776         Make the entire configure script fail if the mkdir fails.
91777
91778 2001-01-14  Jim Meyering  <meyering@lucent.com>
91779
91780         * lib/rename.c: New file.  From Volker Borchert.
91781         Include stdlib.h, string.h or strings.h, and xalloc.h.
91782         Use strip_trailing_slashes rather than open-coding it.
91783
91784 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91785
91786         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91787
91788 2001-01-03  Jim Meyering  <meyering@lucent.com>
91789
91790         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91791         of local `inptr' to avoid warning with some system declarations of
91792         iconv.
91793
91794 2001-01-02  Volker Borchert  <bt@teknon.de>
91795
91796         * m4/rename.m4: New file.
91797         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91798
91799 2001-01-01  Jim Meyering  <meyering@lucent.com>
91800
91801         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91802         even on systems with utmpx.h.  It's necessary for the declaration of
91803         utmp's ut_user member.  Reported by Andreas Jaeger.
91804
91805         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91806         available. They are required for the declarations of getgrgid and
91807         getpwuid resp.
91808         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91809         Reported by Andreas Jaeger.
91810
91811 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91812
91813         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91814         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91815         so `make install' also works in VPATH builds.
91816
91817 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91818
91819         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
91820         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
91821         can be used in subdirectories.
91822
91823 2000-12-29  Paul Eggert  <eggert@twinsun.com>
91824
91825         * lib/modechange.c: Do not assume that mode_t uses the
91826         traditional octal encoding.  E.g. "chmod 1 FOO" should set
91827         the other-execute bit of FOO even if S_IXOTH != 1.
91828
91829         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
91830         WOTH, XOTH, ALLM): New macros.
91831         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
91832          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
91833         Use them.
91834         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
91835         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
91836         (mode_compile):
91837         No need to use uintmax_t; unsigned long is long enough.
91838         Don't bother to get suffix since we don't use it.
91839
91840 2000-12-26  Jim Meyering  <meyering@lucent.com>
91841
91842         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
91843         better with autoheader.
91844
91845 2000-12-24  Jim Meyering  <meyering@lucent.com>
91846
91847         * lib/hash.c (is_prime): Return explicit boolean values.
91848         (hash_get_first): Return NULL to appease Irix5.6's 89.
91849         Reported by Nelson Beebe.
91850
91851 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91852
91853         * lib/localcharset.c (locale_charset): Add support for Win32.
91854
91855 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91856
91857         * lib/physmem.h, lib/physmem.c: New files.
91858
91859         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91860         (noinst_HEADERS): Add physmem.h.
91861
91862         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91863         't' for compatibility with Solaris 8 sort.
91864
91865 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91866
91867         * lib/config.charset: Add support for BeOS.
91868
91869 2000-12-17  Jim Meyering  <meyering@lucent.com>
91870
91871         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91872         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91873
91874 2000-12-16  Jim Meyering  <meyering@lucent.com>
91875
91876         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91877         N and M) would have treated it like `chown N:N FILE'.
91878
91879         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91880
91881 2000-12-16  Jim Meyering  <meyering@lucent.com>
91882
91883         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91884         SHELLS_FILE to a file name that's useful on djgpp systems.
91885         Include stdlib.h.
91886         (ADDITIONAL_DEFAULT_SHELLS): Define.
91887         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91888         Based mostly on a patch from Prashant TR.
91889
91890 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91891
91892         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91893         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91894         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91895
91896 2000-12-08  Andreas Schwab  <schwab@suse.de>
91897
91898         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91899         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91900
91901 2000-12-07  Jim Meyering  <meyering@lucent.com>
91902
91903         * lib/stripslash.c (ISSLASH): Define.
91904         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91905         `/'.
91906         From Prashant TR.
91907
91908         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91909         (dir_name_r): Declare this function as static.
91910         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91911         manifest itself on a name containing a mix of slashes and
91912         backslashes.
91913         Make this function work with names starting with a DOS-style
91914         drive letter and colon prefix.
91915         (dir_name): Append `.' if necessary.
91916         Based mostly on patches from Prashant TR and Eli Zaretskii.
91917
91918         * lib/dirname.h (dir_name_r): Remove prototype.
91919
91920 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91921
91922         * m4/off_t-format.m4: Remove this file.
91923         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91924
91925 2000-12-06  Jim Meyering  <meyering@lucent.com>
91926
91927         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91928         replacement strtoull, we may well need the replacement strtoul, too.
91929         Check for declarations of strtoul and strtoull.
91930         Check for strtol.  Mainly as a cue to cause automake to include
91931         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91932         Check for limits.h -- strtol.c needs it.
91933
91934 2000-12-05  Jim Meyering  <meyering@lucent.com>
91935
91936         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91937
91938 2000-12-04  Jim Meyering  <meyering@lucent.com>
91939
91940         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91941         Also include memory.h, stdlib.h, unistd.h if appropriate.
91942         Reported by Andreas Jaeger (conflicting declaration of malloc).
91943
91944 2000-12-02  Jim Meyering  <meyering@lucent.com>
91945
91946         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91947         * m4/jm-macros.m4 (jm_MACROS): require it.
91948
91949 2000-12-02  Jim Meyering  <meyering@lucent.com>
91950
91951         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91952
91953 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91954
91955         * lib/memrchr.c: Include <config.h> before any system include file.
91956
91957 2000-11-30  Jim Meyering  <meyering@lucent.com>
91958
91959         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
91960
91961 2000-11-30  Jim Meyering  <meyering@lucent.com>
91962
91963         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
91964
91965 2000-11-29  Paul Eggert  <eggert@twinsun.com>
91966
91967         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
91968
91969 2000-11-26  Jim Meyering  <meyering@lucent.com>
91970
91971         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
91972
91973 2000-11-22  Paul Eggert  <eggert@twinsun.com>
91974
91975         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
91976         size of (size_t) -1; it's not portable.
91977
91978 2000-11-17  Jim Meyering  <meyering@lucent.com>
91979
91980         * lib/strstr.c: Update from GNU libc.
91981
91982 2000-11-17  Akim Demaille  <akim@epita.fr>
91983
91984         * lib/obstack.h: Formatting changes.
91985         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
91986         prevent type checking.
91987         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
91988         cast the value to (void *): assigning a `foo *' to a `void *'
91989         variable is valid.
91990         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
91991
91992 2000-11-16  Jim Meyering  <meyering@lucent.com>
91993
91994         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
91995
91996 2000-11-11  Jim Meyering  <meyering@lucent.com>
91997
91998         * lib/error.c: Add a couple #includes, merging from GNU libc version.
91999
92000 2000-11-10  Jim Meyering  <meyering@lucent.com>
92001
92002         * lib/obstack.h: Update from GNU libc.
92003         * lib/obstack.c: Likewise.
92004
92005 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
92006
92007         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
92008
92009 2000-11-06  Paul Eggert  <eggert@twinsun.com>
92010
92011         * lib/getusershell.c (setusershell): Use rewind rather than
92012         fseek/fseeko, to avoid configuration hassles with fseeko.
92013         Don't bother opening SHELLS_FILE if shellstream is NULL;
92014         it's not necessary.
92015
92016 2000-11-05  Jim Meyering  <meyering@lucent.com>
92017
92018         * lib/makepath.h (make_dir): Declare.
92019         * lib/makepath.c (make_dir): Remove `static' attribute.
92020         Tweak a comment.
92021
92022 2000-11-04  Jim Meyering  <meyering@lucent.com>
92023
92024         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
92025
92026 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
92027
92028         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
92029         last one in a bucket, advance to the next bucket.
92030
92031 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
92032
92033         * lib/fnmatch.c: Do not comment out all the code if we are using
92034         the GNU C library, because in some cases we are replacing buggy
92035         code in the GNU C library itself.
92036
92037 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
92038
92039         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
92040         (regex_compile): Catch bogus \(\1\).
92041
92042 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92043
92044         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
92045         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
92046         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
92047
92048 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92049
92050         * lib/error.h, getline.h, modechange.h:
92051         Remove "2000" from Copyright line, as the file hasn't been
92052         changed this year other than in the copyright notice.
92053
92054         * lib/xalloc.h: Add "2000" to Copyright line, as this file
92055         was changed this year.
92056
92057 2000-10-29  Jim Meyering  <meyering@lucent.com>
92058
92059         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
92060         renaming.
92061         * m4/ls-mntd-fs.m4: Likewise
92062
92063 2000-10-29  Jim Meyering  <meyering@lucent.com>
92064
92065         * lib/xstat.in: Fix grammar in comment.
92066
92067 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
92068
92069         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
92070         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
92071         doesn't define __restrict_arr.
92072
92073 2000-10-28  Jim Meyering  <meyering@lucent.com>
92074
92075         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
92076         (jm_PREREQ_MEMCHR): New function.
92077
92078 2000-10-28  Jim Meyering  <meyering@lucent.com>
92079
92080         * lib/memchr.c: Update from libc.
92081         Adjust for portability:
92082         [HAVE_STDLIB_H]: Include stdlib.h.
92083         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
92084         Undef __memchr, too.
92085         [!weak_alias]: Define __memchr to memchr.
92086
92087         * lib/regex.c: Update from libc.
92088         * lib/regex.h: Likewise.
92089         * lib/getopt1.c: Likewise.
92090         * lib/memcmp.c: Likewise.
92091
92092         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
92093         Avoid using fseek, when possible -- it's broken by design.
92094         Patch by Ulrich Drepper.
92095
92096 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
92097
92098         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
92099         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
92100         Giving in to popular pressure to shut up the compiler with casts.
92101
92102 2000-10-26  Jim Meyering  <meyering@lucent.com>
92103
92104         * lib/strftime.c: Update from libc.
92105
92106 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
92107
92108         * regex.c: More `unsigned char' -> `re_char' changes.
92109         Also change several `int' into `re_wchar_t'.
92110         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
92111         (PUSH_FAILURE_POINTER): Don't cast any more.
92112         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
92113         We want GCC to complain, since this piece of code makes
92114         re_match non-reentrant, which *should* be fixed.
92115         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
92116         (EXTEND_BUFFER): Use RETALLOC.
92117         (SET_LIST_BIT): Don't cast.
92118         (re_wchar_t): New type.
92119         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
92120         that those two functions will always properly return.
92121         (IMMEDIATE_QUIT_CHECK): Cast to void.
92122         (analyse_first): Use recursion rather than an explicit stack.
92123         (re_compile_fastmap): Can't fail anymore.
92124         (re_search_2): Don't check re_compile_fastmap for failure.
92125         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
92126         Now also sets the new value (passed in a new argument).
92127         (re_match_2_internal): Use it.
92128         Also, use a new var `reg' of type size_t when looping through regs
92129         rather than reuse the inappropriate `mcnt'.
92130
92131 2000-10-25  Jim Meyering  <meyering@lucent.com>
92132
92133         * lib/obstack.c: Update from libc.
92134
92135 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
92136
92137         * regex.c (regex_compile): Change the way of handling a range from
92138         a char less than 256 to a char not less than 256.
92139
92140 2000-10-24  Andrew Innes  <andrewi@gnu.org>
92141
92142         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
92143         NT-Emacs only.
92144         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
92145         so that re_search functions only quit when callers expect them to.
92146
92147 2000-10-23  Jim Meyering  <meyering@lucent.com>
92148
92149         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
92150         wrong.  That set_locale call must not have any side effects.
92151         From Paul Eggert.
92152
92153 2000-10-22  Jim Meyering  <meyering@lucent.com>
92154
92155         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
92156         [CYCLIC]: Remove now-unused definition.
92157
92158         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
92159         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
92160         Suggestion from Ulrich Drepper.
92161
92162 2000-10-21  Jim Meyering  <meyering@lucent.com>
92163
92164         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
92165         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
92166         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
92167
92168 2000-10-21  Jim Meyering  <meyering@lucent.com>
92169
92170         * lib/dirname.c (memrchr): Declare if necessary.
92171         (dir_name): Remove the restriction that there be no
92172         trailing slashes.  Now, this code skips past them, effectively
92173         ignoring them.
92174         [TEST_DIRNAME] (main): New unit tests.
92175
92176         * lib/memrchr.c: New file from GNU libc.
92177         Undef __memrchr, too.
92178         [!weak_alias]: Define __memrchr to memrchr.
92179         Guard weak_alias use with `#ifdef weak_alias'.
92180
92181 2000-10-21  Jim Meyering  <meyering@lucent.com>
92182
92183         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
92184         (dir_name): Use dir_name_r.
92185         * lib/dirname.h (dir_name_r): Declare it.
92186
92187 2000-10-17  Jim Meyering  <meyering@lucent.com>
92188
92189         * lib/quote.h (PARAMS): Define and use.
92190         Reported by Akim Demaille.
92191
92192         * lib/getopt.c: Update from libc.
92193
92194 2000-10-16  Jim Meyering  <meyering@lucent.com>
92195
92196         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
92197         setlocale.
92198         From Jan Fedak.
92199
92200 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
92201
92202         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
92203
92204 2000-09-25  Jim Meyering  <meyering@lucent.com>
92205
92206         * lib/md5.h (rol): Define (from GnuPG).
92207
92208         * lib/sha.c: Give credit (GnuPG) where due.
92209         (M): Use rol rather than open-coding it.
92210         Add a FIXME comment.
92211
92212 2000-09-21  Jim Meyering  <meyering@lucent.com>
92213
92214         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
92215         Reported by Michael Stone.
92216
92217 2000-09-20  Jim Meyering  <meyering@lucent.com>
92218
92219         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
92220         (noinst_HEADERS): Add sha.h.
92221         Based on code from Scott G. Miller and from GnuPG.
92222
92223 2000-09-18  Jim Meyering  <meyering@lucent.com>
92224
92225         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
92226         LIBS. Otherwise, everyone ends up linking with -lelf for some
92227         configurations.
92228         Reported by Mike Stone.
92229
92230 2000-09-15  Jim Meyering  <meyering@lucent.com>
92231
92232         * lib/regex.c: Update from libc.
92233
92234 2000-09-10  Jim Meyering  <meyering@lucent.com>
92235
92236         * lib/getopt.c (_getopt_internal): Update from glibc.
92237
92238 2000-09-09  Jim Meyering  <meyering@lucent.com>
92239
92240         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
92241         think it should be used as a general replacement for isascii.
92242         * lib/fnmatch.c: Likewise.
92243         * lib/mbswidth.c: Likewise
92244         * lib/regex.c: Likewise.
92245
92246         Don't use atoi.
92247         * lib/userspec.c: Include sys/param.h and limits.h.
92248         Include xstrtol.h.
92249         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92250         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
92251         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
92252         UID, GID.  Check range.
92253
92254 2000-09-06  Jim Meyering  <meyering@lucent.com>
92255
92256         * lib/getopt.c (_getopt_internal): Update from glibc.
92257
92258 2000-08-30  Jim Meyering  <meyering@lucent.com>
92259
92260         * lib/strftime.c: Merge in changes from GNU libc.
92261
92262 2000-08-26  Jim Meyering  <meyering@lucent.com>
92263
92264         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
92265         * m4/fpending.m4: New file.
92266
92267 2000-08-26  Jim Meyering  <meyering@lucent.com>
92268
92269         * lib/closeout.c: Include "__fpending.h".
92270         (close_stdout_status): Return right away if there's nothing to flush.
92271
92272         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
92273         * lib/__fpending.c: New file.
92274         * lib/__fpending.h: New file.
92275
92276 2000-08-20  Jim Meyering  <meyering@lucent.com>
92277
92278         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
92279         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
92280         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
92281
92282 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
92283
92284         Improve fileutils installation on systems where running
92285         programs (like install) can't be unlinked.
92286         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
92287         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
92288
92289 2000-08-07  Paul Eggert  <eggert@twinsun.com>
92290
92291         Standardize on "memory exhausted" instead of "Memory exhausted"
92292         or "virtual memory exhausted".
92293         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
92294         "virtual memory exhausted".
92295         * lib/same.c (same_name): Invoke xalloc_die instead of printing
92296         our own message.
92297         * lib/userspec.c (parse_user_spec): Likewise.
92298         * lib/bumpalloc.h: comment fix
92299         * lib/same.c, userspec.c: Include xalloc.h.
92300
92301         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
92302         not char *const and pointing to a constant array.
92303         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
92304         (xrealloc): Comment fix.
92305
92306         * lib/userspec.c (parse_user_spec):
92307         Don't translate a message until just before returning,
92308         to avoid unnecessary translation.
92309
92310 2000-08-07  Jim Meyering  <meyering@lucent.com>
92311
92312         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
92313         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
92314         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
92315         getgroups.c, gethostname.c, getopt.h, group-member.c,
92316         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
92317         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
92318         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
92319         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
92320         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
92321         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
92322         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
92323         yesno.c: Back out Copyright date changes for each file with no change
92324         this year.  This eases coordination with other programs using the same
92325         source code modules.  From Paul Eggert.
92326
92327 2000-08-06  Paul Eggert  <eggert@twinsun.com>
92328
92329         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
92330         not char, for compatibility with glibc 2.1.3 strftime.c.
92331
92332 2000-08-03  Greg McGary  <greg@mcgary.org>
92333
92334         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
92335         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
92336         (EXTEND_BUFFER): Use them.
92337
92338 2000-08-01  Jim Meyering  <meyering@lucent.com>
92339
92340         * lib/dirname.c (ISSLASH): Define.
92341         (BACKSLASH_IS_PATH_SEPARATOR): Define.
92342         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
92343         both `\' and `/' may be use as path separators.
92344         Based on a patch from Prashant TR.
92345
92346 2000-07-31  Paul Eggert  <eggert@twinsun.com>
92347
92348         * lib/quotearg.c (quotearg_n_options): Don't make the initial
92349         slot vector a constant, since it might get modified.
92350
92351 2000-07-31  Jim Meyering  <meyering@lucent.com>
92352
92353         * lib/xmalloc.c: Use `virtual memory exhausted', not
92354         `Memory exhausted'.
92355         * lib/obstack.c (print_and_abort): Likewise.
92356
92357 2000-07-30  Paul Eggert  <eggert@twinsun.com>
92358
92359         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
92360         buffer, so that the caller can always quote one small
92361         component of a "memory exhausted" message in slot 0.
92362         From a suggestion by Jim Meyering.
92363
92364 2000-07-30  Jim Meyering  <meyering@lucent.com>
92365
92366         * lib/makepath.c (make_path): Quote the other instance, too.
92367
92368         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
92369         (STATIC_BUF_SIZE): Define.
92370         (quotearg_n_options): Use only statically allocated storage when
92371         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
92372         than STATIC_BUF_SIZE.
92373
92374 2000-07-29  Jim Meyering  <meyering@lucent.com>
92375
92376         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
92377         * lib/dirname.c (dir_name): Likewise.
92378
92379         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
92380         `/'.
92381
92382         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
92383         (dir_name): Assert that there are no trailing slashes.
92384
92385 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
92386
92387         * lib/mbswidth.h (mbswidth): Add a flags argument.
92388         (mbswidth): New declaration.
92389         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
92390         * lib/mbswidth.c (mbswidth): Add a flags argument.
92391         (mbsnwidth): New function.
92392
92393 2000-07-24  Jim Meyering  <meyering@lucent.com>
92394
92395         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
92396
92397 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92398
92399         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
92400
92401 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92402
92403         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
92404         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
92405         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
92406         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
92407         invoke multibyte primitives.
92408
92409 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92410
92411         * lib/quotearg.c:
92412         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
92413         so that mbstate_t is always defined.
92414
92415         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
92416         be 1 in at least one GCC installation, and this configuration
92417         error is likely to be common.  Ignoring MB_LEN_MAX hurts
92418         performance on hosts that have mbrtowc but have only unibyte
92419         locales, but I assume these hosts are rare.
92420
92421 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92422
92423         * lib/mbswidth.c (_XOPEN_SOURCE):
92424         Don't define; this causes problems on Solaris 7.
92425         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
92426
92427 2000-07-23  Jim Meyering  <meyering@lucent.com>
92428
92429         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
92430         too: getgrgid, getpwuid, getuid.
92431
92432 2000-07-23  Jim Meyering  <meyering@lucent.com>
92433
92434         * lib/basename.c (base_name): Add an assertion.
92435
92436 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
92437
92438         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
92439         shadow its mbsinit function.
92440
92441 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92442
92443         * lib/mbswidth.h: New file.
92444         * lib/mbswidth.c: New file.
92445         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
92446         (noinst_HEADERS): Add mbswidth.h.
92447
92448 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92449
92450         * lib/config.charset: Add support for FreeBSD. Improve support for
92451         HP-UX and IRIX 6.
92452
92453 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
92454
92455         * m4/mbswidth.m4: New file.
92456         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
92457
92458 2000-07-15  Jim Meyering  <meyering@lucent.com>
92459
92460         * lib/makepath.c: Include quote.h.
92461         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
92462         corresponding argument in a `quote (...)' call.
92463         Give better diagnostics.
92464
92465         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
92466         (noinst_HEADERS): Add quote.h.
92467
92468         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
92469         from tar's src/misc.c.
92470         * lib/quote.h: New file.  Prototypes for same.
92471
92472 2000-07-14  Paul Eggert  <eggert@twinsun.com>
92473
92474         From a suggestion by Bruno Haible.
92475         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
92476         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
92477         to decide whether to define the BeOS workaround macro;
92478         this adjusts to the change to AC_MBSTATE_T.
92479
92480 2000-07-14  Jim Meyering  <meyering@lucent.com>
92481
92482         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
92483         jm_AC_TYPE_UINTMAX_T.
92484
92485 2000-07-13  Paul Eggert  <eggert@twinsun.com>
92486
92487         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
92488
92489         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
92490         quotearg_buffer_restyled): Add support for
92491         clocale_quoting_style.  Undo previous change to
92492         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
92493         and "{RIGHT QUOTATION MARK}" msgids.
92494
92495 2000-07-10  Paul Eggert  <eggert@twinsun.com>
92496
92497         From a suggestion by Bruno Haible.
92498         * m4/mbstate_t.m4 (AC_MBSTATE_T):
92499         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
92500         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
92501         and mbstate_t, to a single-part test that simply defines mbstate_t.
92502         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
92503         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
92504
92505 2000-07-10  Jim Meyering  <meyering@lucent.com>
92506
92507         * m4/strerror_r.m4: Mirror the correction made in autoconf.
92508
92509         * m4/gnu-source.m4: Output to confdefs.h directly.
92510         Suggestion from Akim Demaille.
92511
92512 2000-07-09  Paul Eggert  <eggert@twinsun.com>
92513
92514         The old behavior of quoting `like this' doesn't look good with
92515         newer, ISO-style fonts.  See:
92516         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
92517
92518         Instead, quote "like this" by default.  Let the translator
92519         tailor the locale-specific quoting behavior by providing
92520         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
92521
92522         * lib/quotearg.c (N_): New macro.
92523         (gettext_default): New function.
92524         (quotearg_buffer_restyled): Use
92525         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
92526         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
92527
92528 2000-07-09  Jim Meyering  <meyering@lucent.com>
92529
92530         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
92531         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
92532
92533         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
92534         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
92535
92536 2000-07-09  Jim Meyering  <meyering@lucent.com>
92537
92538         * lib/Most files: Update copyright dates to include 2000.
92539
92540 2000-07-08  Jim Meyering  <meyering@lucent.com>
92541
92542         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
92543         if not defined.
92544         (xgethostname): Remove now-unnecessary #ifdef.
92545         Move declaration of `err' into loop where it's used.
92546
92547 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92548         and Bruno Haible  <haible@clisp.cons.org>
92549
92550         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
92551         only if the test for an object-type mbstate_t fails.  This
92552         prevents us from mistakenly reporting that mbstate_t is a
92553         system object type after we "#define mbstate_t int" to work
92554         around its lack.
92555
92556 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92557         and Bruno Haible  <haible@clisp.cons.org>
92558
92559         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
92560
92561 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92562
92563         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
92564         to strerror_r.
92565         Include <ctype.h> for use of isalpha.
92566
92567 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92568
92569         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
92570         by allocating a larger buffer. Test the gethostname return value for
92571         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
92572         returns an error and ENAMETOOLONG isn't defined.
92573
92574 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92575
92576         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
92577         dimension.
92578
92579 2000-07-04  Jim Meyering  <meyering@lucent.com>
92580
92581         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
92582         of the deprecated AC_CHECKING.
92583
92584 2000-07-04  Jim Meyering  <meyering@lucent.com>
92585
92586         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
92587         Reported by Bruno Haible.
92588
92589 2000-07-04  Jim Meyering  <meyering@lucent.com>
92590
92591         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
92592         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
92593         lacks mbrtowc.
92594
92595 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92596
92597         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
92598         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
92599
92600 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92601         and Bruno Haible  <haible@clisp.cons.org>
92602
92603         * lib/quotearg.c (mbrtowc):
92604         Assign to *pwc, and return 1 only if result is nonzero.
92605         (iswprint): Use ISPRINT when substituting our own mbrtowc.
92606
92607 2000-07-03  Jim Meyering  <meyering@lucent.com>
92608
92609         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
92610
92611 2000-07-03  Jim Meyering  <meyering@lucent.com>
92612
92613         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
92614         This is necessary to get a definition of e.g., UTMP_FILE on
92615         HP-UX 10.20.
92616         From Bob Proulx.
92617
92618 2000-07-02  Jim Meyering  <meyering@lucent.com>
92619
92620         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
92621
92622         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
92623         AC_LIBOBJ(function_name).
92624         * m4/chown.m4: Likewise.
92625         * m4/fnmatch.m4: Likewise.
92626         * m4/ftruncate.m4: Likewise.
92627         * m4/getgroups.m4: Likewise.
92628         * m4/getline.m4: Likewise.
92629         * m4/group-member.m4: Likewise.
92630         * m4/jm-macros.m4: Likewise.
92631         * m4/lstat.m4: Likewise.
92632         * m4/malloc.m4: Likewise.
92633         * m4/memcmp.m4: Likewise.
92634         * m4/nanosleep.m4: Likewise.
92635         * m4/putenv.m4: Likewise.
92636         * m4/realloc.m4: Likewise.
92637         * m4/regex.m4: Likewise.
92638         * m4/stat.m4: Likewise.
92639         * m4/strftime.m4: Likewise.
92640
92641 2000-07-02  Jim Meyering  <meyering@lucent.com>
92642
92643         * lib/quotearg.c (mbstate_t): Don't define here.
92644
92645 2000-07-02  Jim Meyering  <meyering@lucent.com>
92646
92647         * lib/nanosleep.c (SIGCONT): Define if not already defined.
92648
92649 2000-07-01  Jim Meyering  <meyering@lucent.com>
92650
92651         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
92652
92653 2000-07-01  Jim Meyering  <meyering@lucent.com>
92654
92655         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
92656         problem.
92657
92658 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92659
92660         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
92661         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
92662
92663 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92664
92665         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
92666         per change in ../m4/ls-mntd-fs.m4.
92667         (read_filesystem_list): Ignore symbolic links.
92668
92669 2000-06-29  Jim Meyering  <meyering@lucent.com>
92670
92671         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
92672         for declaration of strcmp.
92673
92674         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
92675
92676         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
92677         Avoid warning by casting result to `char *' to remove `const'.
92678
92679 2000-06-28  Jim Meyering  <meyering@lucent.com>
92680
92681         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92682         included by quotearg.c, for which we perform this test.  From
92683         Bruno Haible.
92684
92685 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92686
92687         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92688         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92689         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92690
92691 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92692
92693         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92694
92695 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92696
92697         savedir now sets errno on failure and invokes xmalloc to get memory.
92698         Fix a couple of other minor bugs while we're at it.
92699
92700         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92701         (NAMLEN): Remove macro.
92702         (malloc, realloc): Remove decls.
92703         (stpcpy): Likewise.
92704         ("xalloc.h"): Include.
92705         (NAME_SIZE_DEFAULT): New macro.
92706         (savedir): Use xmalloc / xrealloc to allocate memory.
92707         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92708         Skip "" directory entries.
92709         Use strlen to calculate directory entry length, since the old method
92710         is rarely used these days and isn't worth supporting.
92711         Don't use a pointer after freeing it.
92712         Check for integer overflow when calculating allocation size.
92713         Use memcpy to copy entries, instead of stpcpy.
92714         Set errno properly when returning NULL.
92715         Check for readdir error.
92716
92717 2000-06-26  Jim Meyering  <meyering@lucent.com>
92718
92719         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92720
92721 2000-06-25  Jim Meyering  <meyering@lucent.com>
92722
92723         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92724         Linux header bug when _XOPEN_SOURCE is defined to 500.
92725
92726 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92727
92728         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92729         deficiency.
92730
92731 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92732
92733         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92734         Include xalloc.h.
92735         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92736
92737 2000-06-24  Jim Meyering  <meyering@lucent.com>
92738
92739         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92740         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92741         for which strerror does return char*, but which lacks a conveniently
92742         accessible declaration of the function.  If the compile-test says
92743         strerror_r doesn't work, then resort to a `run'-test that works on
92744         BeOS and segfaults on DEC Unix.
92745
92746 2000-06-24  Jim Meyering  <meyering@lucent.com>
92747
92748         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92749
92750 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92751
92752         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92753         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92754
92755 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92756
92757         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92758         (mbrtowc, mbstate_t): Define substitutes if
92759         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92760         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92761         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92762
92763 2000-06-23  Jim Meyering  <meyering@lucent.com>
92764
92765         * m4/afs.m4: Add missing AC_MSG_RESULT.
92766         Reported by Bruno Haible.
92767
92768         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92769         Suggestion from Bruno Haible.
92770
92771 2000-06-23  Jim Meyering  <meyering@lucent.com>
92772
92773         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92774
92775 2000-06-21  Jim Meyering  <meyering@lucent.com>
92776
92777         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92778
92779 2000-06-21  Jim Meyering  <meyering@lucent.com>
92780
92781         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92782         (noinst_HEADERS): Add getstr.h.
92783
92784         * lib/getline.c (getstr): Move into a separate file.
92785         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92786         the following changes: new parameter, delim2; both delim[12]
92787         parameters have type `int', not `char'.  The latter would lose
92788         with 8-bit delimiters.
92789         * lib/getstr.h: New file.
92790
92791 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92792
92793         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92794         than 1024, return a memory chunk of least possible size, instead
92795         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92796         Use free/xmalloc instead of xrealloc to avoid copying for very long
92797         paths.
92798
92799 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92800
92801         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92802         the empty string.
92803
92804 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92805
92806         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92807         address, not strdup.  Include <stdlib.h> and don't declare free().
92808
92809 2000-06-19  Jim Meyering  <meyering@lucent.com>
92810
92811         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92812
92813 2000-06-18  Jim Meyering  <meyering@lucent.com>
92814
92815         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92816
92817         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92818         `checking whether...' message to be consistent with that of the
92819         lstat test.
92820
92821 2000-06-18  Jim Meyering  <meyering@lucent.com>
92822
92823         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
92824         Besides, these days every porting target provides a mkdir function.
92825
92826         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
92827         needed. (this snippet comes from src/system.h).
92828
92829 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
92830
92831         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
92832
92833 2000-06-15  Paul Eggert  <eggert@twinsun.com>
92834
92835         * lib/human.c (adjust_value): New function.
92836         (human_readable_inexact): Apply rounding style even when
92837         printing approximate values.
92838
92839 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92840
92841         * lib/human.c (human_readable_inexact): Allow an input block
92842         size that is not a multiple of the output block size, and vice versa.
92843         Reported by Piergiorgio Sartor.
92844
92845 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92846
92847         * lib/getdate.y (get_date): Apply relative times after time
92848         zone indicator, not before.  Reported by Todd A. Jacobs.
92849
92850 2000-06-13  Jim Meyering  <meyering@lucent.com>
92851
92852         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92853
92854         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92855
92856 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92857
92858         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92859
92860 2000-06-12  Jim Meyering  <meyering@lucent.com>
92861
92862         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92863         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92864         optional argument.
92865         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92866         the optional argument, `lib'.
92867
92868 2000-06-08  Jim Meyering  <meyering@lucent.com>
92869
92870         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92871
92872 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92873
92874         Rewrite largefile configuration so that we don't need to run
92875         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92876         AC_CANONICAL_HOST in configure.in -- jmm]
92877
92878         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92879         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92880         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92881         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92882         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92883         All uses changed.
92884         Instead of inspecting the output of getconf, try to compile the
92885         test program without and with the macro definition.
92886         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92887         for getconf.  Instead, check for the needed flags by compiling
92888         test programs.
92889
92890 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92891
92892         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92893
92894 2000-06-04  Jim Meyering  <meyering@lucent.com>
92895
92896         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92897         SunOS 4.1.4 for which gid_t is an unsigned type.
92898
92899 2000-06-03  Jim Meyering  <meyering@lucent.com>
92900
92901         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92902         now that autoconf requires that.
92903
92904         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92905         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92906         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92907
92908 2000-06-03  Jim Meyering  <meyering@lucent.com>
92909
92910         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92911
92912 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92913
92914         * m4/glibc21.m4: New file.
92915         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92916
92917 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92918
92919         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92920         newer, don't install charset.alias.
92921         * lib/config.charset: Change the Linux/glibc rules so they become empty
92922         on glibc-2.1 or newer.
92923
92924 2000-06-02  Jim Meyering  <meyering@lucent.com>
92925
92926         * lib/mountlist.c: Back out last change.  Instead, do this...
92927         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92928         me_dummy member using the same `ignore'-testing code.
92929         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92930         fs_type strings.
92931         From Mark D. Roth.
92932
92933 2000-05-29  Jim Meyering  <meyering@lucent.com>
92934
92935         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92936         mounts with the `ignore' attribute.  Based on a patch from
92937         Mark D. Roth.
92938
92939 2000-05-28  Jim Meyering  <meyering@lucent.com>
92940
92941         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92942         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92943         * m4/stat.m4: Likewise.
92944         * m4/lstat.m4: Likewise.
92945         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92946
92947         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92948         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92949
92950 2000-05-26  Jim Meyering  <meyering@lucent.com>
92951
92952         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92953
92954 2000-05-24  Jim Meyering  <meyering@lucent.com>
92955
92956         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92957         autoconf requires that.
92958         * m4/lib-check.m4: Likewise.
92959         * m4/jm-macros.m4: Likewise.
92960         * m4/strftime.m4: Likewise.
92961
92962         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
92963         AC_CHECK_DECLS, now that autoconf requires that.
92964
92965 2000-05-22  Jim Meyering  <meyering@lucent.com>
92966
92967         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92968         * m4/lstat.m4: Likewise.
92969
92970 2000-05-22  Jim Meyering  <meyering@lucent.com>
92971
92972         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
92973
92974 2000-05-20  Jim Meyering  <meyering@lucent.com>
92975
92976         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
92977         (jm_PREREQ): Use it.
92978
92979 2000-05-18  Jim Meyering  <meyering@lucent.com>
92980
92981         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
92982         back, too, since it may have been modified by allocate_entry.
92983         (hash_delete): Rewrite to use neither the assignment operator
92984         nor the comma operator in an if-expression.
92985
92986 2000-05-15  Paul Eggert  <eggert@twinsun.com>
92987
92988         * lib/closeout.c:
92989         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
92990         Remove; no longer needed.
92991         "quotearg.h": Add include.
92992         (file_name): Do not bother to explicitly initialize to NULL; it's less
92993         efficient on some hosts.
92994         (close_stdout_status): Remove test as to whether stdout was already
92995         closed; it breaks for the case "echo x | sort >&-".
92996         Quote file name colons.
92997         Do not assume that _("write error") lacks format strings.
92998
92999 2000-05-15  Jim Meyering  <meyering@lucent.com>
93000
93001         * lib/version-etc.c (version_etc_copyright): Update the copyright
93002         string used in all --version output.
93003
93004 2000-05-14  Jim Meyering  <meyering@lucent.com>
93005
93006         * lib/closeout.c (close_stdout_set_file_name): New function.
93007         (close_stdout_status): Use new file-scoped global.
93008         Return right away if fstat says the stdout file descriptor is invalid.
93009         * lib/closeout.h (close_stdout_set_file_name): Declare.
93010
93011 2000-05-10  Jim Meyering  <meyering@lucent.com>
93012
93013         * lib/closeout.c [default_exit_status]: New file-scoped variable.
93014         (close_stdout_set_status): New function.
93015         * lib/closeout.h (close_stdout_set_status): Declare.
93016
93017 2000-05-09  Jim Meyering  <meyering@lucent.com>
93018
93019         * m4/gettext.m4: Rename this...
93020         * m4/libintl.m4: ...to this.
93021
93022 2000-05-08  Jim Meyering  <meyering@lucent.com>
93023
93024         * lib/long-options.c: Don't include closeout.h.
93025         (parse_long_options): Don't call close_stdout for --version.
93026
93027 2000-05-06  Paul Eggert  <eggert@twinsun.com>
93028
93029         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
93030         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
93031         2.1.3 bug.  This avoids a clash when files like regex.c define
93032         _GNU_SOURCE.
93033
93034 2000-05-06  Jim Meyering  <meyering@lucent.com>
93035
93036         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
93037         (AC_REPLACE_FUNCS): Add strnlen.
93038
93039         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
93040         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
93041
93042         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
93043         AC_SEARCH_LIBS call for nanosleep.
93044         (LIB_NANOSLEEP): Set and AC_SUBST.
93045
93046 2000-05-06  Jim Meyering  <meyering@lucent.com>
93047
93048         * lib/strnlen.c: Undefine __strnlen and strnlen.
93049         [!weak_alias]: Define __strnlen to strnlen.
93050
93051         * lib/atexit.c: New file, from libiberty.
93052
93053 2000-05-06  Jim Meyering  <meyering@lucent.com>
93054
93055         * lib/closeout.c (close_stdout_status): Also check for errors on the
93056         stderr stream.
93057
93058 2000-05-05  Jim Meyering  <meyering@lucent.com>
93059
93060         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
93061         AC_SEARCH_LIBS call for clock_gettime.
93062         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
93063
93064         * m4/search-libs.m4: Update from autoconf.
93065
93066         su doesn't work on Solaris 2.6.
93067         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
93068         <shadow.h>.  Reported by Dragos Harabor.
93069
93070 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
93071
93072         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
93073         memcpy instead of xmalloc, xrealloc, path_concat.
93074         (locale_charset): Treat empty environment variables as absent.
93075         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
93076
93077 2000-05-04  Jim Meyering  <meyering@lucent.com>
93078
93079         * lib/getopt.c: Update from glibc.
93080         * lib/obstack.c: Likewise.
93081         * lib/obstack.h: Likewise.
93082         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
93083         file
93084
93085         * lib/regex.h: Likewise.
93086         * lib/strndup.c: Likewise.
93087         * lib/strnlen.c: New file, from glibc.
93088
93089 2000-05-03  Jim Meyering  <meyering@lucent.com>
93090
93091         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
93092
93093 2000-05-02  Paul Eggert  <eggert@twinsun.com>
93094
93095         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
93096         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
93097         compile-time test, rather than inspecting host and OS, to
93098         decide whether to define _LARGEFILE_SOURCE.
93099
93100 2000-05-01  Jim Meyering  <meyering@lucent.com>
93101
93102         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
93103
93104         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
93105         Based on a patch from Bruno Haible.
93106
93107 2000-05-01  Jim Meyering  <meyering@lucent.com>
93108
93109         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
93110
93111 2000-04-29  Jim Meyering  <meyering@lucent.com>
93112
93113         * lib/path-concat.c: Declare strdup only if it's not defined.
93114         * lib/canon-host.c: Likewise.
93115
93116 2000-04-28  Jim Meyering  <meyering@lucent.com>
93117
93118         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
93119         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
93120         is included first, then limits.h is included by locale.h by libintl.h.
93121         From John David Anglin.
93122
93123 2000-04-25  Jim Meyering  <meyering@lucent.com>
93124
93125         * lib/makepath.c (S_IRWXUGO): Define.
93126         (make_path): Always perform explicit chmod if MODE specifies any
93127         of the `special' permission bits.  Prompted by a bug report against
93128         install from Mate Wierdl and Joost van Baal.
93129
93130 2000-04-18  Jim Meyering  <meyering@lucent.com>
93131
93132         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
93133         (jm_PREREQ): Use it.
93134
93135 2000-04-18  Jim Meyering  <meyering@lucent.com>
93136
93137         * lib/README: New file.
93138
93139         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
93140         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
93141
93142 2000-04-17  Jim Meyering  <meyering@lucent.com>
93143
93144         Get it right :-)
93145         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
93146         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
93147         Suggestion from Akim Demaille.
93148
93149 2000-04-17  Jim Meyering  <meyering@lucent.com>
93150
93151         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
93152         the definition of it to rpl_strftime also defined-away the system's
93153         declaration.
93154
93155 2000-04-15  Jim Meyering  <meyering@lucent.com>
93156
93157         Use `C' to denote so-called `contiguous' files, the same way
93158         that tar does.
93159         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
93160         (ftypelet): Use S_ISCTG.
93161         From Michael Deutschmann.
93162
93163 2000-04-14  Jim Meyering  <meyering@lucent.com>
93164
93165         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
93166         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
93167         clobbered.
93168
93169 2000-04-14  Jim Meyering  <meyering@lucent.com>
93170
93171         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
93172
93173 2000-04-13  Jim Meyering  <meyering@lucent.com>
93174
93175         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
93176         AH_VERBATIM to insert required #ifndef into config.h.in.
93177         Suggestion from Akim Demaille.
93178
93179 2000-04-12  Jim Meyering  <meyering@lucent.com>
93180
93181         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
93182         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
93183         Christian Krackowizer.
93184
93185         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
93186         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
93187         (AC_SYS_LARGEFILE): Require.
93188         (AM_C_PROTOTYPES): Require.
93189
93190 2000-04-08  Jim Meyering  <meyering@lucent.com>
93191
93192         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
93193         names don't conflict.  Reported by Eli Zaretskii.
93194
93195 2000-04-07  Jim Meyering  <meyering@lucent.com>
93196
93197         * lib/putenv.c: Move inclusion of errno.h so it follows that of
93198         sys/types.h, to work around system header problems on AIX 3.2.5.
93199         From Bruno Haible.
93200
93201 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
93202
93203         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
93204         bug.  Deal with the different error behavior of Irix iconv.
93205
93206 2000-04-05  Paul Eggert  <eggert@twinsun.com>
93207
93208         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
93209         IRIX if the installer said otherwise.
93210
93211 2000-04-05  Jim Meyering  <meyering@lucent.com>
93212
93213         Portability tweaks required for ultrix4.3.
93214         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
93215         (jm_CHECK_DECLS): Add getutent to the list of functions.
93216         (_jm_DECL_HEADERS): Add utmpx.h.
93217         From John David Anglin.
93218
93219         * m4/strftime.m4: Back out the 2000-04-02 change.
93220         Instead of that change, simply undefine putenv in the test program.
93221
93222 2000-04-05  Jim Meyering  <meyering@lucent.com>
93223
93224         Portability tweaks required for ultrix4.3.
93225         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
93226         getutent.
93227         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
93228         * lib/canon-host.c: Declare strdup.
93229         * lib/path-concat.c: Likewise.
93230         From John David Anglin.
93231
93232 2000-04-04  Jim Meyering  <meyering@lucent.com>
93233
93234         Be more DOS 8.3-friendly.
93235         * lib/ref-add.sin: Renamed from ref-add.sed.in.
93236         * lib/ref-del.sin: Renamed from ref-del.sed.in.
93237         * lib/Makefile.am: Reflect renaming.
93238         Reported by Eli Zaretskii.
93239
93240         Use a temporary file name that won't clash with `charset.alias'
93241         in the DOS 8.3 name space.
93242         * lib/Makefile.am (charset_tmp): Define.
93243         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
93244         (uninstall-local): Likewise.
93245         Reported by Eli Zaretskii.
93246
93247 2000-04-03  Jim Meyering  <meyering@lucent.com>
93248
93249         * m4/gettext.m4: Fix typo in comment.
93250
93251         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
93252         textutils/configure.in).  Suggestion from Paul Eggert.
93253         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
93254
93255 2000-04-02  Paul Eggert  <eggert@twinsun.com>
93256
93257         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
93258         variable in the shell rather than using putenv, which isn't
93259         portable.  This avoids the configure-time inter-test dependency
93260         on the potentially-renamed putenv function.
93261
93262 2000-03-30  Paul Eggert  <eggert@twinsun.com>
93263
93264         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
93265         before checking struct stat.st_blksize, so that
93266         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
93267
93268 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93269
93270         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
93271         since strftime.c uses HAVE_STRFTIME to decide whether to use
93272         the underlying strftime.
93273
93274 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93275
93276         * lib/time/strftime.c (my_strftime): Make sure we call the system
93277         strftime, not ourselves, when invoking the underlying strftime.
93278
93279 2000-03-24  Jim Meyering  <meyering@lucent.com>
93280
93281         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
93282         (charset_alias): Define.
93283         (install-exec-local): Factor out common code.
93284         (uninstall-local): Split lines longer than 80.
93285         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
93286         (SUFFIXES): Define.
93287         (.sed.in.sed): New rule.  Don't redirect directly to $@.
93288         (CLEANFILES): Add ref-add.sed and ref-del.sed.
93289
93290 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
93291
93292         * lib/config.charset: Output a line containing "Packages using this
93293         file".
93294         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
93295         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
93296         ref-del.sed): New rules.
93297
93298 2000-03-17  Jim Meyering  <meyering@lucent.com>
93299
93300         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
93301         Otherwise, include <strings.h>
93302
93303 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
93304
93305         * lib/unicodeio.c (utf8_wctomb): New function.
93306         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
93307         format instead of in UCS-4 with platform dependent endianness.
93308
93309 2000-03-10  Jim Meyering  <meyering@lucent.com>
93310
93311         * m4/lib-check.m4: Look for getspnam in -lgen, too.
93312         From Marco Franzen.
93313
93314 2000-03-07  Paul Eggert  <eggert@twinsun.com>
93315
93316         * lib/savedir.c (savedir): Work even if directory size is
93317         negative; this can happen with some screwy NFS configurations.
93318
93319 2000-03-06  Jim Meyering  <meyering@lucent.com>
93320
93321         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
93322         if it's NULL (because we ran out of memory).  From Bruno Haible.
93323
93324 2000-03-05  Jim Meyering  <meyering@lucent.com>
93325
93326         * lib/localcharset.c ("path-concat.h"): Include.
93327         (get_charset_aliases): Use path_concat instead of ANSI string
93328         concatenation.
93329
93330         * lib/unicodeio.h (PARAMS): Define.
93331         Use it to guard prototype.
93332
93333 2000-03-04  Jim Meyering  <meyering@lucent.com>
93334
93335         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
93336         for lib/localcharset.c.
93337
93338 2000-03-04  Jim Meyering  <meyering@lucent.com>
93339
93340         * lib/Makefile.am (install-exec-local): Create $(libdir) before
93341         installing into it.
93342         (uninstall-local): Uncomment this rule so `make distcheck' works
93343         once again.
93344
93345         * lib/unicodeio.c (<errno.h>): Include it.
93346         (errno): Declare if not defined.
93347
93348         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
93349
93350         * lib/config.charset: New version, incorporating remarks from a linux
93351         i18n mailing list.  From Bruno Haible.
93352
93353 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
93354
93355         * m4/codeset.m4: New file.
93356         * m4/iconv.m4: New file.
93357         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
93358
93359 2000-03-03  Jim Meyering  <meyering@lucent.com>
93360
93361         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
93362
93363 2000-03-02  Jim Meyering  <meyering@lucent.com>
93364
93365         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
93366         the messages come out on separate lines.
93367
93368         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
93369         rather than jm_CHECK_DECLARATIONS.
93370         * m4/decl.m4: Remove now-unused file.
93371
93372         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
93373         geteuid.
93374
93375 2000-03-02  Jim Meyering  <meyering@lucent.com>
93376
93377         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
93378
93379 2000-03-01  Jim Meyering  <meyering@lucent.com>
93380
93381         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
93382         * lib/unicodeio.c: Likewise.
93383
93384 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
93385
93386         * lib/config.charset: New file.
93387         * lib/localcharset.c: New file.
93388         * lib/unicodeio.h, lib/unicodeio.c: New files.
93389         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
93390         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
93391         (noinst_HEADERS): Add unicodeio.h.
93392         (all-local, install-exec-local, charset.alias): New targets.
93393
93394 2000-02-28  Paul Eggert  <eggert@twinsun.com>
93395
93396         * lib/quotearg.c (ALERT_CHAR): New macro.
93397         (quotearg_buffer_restyled): Use it.
93398
93399 2000-02-27  Jim Meyering  <meyering@lucent.com>
93400
93401         * m4/check-decl.m4: Add getenv to the list.
93402
93403 2000-02-27  Jim Meyering  <meyering@lucent.com>
93404
93405         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
93406         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
93407
93408         * lib/backupfile.c: Guard inclusion of stdlib.h with
93409         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
93410         Declare malloc if needed.
93411
93412         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
93413         `#ifndef HAVE_DECL..'
93414         now that autoconf always defines the HAVE_DECL_ symbols.
93415         * lib/human.c: Likewise.
93416         * lib/same.c: Likewise.
93417         * lib/strtoumax.c: Likewise.
93418
93419         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
93420         declaration check was not run.
93421         * lib/hash.c: Likewise.
93422         * lib/human.c: Likewise.
93423         * lib/same.c: Likewise.
93424         * lib/strtoumax.c: Likewise.
93425
93426         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
93427         `.', then first look up the entire `.'-containing string as a login
93428         name.
93429
93430 2000-02-23  Jim Meyering  <meyering@lucent.com>
93431
93432         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
93433         in place of my hack.
93434
93435 2000-02-18  Paul Eggert  <eggert@twinsun.com>
93436
93437         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
93438         (textint): New typedef.
93439         (parser_control): Member year changed from int to textint.
93440         All uses changed.
93441         (YYSTYPE): Removed; replaced by %union with int and textint members.
93442         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
93443         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
93444         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
93445         (tSNUMBER, tUNUMBER): Now of type <textintval>.
93446         (date, number, to_year): Use width of number in digits, not its value,
93447         to determine whether it's a 2-digit year, or a 2-digit time.
93448         (yylex): Store number of digits of numeric tokens.
93449         Reported by John Kendall.
93450
93451         (parser_control): Changed from struct parser_control to typedef (for
93452         consistency).  All uses changed.
93453
93454         (tID): Removed; not used.
93455         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
93456
93457 2000-02-14  Paul Eggert  <eggert@twinsun.com>
93458
93459         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
93460         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
93461
93462 2000-02-12  Jim Meyering  <meyering@lucent.com>
93463
93464         * lib/userspec.c (ISDIGIT): Define it.
93465         (isdigit): Remove definition.
93466         (is_number): Use ISDIGIT, not isdigit.
93467         <libintl.h>: Include.
93468         (_ and N_): Define.
93469         (parse_user_spec): Mark translatable strings.
93470
93471 2000-02-10  Jim Meyering  <meyering@lucent.com>
93472
93473         With these changes, nanosleep.[ch] are finally enough like the other
93474         lib/* replacement files to compile on a few more losing systems.
93475
93476         * lib/nanosleep.h: Don't include config.h.
93477         Remove prototype from declaration of nanosleep.
93478         (PARAMS): Remove now-unneeded definition.
93479         * lib/nanosleep.c: #undef nanosleep.
93480         (rpl_nanosleep): Rename from nanosleep.
93481
93482 2000-02-10  Jim Meyering  <meyering@lucent.com>
93483
93484         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
93485         gnu_nanosleep to rpl_nanosleep.
93486
93487 2000-02-09  Jim Meyering  <meyering@lucent.com>
93488
93489         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
93490         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
93491
93492 2000-02-08  Akim Demaille  <akim@epita.fr>
93493
93494         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
93495         `[' and `]' and remove uses of `changequote'.
93496         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
93497         (AC_SYS_LARGEFILE): Likewise.
93498         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
93499         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
93500         of changequote.
93501         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
93502         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
93503         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
93504         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
93505
93506 2000-02-05  Jim Meyering  <meyering@lucent.com>
93507
93508         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
93509         Remove explicit use of AC_HEADER_TIME.  It is required by
93510         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
93511         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
93512         in autoconf whereby the expansion of the latter ended up preceding
93513         the expansion of its prerequisite, AC_HEADER_TIME.
93514         Reported by Volker Borchert.
93515
93516 2000-02-03  Jim Meyering  <meyering@lucent.com>
93517
93518         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
93519
93520 2000-02-03  Jim Meyering  <meyering@lucent.com>
93521
93522         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
93523         rather than with `#if HAVE_UTMPNAME'.
93524
93525 2000-02-02  Jim Meyering  <meyering@lucent.com>
93526
93527         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
93528         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
93529         Reported by Eli Zaretskii.
93530
93531 2000-02-01  Jim Meyering  <meyering@lucent.com>
93532
93533         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
93534
93535 2000-01-31  Jim Meyering  <meyering@lucent.com>
93536
93537         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
93538         functions.  Add the time.h and sys/time.h headers along with the
93539         AC_REQUIRE'ment of AC_HEADER_TIME.
93540
93541 2000-01-31  Jim Meyering  <meyering@lucent.com>
93542
93543         * lib/nanosleep.h (nanosleep): Guard declaration with
93544         `#if ! HAVE_DECL_NANOSLEEP'.
93545         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
93546         the declaration in that vendor's sys/timers.h.
93547         Reported by Christian Krackowizer.
93548
93549         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
93550         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
93551         (ISPRINT): Likewise.
93552         Reported by Tom Tromey.
93553
93554 2000-01-30  Jim Meyering  <meyering@lucent.com>
93555
93556         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
93557
93558         * m4/prereq.m4 (utmp_includes): Define.
93559         Check for ut_user and ut_name members in both struct utmpx
93560         and struct utmp.
93561
93562 2000-01-30  Jim Meyering  <meyering@lucent.com>
93563
93564         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
93565         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
93566         header files where only utmpx.ut_user is declared.
93567
93568         * lib/readutmp.h (UT_USER): Define.
93569
93570 2000-01-29  Jim Meyering  <meyering@lucent.com>
93571
93572         * m4/lib-check.m4: New file containing library-related checks from
93573         fileutils and sh-utils (textutils had none).
93574
93575 2000-01-28  Jim Meyering  <meyering@lucent.com>
93576
93577         * m4/perl.m4: Change format of warning message to look more like that
93578         from the missing script.  Suggestion from François Pinard.
93579
93580 2000-01-25  Jim Meyering  <meyering@lucent.com>
93581
93582         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
93583         well as time.h in the compile check.
93584         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
93585         Fix typo in cross-compiling case: s/yes/no/.
93586
93587 2000-01-23  Jim Meyering  <meyering@lucent.com>
93588
93589         * m4/jm-macros.m4: Move df-related tests here from
93590         fileutils/configure.in
93591
93592         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
93593         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
93594
93595         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
93596         s/space/ac_fsusage_space/.
93597         (jm_FILE_SYSTEM_USAGE): Take two parameters.
93598
93599         * m4/ftruncate.m4: New file (derived from part of
93600         fileutils/configure.in).
93601         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
93602         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
93603
93604         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
93605         AC_SUBST these here, rather than just in sh-util/configure.in, so
93606         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
93607         all the same.
93608         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
93609         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
93610         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
93611         (AC_SUBST(POW_LIBM)): Likewise.
93612         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
93613
93614 2000-01-23  Jim Meyering  <meyering@lucent.com>
93615
93616         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
93617         obstack.c.
93618
93619 2000-01-22  Jim Meyering  <meyering@lucent.com>
93620
93621         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
93622
93623         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
93624
93625         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
93626         configure.in
93627         (AC_CHECK_HEADERS): Likewise for sh-utils.
93628         (AC_CHECK_HEADERS): Likewise for textutils.
93629         Merge the three lists of headers.
93630
93631         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
93632         from fileutils' configure.in.
93633
93634         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
93635         code. Moved tests into their own function (_jm_DECL_HEADERS) in
93636         check-decl.m4.
93637
93638         * m4/check-decl.m4: Use #if rather than #ifdef.
93639         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
93640         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
93641         (_jm_DECL_HEADERS): Define new function.
93642         (jm_CHECK_DECLARATIONS): Require it.
93643
93644 2000-01-22  Jim Meyering  <meyering@lucent.com>
93645
93646         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
93647         [! HAVE_DECL_STRTOULL]: Declare strtoull.
93648         Required for some AIX systems.  Reported by Christian Krackowizer.
93649         [TESTING] (main): New function.
93650
93651         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
93652         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
93653         letters.
93654
93655         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
93656         iswprint.
93657
93658         * lib/strverscmp.c (ISDIGIT): Define.
93659         (strverscmp): Use ISDIGIT, not isdigit.
93660
93661 2000-01-19  Jim Meyering  <meyering@lucent.com>
93662
93663         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
93664         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
93665         defines `struct timespec' in <sys/time.h>
93666
93667         * m4/c-bs-a.m4: Remove uses of changequote altogether.
93668         Thanks to Akim for explaining.
93669
93670 2000-01-17  Paul Eggert  <eggert@twinsun.com>
93671
93672         * lib/nanosleep.c (nanosleep):
93673         Don't use SA_INTERRUPT to decide whether to call sigaction, as
93674         POSIX.1 doesn't require SA_INTERRUPT and some systems
93675         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
93676         it's been part of POSIX.1 since day 1 (in 1988).
93677
93678 2000-01-17  Jim Meyering  <meyering@lucent.com>
93679
93680         * lib/interlock: Remove unused file.  Reported by François Pinard.
93681
93682 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93683
93684         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93685         alert, backslash, formfeed, and vertical tab unnecessarily in
93686         shell quoting style.
93687
93688 2000-01-16  Jim Meyering  <meyering@lucent.com>
93689
93690         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93691         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93692         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93693         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93694
93695 2000-01-16  Jim Meyering  <meyering@lucent.com>
93696
93697         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93698         because the latter didn't work.
93699
93700 2000-01-15  Jim Meyering  <meyering@lucent.com>
93701
93702         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93703         (AC_REPLACE_FUNCS): Add memcpy and memset.
93704         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93705         Add strpbrk.
93706         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93707
93708 2000-01-12  Jim Meyering  <meyering@lucent.com>
93709
93710         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93711         (jm_PREREQ): Use it.
93712         (jm_PREREQ_READUTMP): New macro.
93713         (jm_PREREQ): Use it.
93714
93715 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93716
93717         Quote multibyte characters correctly.
93718         * m4/c-bs-a.m4: New file.
93719         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93720         (jm_PREREQ): Use it.
93721
93722 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93723
93724         * m4/uintmax_t.m4: Port to autoconf 2.13.
93725
93726 2000-01-08  Jim Meyering  <meyering@ascend.com>
93727
93728         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93729         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93730
93731 2000-01-04  Jim Meyering  <meyering@ascend.com>
93732
93733         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93734         jm_STRUCT_DIRENT_D_TYPE.
93735         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93736         jm_STRUCT_DIRENT_D_INO.
93737         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93738         jm_STRUCT_UTIMBUF.
93739         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93740         renamings.
93741         * m4/utime.m4: Likewise.
93742
93743         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93744         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93745
93746 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93747
93748         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93749         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93750
93751 2000-01-02  Jim Meyering  <meyering@ascend.com>
93752
93753         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93754         remember if this is necessary.
93755
93756 1999-12-26  Jim Meyering  <meyering@ascend.com>
93757
93758         * m4/jm-macros.m4: Use it here.
93759         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93760
93761 1999-12-23  Jim Meyering  <meyering@ascend.com>
93762
93763         * m4/jm-macros.m4: Check for clock_gettime (moved from
93764         fileutils/configure.in)
93765         Check for gettimeofday.
93766
93767 1999-12-20  Jim Meyering  <meyering@ascend.com>
93768
93769         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93770         autoconf-2.14a-1999-12-20.
93771
93772 1999-12-19  Jim Meyering  <meyering@ascend.com>
93773
93774         * m4/lstat-slash.m4: New file.
93775         * m4/jm-macros.m4: Use the new macro:
93776         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93777
93778 1999-12-07  Jim Meyering  <meyering@ascend.com>
93779
93780         * m4/perl.m4: Require that File::Compare be available, too.
93781         Too many systems seem to lack it.
93782
93783         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93784         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93785
93786 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93787
93788         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93789         problem with the QNX 4.25 shell, which doesn't propagate exit
93790         status of failed commands inside shell assignments.
93791
93792 1999-11-17  Jim Meyering  <meyering@ascend.com>
93793
93794         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93795
93796 1999-11-07  Jim Meyering  <meyering@ascend.com>
93797
93798         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93799
93800 1999-11-06  Jim Meyering  <meyering@ascend.com>
93801
93802         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93803         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93804
93805 1999-11-05  Jim Meyering  <meyering@ascend.com>
93806
93807         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93808         configure.in of textutils, fileutils, and sh-utils into this one
93809         (shared between those packages) file.
93810         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93811         AC_STRUCT_ST_BLKSIZE.
93812
93813 1999-11-03  Jim Meyering  <meyering@ascend.com>
93814
93815         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93816         of AC_CHECK_TYPE checks includes unistd.h.
93817         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93818         Suggestion from Akim Demaille.
93819
93820 1999-10-30  Jim Meyering  <meyering@ascend.com>
93821
93822         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
93823         m4-quoted string.
93824         * m4/ls-mntd-fs.m4: Likewise.
93825         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
93826         * m4/jm-winsz1.m4: Likewise.
93827
93828         * m4/const.m4: Remove file, since the fix made it into the experimental
93829         version of autoconf.
93830         * m4/mktime.m4: Likewise.
93831
93832         * m4/check-type.m4: Remove file, now that the latest version of
93833         AC_CHECK_TYPE takes a third arg to specify additional #includes.
93834
93835         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
93836         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
93837         AC_CHECK_TYPE.
93838
93839 1999-10-04  Jim Meyering  <meyering@ascend.com>
93840
93841         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
93842
93843 1999-09-22  Paul Eggert  <eggert@twinsun.com>
93844
93845         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93846         2.95.1 bug with HP-UX 10.20.
93847
93848 1999-09-17  Jim Meyering  <meyering@ascend.com>
93849
93850         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93851         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93852         due to missing strdup (against sh-utils-2.0).
93853
93854 1999-08-29  Jim Meyering  <meyering@ascend.com>
93855
93856         * m4/jm-macros.m4: Require jm_BISON.
93857         * m4/bison.m4: New file.
93858
93859 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93860
93861         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93862         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93863
93864 1999-08-05  Jim Meyering  <meyering@ascend.com>
93865
93866         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93867         to avoid conflicts with `conftest' on 8+3 filesystems.
93868         Suggestion from Eli Zaretskii.
93869
93870 1999-08-04  Jim Meyering  <meyering@ascend.com>
93871
93872         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93873         fileutils and sh-utils (textutils's getline test was inadequate).
93874         (AM_FUNC_GETLINE): Run this test.
93875         (AC_CHECK_FUNCS): Check for getdelim.
93876         Reported by Bob Proulx.
93877
93878 1999-08-02  Jim Meyering  <meyering@ascend.com>
93879
93880         * m4/jm-macros.m4: Add a comment.
93881
93882 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93883
93884         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93885         <inttypes.h> defines strtoumax as a macro (and not as a
93886         function).
93887
93888 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93889
93890         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93891         that we can shift, multiply and divide unsigned long long
93892         values; Ultrix cc can't do it.
93893
93894 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93895
93896         * m4/mktime.m4: New file, which is a preview of what should appear
93897         in the next public autoconf release.
93898
93899 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93900
93901         * m4/lfs.m4: Remove this file.
93902         * m4/largefile.m4: New file.  It contains the old contents of
93903         lfs.m4, except that all names with prefix AC_LFS have been
93904         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93905         compatible with future autoconf versions.  Also, some minor m4
93906         quoting problems have been fixed.
93907
93908 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93909
93910         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93911         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93912         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93913         and simplify the shell code.
93914
93915 1999-08-01  Jim Meyering  <meyering@ascend.com>
93916
93917         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93918         m4.
93919
93920 1999-07-20  Jim Meyering  <meyering@ascend.com>
93921
93922         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93923
93924 1999-07-15  Jim Meyering  <meyering@ascend.com>
93925
93926         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93927
93928 1999-05-22  Jim Meyering  <meyering@ascend.com>
93929
93930         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93931
93932 1999-05-20  Jim Meyering  <meyering@ascend.com>
93933
93934         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93935         Add a colon after each `then' in case $4 is empty.
93936
93937 1999-05-16  Jim Meyering  <meyering@ascend.com>
93938
93939         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93940
93941 1999-05-10  Jim Meyering  <meyering@ascend.com>
93942
93943         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93944
93945         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93946         AC_FUNC_MKTIME.
93947
93948 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93949
93950         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93951
93952 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93953
93954         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93955         not CPPFLAGS, so that linking works correctly in IRIX.
93956
93957 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93958
93959         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
93960
93961 1999-04-20  Paul Eggert  <eggert@twinsun.com>
93962
93963         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
93964         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
93965         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
93966         jm_AC_TYPE_UNSIGNED_LONG_LONG.
93967         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
93968
93969         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
93970
93971 1999-04-20  Jim Meyering  <meyering@ascend.com>
93972
93973         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
93974         AC_REPLACE xstroull if necessary.  From Paul Eggert.
93975         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
93976
93977 1999-04-18  Jim Meyering  <meyering@ascend.com>
93978
93979         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
93980         * m4/jm-macros.m4: Use it.
93981
93982 1999-04-06  Jim Meyering  <meyering@ascend.com>
93983
93984         * m4/strftime.m4: Remove test for %f.
93985
93986 1999-03-29  Jim Meyering  <meyering@ascend.com>
93987
93988         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
93989         superset of the AC_TYPE_* checks in the textutils, fileutils,
93990         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
93991         AC_TYPE_PID_T.
93992
93993 1999-03-28  Jim Meyering  <meyering@ascend.com>
93994
93995         * m4/jm-macros.m4: Define GNU_PACKAGE here.
93996         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
93997         replaced e.g., in the *.sh files of the sh-utils.
93998
93999 1999-03-20  Jim Meyering  <meyering@ascend.com>
94000
94001         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
94002         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
94003         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
94004
94005 1999-03-19  Jim Meyering  <meyering@ascend.com>
94006
94007         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
94008
94009 1999-03-12  Jim Meyering  <meyering@ascend.com>
94010
94011         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
94012
94013 1999-03-07  Jim Meyering  <meyering@ascend.com>
94014
94015         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
94016         declared.
94017
94018 1999-02-17  Jim Meyering  <meyering@ascend.com>
94019
94020         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
94021         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
94022
94023 1999-02-07  Jim Meyering  <meyering@ascend.com>
94024
94025         * m4/group-member.m4: New file -- extracted from sh-utils'
94026         configure.in.
94027
94028         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
94029         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
94030
94031 1999-02-06  Jim Meyering  <meyering@ascend.com>
94032
94033         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
94034         * m4/fnmatch.m4: Likewise.
94035         * m4/getgroups.m4: Likewise.
94036         * m4/lstat.m4: Likewise.
94037         * m4/malloc.m4: Likewise.
94038         * m4/putenv.m4: Likewise.
94039         * m4/realloc.m4: Likewise.
94040         * m4/regex.m4: Likewise.
94041         * m4/stat.m4: Likewise.
94042         * m4/strftime.m4: Likewise.
94043         Suggestion from Alain Magloire.
94044
94045         * m4/chown.m4: Use `.$ac_objext', not `.o'.
94046         * m4/fnmatch.m4: Likewise.
94047         * m4/getgroups.m4: Likewise.
94048         * m4/getline.m4: Likewise.
94049         * m4/lstat.m4: Likewise.
94050         * m4/malloc.m4: Likewise.
94051         * m4/memcmp.m4: Likewise.
94052         * m4/putenv.m4: Likewise.
94053         * m4/realloc.m4: Likewise.
94054         * m4/regex.m4: Likewise.
94055         * m4/stat.m4: Likewise.
94056         * m4/strftime.m4: Likewise.
94057         Suggestion from Alain Magloire.
94058
94059         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
94060         an argument.
94061
94062         * m4/regex.m4: Add a run-time Test for proper operation of
94063         re_compile_pattern.
94064
94065 1999-01-31  Jim Meyering  <meyering@ascend.com>
94066
94067         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
94068
94069 1999-01-30  Jim Meyering  <meyering@ascend.com>
94070
94071         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
94072
94073         * m4/jm-mktime.m4: Make this a wrapper around the official
94074         AM_FUNC_MKTIME rather than my private copy, now that the official one
94075         is up to date.
94076         * m4/mktime.m4: Remove file.
94077
94078         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
94079         * m4/uptime.m4: Likewise.
94080         * m4/uintmax_t.m4: Likewise.
94081
94082 1999-01-28  Jim Meyering  <meyering@ascend.com>
94083
94084         * m4/jm-macros.m4: Use jm_AFS.
94085         * m4/afs.m4: New file (from fileutils' configure.in).
94086
94087         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
94088         * m4/chown.m4: Likewise.
94089         * m4/d-ino.m4: Likewise.
94090         * m4/d-type.m4: Likewise.
94091         * m4/fnmatch.m4: Likewise.
94092         * m4/getgroups.m4: Likewise.
94093         * m4/gettext.m4: Likewise.
94094         * m4/jm-mktime.m4: Likewise.
94095         * m4/jm-winsz2.m4: Likewise.
94096         * m4/lcmessage.m4: Likewise.
94097         * m4/ls-mntd-fs.m4: Likewise.
94098         * m4/malloc.m4: Likewise.
94099         * m4/memcmp.m4: Likewise.
94100         * m4/putenv.m4: Likewise.
94101         * m4/realloc.m4: Likewise.
94102         * m4/st_mtim.m4: Likewise.
94103         * m4/strftime.m4: Likewise.
94104
94105 1999-01-16  Jim Meyering  <meyering@ascend.com>
94106
94107         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
94108         (ARGMATCH_DIE_DECL): Define.
94109
94110 1999-01-12  Jim Meyering  <meyering@ascend.com>
94111
94112         * m4/Makefile.am.in: Rewrite to avoid using fmt.
94113         Reported by Lars Hecking.
94114
94115 1999-01-10  Jim Meyering  <meyering@ascend.com>
94116
94117         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
94118         gross kludge.
94119         * m4/inttypes_h.m4: Likewise.
94120         * m4/lstat.m4: Likewise.
94121         * m4/malloc.m4: Likewise.
94122         * m4/readdir.m4: Likewise.
94123         * m4/realloc.m4: Likewise.
94124         * m4/st_dm_mode.m4: Likewise.
94125         * m4/stat.m4: Likewise.
94126         * m4/utimbuf.m4: Likewise.
94127         * m4/utimes.m4: Likewise.
94128
94129         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
94130         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
94131         comments in config.h.in are meaningful.
94132
94133         * m4/jm-macros.m4: Require autoconf-2.13 here.
94134
94135         * m4/regex.m4: By default, don't use the included regex.c on systems
94136         with glibc 2.  Suggestion from Uli Drepper.
94137
94138 1999-01-02  Jim Meyering  <meyering@ascend.com>
94139
94140         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
94141
94142 1998-12-18  Jim Meyering  <meyering@ascend.com>
94143
94144         * m4/Makefile.am.in (Makefile.am): Simplify rule.
94145         Based on a suggestion from Lars Hecking.
94146
94147 1998-11-16  Paul Eggert  <eggert@twinsun.com>
94148
94149         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
94150
94151 1998-11-16  Jim Meyering  <meyering@ascend.com>
94152
94153         * m4/lfs.m4: Double-quote the `uname...` expression.
94154
94155 1998-11-14  Jim Meyering  <meyering@ascend.com>
94156
94157         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
94158         * m4/stat.m4: Likewise.
94159
94160 1998-11-03  Jim Meyering  <meyering@ascend.com>
94161
94162         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
94163         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
94164
94165 1998-10-18  Jim Meyering  <meyering@ascend.com>
94166
94167         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
94168
94169 1998-10-17  Jim Meyering  <meyering@ascend.com>
94170
94171         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
94172         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
94173         calls for those previously hard-coded headers.  Instead, take a new
94174         parameter.
94175         (jm_CHECK_DECLARATIONS): Reflect interface change.
94176         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
94177         (jm_CHECK_DECL_LOCALTIME_R): New macro.
94178
94179         * m4/mktime.m4: Test for spring-forward gap before long-running test.
94180
94181 1998-10-14  Jim Meyering  <meyering@ascend.com>
94182
94183         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
94184         instead of "TZ=America/Vancouver".  From Paul Eggert.
94185
94186 1998-10-11  Jim Meyering  <meyering@ascend.com>
94187
94188         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
94189         This adds a test for a recently added compatibility fix for mktime.c.
94190         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
94191
94192 1998-09-27  Jim Meyering  <meyering@ascend.com>
94193
94194         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
94195
94196         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
94197         ../configure.in, including a change from Gordon Matzigkeit to allow
94198         cross-compiling for the Hurd.
94199
94200         * m4/glibc.m4: New file/macro to test for the GNU C Library
94201         versions 1 and 2.  From Gordon Matzigkeit.
94202         Indent.
94203
94204 1998-09-21  Jim Meyering  <meyering@ascend.com>
94205
94206         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
94207
94208 1998-08-18  Paul Eggert  <eggert@twinsun.com>
94209
94210         Port nanosecond-resolution times to UnixWare 2.1.2 and
94211         pedantic Solaris 2.6.
94212
94213         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
94214         AC_STRUCT_ST_MTIM.
94215         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
94216         Generate name of ns member, instead of just 1 or undef.
94217         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
94218
94219 1998-08-15  Jim Meyering  <meyering@ascend.com>
94220
94221         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
94222         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
94223         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
94224         instead of jm_TYPE_SSIZE_T.
94225
94226 1998-08-12  Jim Meyering  <meyering@ascend.com>
94227
94228         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
94229
94230 1998-08-02  Jim Meyering  <meyering@ascend.com>
94231
94232         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
94233         in acconfig.h manually.
94234
94235 1998-07-31  Paul Eggert  <eggert@twinsun.com>
94236
94237         * m4/st_mtim.m4: New file.
94238
94239 1998-07-28  Jim Meyering  <meyering@ascend.com>
94240
94241         * m4/utimes.m4: Undef stat.
94242
94243 1998-07-25  Jim Meyering  <meyering@ascend.com>
94244
94245         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
94246         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
94247
94248 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
94249
94250         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
94251         uid and gid actually remain unchanged.
94252
94253 1998-07-07  Jim Meyering  <meyering@ascend.com>
94254
94255         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
94256
94257 1998-07-04  Jim Meyering  <meyering@ascend.com>
94258
94259         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
94260         to prove that this macro can be used in packages without regex.c.
94261
94262 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
94263
94264         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
94265         is to be used.
94266
94267 1998-07-03  Jim Meyering  <meyering@ascend.com>
94268
94269         * m4/gettext.m4: Add -lintl if it's found to be necessary.
94270
94271         * m4/gettext.m4: New file -- from gettext-0.10.35.
94272         * m4/lcmessage.m4: Likewise.
94273         * m4/progtest.m4: Likewise.
94274
94275         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
94276         * m4/jm-macros.m4: Require the new macro.
94277
94278 1998-06-29  Jim Meyering  <meyering@ascend.com>
94279
94280         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
94281         for the definition of NGROUPS (used in a system header included
94282         by sys/mount.h).
94283
94284 1998-06-28  Jim Meyering  <meyering@ascend.com>
94285
94286         * m4/ls-mntd-fs.m4: New file.
94287         * m4/fstypename.m4: New file.
94288
94289         * m4/jm-macros.m4: Require the new macro.
94290         * m4/jm-glibc-io.m4: New file.
94291
94292 1998-05-19  Jim Meyering  <meyering@ascend.com>
94293
94294         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
94295         * m4/lchown.m4: New file.
94296
94297         * m4/Makefile.am.in: New file.
94298         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
94299
94300 1998-05-14  Jim Meyering  <meyering@ascend.com>
94301
94302         * m4/Makefile.am (EXTRA_DIST): Add them.
94303         * m4/jm-macros.m4: New file.
94304         * m4/utimbuf.m4: New file.
94305
94306 1998-05-12  Jim Meyering  <meyering@ascend.com>
94307
94308         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
94309
94310 1998-05-11  Jim Meyering  <meyering@ascend.com>
94311
94312         * m4/isc-posix.m4: New file.
94313
94314 1998-05-10  Jim Meyering  <meyering@ascend.com>
94315
94316         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
94317
94318 1998-05-09  Jim Meyering  <meyering@ascend.com>
94319
94320         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
94321         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
94322         with automake.
94323
94324         * m4/ssize_t.m4: New file.
94325         * m4/mktime.m4: Remove file -- the new automake has this now.
94326
94327 1998-04-26  Jim Meyering  <meyering@ascend.com>
94328
94329         * m4/assert.m4: New file.
94330         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
94331
94332 1998-04-05  Jim Meyering  <meyering@ascend.com>
94333
94334         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
94335         (jm_PREREQ): Use it here.
94336
94337 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
94338
94339         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
94340         in acconfig.h.
94341
94342 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
94343
94344         * m4/prereq.m4: New file.
94345         * m4/error.m4: New file.
94346         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
94347
94348 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
94349
94350         * m4/getline.m4: Don't set am_cv_func_working_getline before the
94351         cache-check for the same variable -- that defeated the purpose of
94352         the test; the test program was never run.  This was a problem only
94353         on systems with losing getline functions -- HP-UX 10.20 is one.
94354         Reported by Bjorn Helgaas.
94355
94356 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
94357
94358         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
94359
94360 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
94361
94362         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
94363
94364         * m4/const.m4: New file.  Use an initializer in this declaration
94365         typedef int charset[2]; const charset x;
94366         Reported by Bob Glickstein.
94367
94368 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
94369
94370         * m4/chown.m4: Fix reversed types on -1 args to chown.
94371         From Kaveh Ghazi.
94372
94373 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
94374
94375         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
94376         Add lseek and memchr.
94377
94378         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
94379         T.E.Dickey <dickey@clark.net> said that some older preprocessors
94380         have a 20-character limit on names.
94381
94382 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
94383
94384         * m4/inttypes_h.m4: New file.
94385         * m4/uintmax_t.m4: New file.
94386         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
94387
94388
94389         -----
94390
94391         Local Variables:
94392         coding: utf-8
94393         End:
94394
94395         Copyright (C) 1997-2012 Free Software Foundation, Inc.
94396
94397         Copying and distribution of this file, with or without
94398         modification, are permitted provided the copyright notice
94399         and this notice are preserved.